<SEC-DOCUMENT>0001104659-23-046692.txt : 20230418
<SEC-HEADER>0001104659-23-046692.hdr.sgml : 20230418
<ACCEPTANCE-DATETIME>20230418160111
ACCESSION NUMBER:		0001104659-23-046692
CONFORMED SUBMISSION TYPE:	20-F
PUBLIC DOCUMENT COUNT:		155
CONFORMED PERIOD OF REPORT:	20221231
FILED AS OF DATE:		20230418
DATE AS OF CHANGE:		20230418

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Canadian Solar Inc.
		CENTRAL INDEX KEY:			0001375877
		STANDARD INDUSTRIAL CLASSIFICATION:	SEMICONDUCTORS & RELATED DEVICES [3674]
		IRS NUMBER:				000000000
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		20-F
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-33107
		FILM NUMBER:		23826769

	BUSINESS ADDRESS:	
		STREET 1:		545 SPEEDVALE AVENUE
		STREET 2:		WEST GUELPH
		CITY:			ONTARIO
		STATE:			A6
		ZIP:			N1K 1E6
		BUSINESS PHONE:		(86-512) 6690-8088

	MAIL ADDRESS:	
		STREET 1:		NO. 199 LUSHAN ROAD, SUZHOU NEW DISTRICT
		STREET 2:		SUZHOU
		CITY:			JIANGSU
		STATE:			F4
		ZIP:			215129
</SEC-HEADER>
<DOCUMENT>
<TYPE>20-F
<SEQUENCE>1
<FILENAME>csiq-20221231x20f.htm
<DESCRIPTION>FORM 20-F
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.2.5.9 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 4/18/2023 5:38:24 PM -->
      <!-- iXBRL Library version: 1.0.8476.13996 -->
      <!-- iXBRL Service Job ID: fdeec15c-4e5a-4425-90c6-3e458a8cd6a3 -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:csiq="http://www.canadiansolar.com/20221231" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2022" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" xs:nil="true" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" name="us-gaap:CommitmentsAndContingencies" id="Hidden_TNoXXhjk-U2hI-GVKoTDGg"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" xs:nil="true" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_U5EXFWWsZky1nhZNnOCsjg"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityCentralIndexKey" id="Tc_dgdgr-dNbkKJhhpIY2F-WQ_2_1">0001375877</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentFiscalYearFocus" id="Tc_SAtT5QPrlkyHBrbQH6yz1Q_4_1">2022</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentFiscalPeriodFocus" id="Tc_bwwZZDofCEm2kz28FitiXQ_5_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:AmendmentFlag" id="Tc_z5ifGKhj9kic4Z2uNFT_9g_6_1">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_93BcSaq2GE2OJzdYDaMVaw">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_BkNHC87l90eX0U2RnjIsqg">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_sFLX0X8hVUWD-4ozKcwPEQ">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_MjDLUxTZaU65TJmmryl68A">64506055</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_PMazvvIONUe4nMyMirKcwg">64022678</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_MUI0Hs4i-UWlS0wnDlHGrQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_xi-hcSuPskCs8cLuNDV5sQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" id="Hidden_X41kEkCh4UmEJSsmku8NvQ">0.20</ix:nonFraction><ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_fABpZzIpOk-x8U7lksz8Cg">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_ZpeYQQuy1023lBvr_RvBDg">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" name="us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" id="Hidden_Tek3YO5uCkiiEpdXHPnrpg">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_1LvL-xv2mkeNujMCoY0EMg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_pS-Go_5FLU2fFAyjeOmIPg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_rX8mKLfInEixfE-FxeSSeA">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_lRXaAHW03E6vCsPZ9oMrLg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_MMEOmfiFiUGvrWM6wp5wpQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_kyTZTIb-nEa-mkyLsy99lQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_5FFKGbxPDkGKxFAQFeG8RQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_ZKUChQhi4EmS0C1BedBjBg">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_FaLdBc66G0qw20KSBvX4wA">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_PAUKuvclakqwXFFUNtLlUQ">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_FAAp62kiqUu-wCBayzceYQ" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_M6CBjTP4X0SQ9Wbj1KLxcA">0.20</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA" decimals="2" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" id="Hidden_a2e5dw9jGkaHi-Y-vsnysw">0.20</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fGBf88cYekml7cQKpx8K7A" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden_hHHFnlg--0ahbYTGzML0Aw">P1Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_v889Mdoye0OivQEkgpMurA" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" id="Hidden_MEszL5kOZEGqXfw7Ya9ExQ">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_Oit_EeO33UeiGoJICdXP6A" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" id="Hidden_2OvoXvOiCkWZP2iuw8kCow">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_lHlIklC8p0StPMDjXSNvdQ">59820384</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_ritm_IutKEWOsQ5pE7DhWQ">64022678</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="csiq-20221231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-03-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></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="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LeadingInstitutionalInvestorsAndStrategicPartnersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TdspSFJ4JEWSykRh4mBg7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_bFA1vFgm8USc6CcorqBakQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_uYrMFSK5NEiPeNkXjP28UQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-05</xbrli:startDate><xbrli:endDate>2021-03-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I7iNmz4-zEa7gkJ7gO6qhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_q3KVlYHWmUi0Zi9xWywk1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_o8L1xG138UOtyMZvZV912Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iS7NYSfTrUGdV6Y4H4_6xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Lx0ejc_P3UugFGoOzo8yTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_rdPq5g27WkulCBxvD_VsSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_3rajKwae_EKe8ODvDWkLUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_coCIkVLbc0yMd_x7_r1Vqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Xn__e6iv4EyQ5e8Ot6r2zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_EoEus6OswEKw-orO6RLWAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_f9_vWVmP6Uesxjf7CYuskg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_GWVD8qdfiEOAwRNL_q6Qrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_a5FJxFfufU-ccDeCHsYHxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_PmbSj5TJpkCdGTizANPZTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_VnFwoVlMf0CPp1dAWQpG-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_SK8rdV1-o0O8Bbi3rcgA9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hUhJFAR8MEOU8taO2dyijQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U_81-tAp2EOIU22M1RVQdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_e-pOWszkV06fveC827vkPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_QD17Z9MA50GdRvaliUUgvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember__04d94lhVEOKxcxbPEnr5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</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="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_nKnbms559U-pJettpmyfIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2010-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OdvP_vJCuE2M673Dmicp1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_Ac77P4jY2EuX0C89UXZLUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_Ipx2-GFfUkOTkm9JI0qMYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_Oit_EeO33UeiGoJICdXP6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2022-10-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_l98oXr8BxU6s7PYda74TJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2022-10-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-10-25</xbrli:startDate><xbrli:endDate>2022-10-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_v889Mdoye0OivQEkgpMurA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_6_bPNl1Ya0q7-MPU1hC-3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fGBf88cYekml7cQKpx8K7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_DGrio27ms0eRlJrpceiH_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_0Mi09qqkYE2_g51uC4_0Qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_nH-JblooIUyb8HKQ5YdPWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_LZqghPqAkk6Bxmy6cwoBWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_FAAp62kiqUu-wCBayzceYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_dJqrak8h9kq22R_hz6eYfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_cF1DrbyhxE6hCqkgFcBtYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_Kfye0lRU106Tx9QBYYAl8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_AllP6KYsLU6KfOuDCPQB7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_qg45PgODJE-ReTONRIKhZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2Z0D4RCkA0-pq2NIam5fkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_APswTh2QfU67Df9ay32KkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_3U4mSeGtfECB7Kx_FmhROQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_O0LHsPjmXEqP55phlirSbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_xZkfM4_9xEWPTFx94W3T8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_5ssGvNdPnUKZYZHXTOSfRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_DJTXy6CEG0-AV8ylCKc3vA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasVSolarRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIvSolarRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_jM4CmQ6MT0Wj0ztUMxMHow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_0dZ5Ua4ALUOBrU-YlwSSxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</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="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_WmVo7rnnuEGrQal9Fflqnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_oEjbBL6pUUqYnCNIJL8JRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_AlTpeR0QcEq-rYzxFaeTew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ewW64LBAdEm1FIjILJF9fA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_d42fvhXtQEGQW3D25Eu7pQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_I6frUTDhTE2ONJbMuU5_BQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_pf1zLMWXRUOwr_1ujpA4hA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ry95CI4_1Ei0Z9P_pcE3Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_KIwO7SgaIkunFcl89FhTGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QZE_vi0ZB0-ck2Youvo5QQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ResidentialBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_N251_Hq4lUmu0B32duJxTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ResidentialBatteryStorageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_f66Pq7LF6UmVtvEgY3mVLA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_OLgyV5DlfkaJp-NPQ7mOqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_oenaeAgKlEKvyFx0xRxqZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_PsEcgcW2Rkuq-evvxlR_MA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_W23UhTS0ZUiOgeIfyD8rlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_lBRVHZX6xE-tkElOQb8twQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_247PiAp0Dk-V1QHhgbkQSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HsIXAo71eUW2rnbR7R0szg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_hREYrrjdkEaw3VKggBBgrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_bIgkJmSo1Uao51TkEEOFjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_x93-RNWz5EmUPSNS_PGPMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_9w6fawEy5Ue_NYDZUMG2qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_VCZpL1X_sUS_2PBNiU-bHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_6zhQhW_b5UK9icYO3dX-Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_iLDo233wD0-7_Sp_iMMnnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_QZ2pWYZ8Yk-7tm3lCJwo2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_KRXNO_6qcUaszIEZNMk-gw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_50nBvVTCtkiHFr_eaKefiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_0YoKjdJRMkG0xeM7ZzhQUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_JBibAc4lsU2Se_q776vgFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_ed9vmIgMBkK3qFWxeEoCoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_pKvio5pFVE6Yzs8fMp0kkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_Lsj682WRw0eQcpKofwz2WA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_B3Fafa8c6kipUlIt64WTPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_l0zpYBzIekOr6l0IH_Bfxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_L4fAeCJtqkuQvcCTPq1QwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_OY4QHgM3PE-rA5CKPqHUJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_m2rc7K-SRkGBVvkQfDB0HA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_Kq6ToZSOsk-5Q_-7pLOaDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_NLsaNUP9lEuqsL0oLAUeIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_cOQe0IfALkKbSu9HdMPfhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_tqs6A-uC0E6MrD6gWlvHzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_LRIkx2mfUkC2eBe0QdlP8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_gNyUW_Qm_kKBJdadTEnirA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_jS8Bl3CN00y0NvR1jp1hig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_DpNzGstCz02ioLF0OW5uwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_jOqyuaLp4U6ckl-5JVLYmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</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="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_iTG4xPLWJUePO9Kr_FZxTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HqKaa624N0C15YV-DHVK4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_amO0FJc3P0OejZ8n4ARHlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_GqzRHb8u6UysdqXc0PE17A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__iw_2PmRT0mQSzATw0p2GA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_MkEshTaLokiLLfbIS2gmWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_tTGG8Bmdnk-kOY8Fqr6Ybw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_eG3pwOcaNkeErVJ6wn9CPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yQJQ-aGBok6DrEEpDw8CEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DkB6ZvjNbUqz8uky690BbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ekKZo42d40KoMeg8Zu_e-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_O9FpPygQgkOqvhDzFUWwCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_v2SMmd7W7ES3KbLgkQ_2xA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_vthkpg_pLEmoWc6_MU362g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_PsJpW_rSOEaD6VsVF4h_OA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_URO9Ln1PBUSrZq9TMhWdoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_3PX645pQmUa5-OQVGCE8aw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_mKf-fWeWtkii4mEIlZZ3-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_dexE24Zre0qErONg7uTHkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_6-wwwPseBkqI_2T7fbZdbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_JLPvPxrXckK37QJKfaUFxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_IJceGAEE_Uy9aAuRNXQelA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW_2Xk4AY0giEylkSbgVW1JtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_9EIFyAg57kOovGQgEtuu-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_8-pkRdzeKEGSyeiAAwmMJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_-G9kIIWHjUONAv3b5ZflIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_IJKzx2He4ka0suBRkiMjpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_7Ut8Eh5vDECjp2uj5FQ1uQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_IjHlt35vIUKT01Elm36iIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_NxCqjBo6kEiu0khHiMBhww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_J1fRjML9Wk2xGP2Q4UCuHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_xV1CRkfcH0u8DOOm6VND6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_2YjLdEXrSEWT-nYTQHI1Ow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR__zFxe4G2nEuvQy-YqdaNZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_yoq31yagEkKhVhvoeI6uYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_GSoZ59NOPEuaudJtdm5Afw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_a53Uy44eEU-WLk_J6uHxYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_l0TuTzhXrUa2yKHesP-xyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_0mKsH_LOZUagDHmNeyVz4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_NLjQBc4dxkig1PUwud0irQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_oOZDRt1Jtku3rAukh3Y_1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_e1R1H-As00aXyuV6qpYwUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</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="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_TNNtkkW_WkOcZXUy2BDiug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</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="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Mlwmq-crTUqie2NXmWYdOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ikylWJot9UOC2GGn4qzY7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_y65H0AZ-HkeAKib03uGe4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zMFebdGzBUmP0rYjc0j6ZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_c6_HhoaL6UOnc-p3Kk59TA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_bcVp_4RmKEiGzl0k8Q_sJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_0mCx68A7LUyzvYxgKtAEsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_NwO579FCR0i4ySGSbHCsLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CHFHqSX10EiWXPGA_LJjAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_jNP07gyCc0SmPzkzgfE-mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_zrxEERNDVU-coyBaKI2Ibg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_yq6vKr7jWkujnu_chTDj-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_yue26IX7ukO1NH17Z72ZSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_mMv397GZJkCYQMv-tU7UfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_wKGhMfX9kESeuELxMr9IXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_sbCgzIlI9kihBk3_rsOVhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_MgpkuuBvzUi9Wekyj-C7Ow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_nE3IOFFBhkOWvJMxSEoKKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_nzO7TpPqYkOJli_M8t7RsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_-616tkepAE6-1qANU05u3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_KxRjgtltXk2_gd3WDnLcKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TW_k9B7jtWdFE25EIceRO4pGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_JhKgKvVihkODrSpIoTIp5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_RO_mPoS58b7ZkeusqjM0wvOlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_wwmyYRAjOUiP-YOnsKSL3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_sdEr-pjAA0-OYtJ3oo6Zxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_aR4f_R9ROEuL2UjYgckIUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_YRerVdgQi0qz_80t8eYPbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_LYCzNbUBXEKt3ciyZfOxEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_HK_H3bOclQ3N0escpaWDcTnow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB_tjPljplDBkSEBGolhBnhEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_ZgbOjf4rRE2p_9BnvIOgCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_wLeo87DIN0eZavL8LIBxDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_gjc00l_weEKsrv15zZvVCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_PG20hHmJp0OVSPobvZivaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN_iNE2b1u0VUGv7u9maoxNfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CL_kE-hxZbv306n_aNZZZzVOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_eAqbt3tN5k2nSN846GkO7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_6pSs9XbvrkKIxDwuUrOKVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_C-JSwIIsqUOcLp2WPYw7wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_0zQNYhPM9kiWxIeotQOqRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</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="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_RSsnuES7TEOXEPHB4V590Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_uRpOVxYEe069W2Xrzl3agQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_b7puSkqebk-GBdEfZTOIZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Vc1vJ51sI0-gYz74T1igeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</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="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_rfAgVXGMS0KyT-IKRUzoQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lESoxmS9zUiCrukvxTlkrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_ePFm11INK0W8r1eAfnckyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Sj89mQPxAU6ZVsFclKWlzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_USB4L6ldy06cUYWJca0DQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_orL2HGkd90uS6LEedncvaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_zhKs-R2evEahQu9K62SZ-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_8gQ9fsAY-UmW7ELwpxGuzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_wijJkgzxZ027fvPvxS8irw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Bo_sDyB3vECHrFSC4hxypQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_1mIRjU6lP0-DSiicZUGNgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_h3tGW7fuLkuwOWCkQk-Gjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gZ4gWDEii0irn4i7bXD3Bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_gfXGQOyaFEO2_sp_c_F8Zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_8guAGGpigUqCRfsK-cV4xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VRSzOlmLc0ibdUUzS8tjBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_32Rx2EYAL0inqRjsfeREoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_E2qd8LcCZU2ZyD9S9I52KA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_d6lRyXHCw0ml5AeC6iLwGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember__5IlVZK5ukWwgQfjgpaQ0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_UOEfshE51kGG4iNgz--ZGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</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="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-05</xbrli:startDate><xbrli:endDate>2021-03-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-27</xbrli:startDate><xbrli:endDate>2021-05-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_KOmbQW_XX0OcZxtzG-YxuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_XdcFPrOByki24h_aseU1Ow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</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="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_Cis9K2_eck6PHNKuis7ifA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_zpSEeGDqzkKtoerMmY7jgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_U293J2ngv0KvbJjbfEuF1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_V2G85_fiPUurY43hSFCXTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_5jzmvIvXdUe5Pee6LM4Qng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_yELmHm6jNUSBxBHFh2wI_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_Y9L7bkRs4U6R7NRSQmGZhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_YTBmuvV_nE-SOKQgvjPyaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_rt5Ocd4bskS0Tvsa5_NQYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_wEbx6NemwEKlaSM83wB6tw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_aITOGqjn_Eq2hhOciAQeEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_FQ_BN_RAkk2Gtnh7hS7ooQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_DGctJ8IGBU284L1ygerqDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_Ay-hedU-zkWhgQM4rbR0zg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_fEW6TNqkv02lssDoIVRpSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_xY_O5EdRaki12IEgQJYboQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_hn34zB3MwUe9J4P7vz3Qyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP__4H2Fgj5CkaYh8bC5Vkf1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_FzpoNWAgYUi0wbhybJNthg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_ElpV2mEEzkW1LsI-Y7WTxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_M1SLS66Lo0uu4KfO_AvfYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_o_UeZtFDf0mUAc2-VAa8yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_FdRhjalZHkCkviXRSKPc3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_KoreanInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_lTNxmIcDc0eLo7Io5oetDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:KoreanInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_-t5FdDb6hkufSVqLNzUirg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_OpQOpHK-gUmgpUUXcRGtoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZV78sFpvKUm2pQmA3NhOZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_hASr3WyBxEGIBKoykKZgAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_I0j2SShHx0uoZQu87nlOSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_8nrvuP0G-kuuS6VaNBXowA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_zpGGWPMHY0KZ-zCaTjc9HQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_1alzlsuVgkyAvc5SUAQ4VA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</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="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_a0Hr63KJ70yOtkBh9FbWBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_SHRHbmlUVEOFGzs9zxkjGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_TBle2o3tZ02_JiugJpwP0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_pT4bHCJD0UKmDEqvHLrB4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_PJzVbHRZkEGVsOJslPoauw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_V-daamt8Lk2CYrQZreYX4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_o0TMokwSpESqxliSNRvibA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_JxqqL43SuUSUZNrbJiKmTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_cJijrFL2A0WHKl0DVqUI9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_pCNR5N4xREOdQxhur6S0PA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</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="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_TH_Uk9IByUwCUKceqVw2pIZ4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_liXKEj_ZS0W2B4pJ5zLO7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_3MY9KF1Hw06o9DHDidjStw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Z7crre3kQ0e3s260s4ZKPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_K3dZt0m0aE2fNPxtori6zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</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="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JrNosuyERkiGgZi1C6E2Cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_dW2WSCROnUa38uZSnGnSuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_U-VHBkYj4EeFCkEPl8BvzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DViYwNU-I0i0wdkEXTFE-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_xfB3zunXMkaPrFa7Uu1FMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouZhuoshengVentureInvestmentFundLlpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-BF16P4rmkGUDZ6qgb34Sw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tZswWPKWUEyFd8jErnRu_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouZhuoshengVentureInvestmentFundLlpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_gUqjWdu6HkepzHHKjhwSRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_ssDObqt7QkeNHeubVYB1ZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_FdZv7LiWSk6IDIajMoUV5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_RFDkYLUKtUyRBdftb9jRpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_FDHuGmVG9k6uU-eOFwdmrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_4wRhCW2DyU26gHOuud0a5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember__yaE8XbB806SGhTx8c2rwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_UtE_-0OBPU6MhGnlQmAGRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_7Ft6D4v5BE64dfirtTaT3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_DNP6vdjwlUm1aWTIcwnbeA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_BfUxPG8mRkeLmU9LGlBRlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_DGhCQz2SmEuNdlUaqp8L3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_1Z3RvnFavESCRo2PHXuZrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_fFHH1k-OYUCrl5dgcFiGlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_0O4dmubGy06x0epzmoD-AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_FrpOwoJeYUy5WNoF4ARAiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Kx6cBoXg4UON4z0sH4As1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_M3Y8LOcSgU6xU3sdENlNxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_KOr5_Jtbv0uirWAmY3Av6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tzisCoXcakiNFwDVP8wwnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_CkXhBctMJE-vHz-9Mb1W0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_wOxwUD6MGka9zgElNdFRQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_M-uNWuNMsk-lb1V79YbMdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_FfyDW-3hBkKI55u6xIkFmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MqGHYPqVzE6VvcN0NIKIUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_eiUkKIjD9UOw8r1WHb6B5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_2WiNquh9okmYRbJvT3zzxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_d-XyZ4FfWEaqOe3j_wop-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_suaZpF3p8Ui21dmFf_HEmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_pS4YOMFg7UGetpJmSLjrVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_GtVfa52VakiF4ZKM-1DJEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:FinancingFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_FBoGmazZY0OplbK5P1a87Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_FlBVN1R30kmsfxvkYbSF6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEmeaCapitalMarketsS.a.uMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEmeaCapitalMarketsS.a.uMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_xz3M2LaHOUuzGgUychNB4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_SZtzIqPLA06h5DQGnYNPaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_B13mEfbPxUCiuahfDKBHxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_yCUXmcYT0Uye3sTzz5PKIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_8UzjVGkUWUSO1O9zdGKLFg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_48r1sN6kBEu1gb-Vrmm8Xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche2LoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_UEA8cSRtO0qT-JN5_Tccxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche1LoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_89RAnytBNUmi1ibWJmSYtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche2LoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_D0TCTT-wRkyhOg6tczHT9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche1LoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_LDRFTpa0GkCYBCKoCmkv9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SunmexRenovablesS.a.DeC.v.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:LoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_BR0kKiksTUmrLZa3XkkzRA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_SaZKbDxhjk2ZrXdWVQKArA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:TermLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:FinancingFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_D1U6Pvt0vEiBhcgY-xmcKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_p2pIA34M00ef9xOnmq3h_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-09-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</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="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</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="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</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="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</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="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_u7hDkgvTp0qEF_LT6uR4pQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarEmployeesMember</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="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_EbI2hZLSmk-cLW7eJHIYuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_ZYo8x2HaUEWycOJBxmRXqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_20uKseaLHUOj57uBLPyzOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_EWAhNK7qBEiz1R7gKwOVdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_75L7WSTPP0eB5J1UMjxHvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Tnaw2BfUb0uCh_vlNGe3Sw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_yRzeOWSg_U-6iY6zqoCvjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_L8ECMlBnzU6k_pRy7P96xQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_p78HETWA0US7Mi5JE9YJUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_Z-Cb9XKwKk6RhLBMqKfUig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_fUa_3cKm-0apVN2Tp2C0uw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rJWWHxg8vkG2JFRadWYidQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_iiRLL9PbM0ei1plmlXmJQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_nTbR9xLPK0e_7XFspXEclw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_DqCGjBlLcUa1YsQICKplZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_1xyqd3FEgkeYbZq2seVRVQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_9W-QDuThU0GfavSDhUpnIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_SkyQeAsJiUmOEjZ_HfUV4g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_11_30_2023_1PBXplHmH0SH-E9JNu-yDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_kqafPGA3QUix2yS4Nj5rog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_ISmaP2himka-UgYYG4kcyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsByEpcServicesMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</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="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Ns5vpw4-v0uzgbOYUuZXfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_XPnQDzHGPkGH-g_0awJQIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_N2Ubp5RqcEiFmKGlN3x7gw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_5iPj7Xch6EiY5_ZYLOJnGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:CertainSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_pX0YoB0fc0ymta8IWAcl2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</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="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2009-05-31</xbrli:startDate><xbrli:endDate>2009-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_RecourseMember_vp0ODBBnSkenOFOmcNGaSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_kfz6Uwf0RU--Y70gGEJqjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember__cUDjBAcNUWnhcHqLRrkWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FD4EfpmYRU23EwdiQtQzog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FDU0G0fgQU228VXEYL8RCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_qU553kM98kqJHM7_K-MI8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_QH--l-EzwkCARXsrvQ1KBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_sTgGX3ZZXEmyBr1fdWAa2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</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="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PledgedStatusAxis">us-gaap:AssetPledgedAsCollateralWithoutRightMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PledgedStatusAxis">us-gaap:AssetPledgedAsCollateralWithoutRightMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0-zRvEqlPEi51TDvpaSyJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-03-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wsqwrOkOUEm-A83iv3Qo5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-09-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_NFSvB2JC5ESFPr5HcOvv0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-10-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_h5tCNREYskGWIErwhkB6nA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-10-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2020-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2016-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_pSV1ltf1LE-I17K7zWLTkw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</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="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_MyP51gxSLkSLAnGZGw7iEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-06-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_yVifOhPSeUGoH8yAJUn7eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-06-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_UrdBV_iSGUGS6udcxLFFEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-07-01</xbrli:startDate><xbrli:endDate>2017-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_9-yhXx5qQ0WAp2b9lYYyFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2022-09-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-01</xbrli:startDate><xbrli:endDate>2022-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_0TzBSJWyN0-MFnZnFaidmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-07-01</xbrli:startDate><xbrli:endDate>2022-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember__Je0X6S0akqoQ5HPZ9xpmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2022_To_2_28_2022_srt_LitigationCaseAxis_csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_5Aj8uJSgiUOrBpC-DAB9WA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAndTenthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_890JymlmJUS6wYrHa62krg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</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="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Rqcu9FCvOkqAnU0VzyFTMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</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="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-01</xbrli:startDate><xbrli:endDate>2021-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_SiqScflIfUyL1KjQDOV_yA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-05-01</xbrli:startDate><xbrli:endDate>2021-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pZV4DSUlZUWgrOzmoTZ5LQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_LcRuFW6Sq0SgDKONuFu4ng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_jihcmo1b-UuffoOTMe-dcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_keV-2fk26UCJ6VR_3Dmjaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-01</xbrli:startDate><xbrli:endDate>2020-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_60KC-5ojnkKzQyWPbZRsMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-07-01</xbrli:startDate><xbrli:endDate>2020-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_krjK0bY540aTwp10PGRdog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-12-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_8u0QxEvdkkS6nuWrVqtRIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-12-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_euWImZS3qEGim0XnEjJQuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_LFdC_ll5zEOxqY9ArH0jQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-01</xbrli:startDate><xbrli:endDate>2019-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qgEPVq_QEUOeLbGg_531aw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-10-01</xbrli:startDate><xbrli:endDate>2018-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_MWiY_0I5M0ql4dPWVVOzeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-09-01</xbrli:startDate><xbrli:endDate>2018-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_hfMdgokmMU-I20eFBzDcQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-09-01</xbrli:startDate><xbrli:endDate>2018-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_3Dys22en20yVjB0mNzZyYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_GWImWJUhakqyxZRpvSE6bQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_PLHS8u2CxUSiJtetEK43zw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</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="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_5mRtdHnJQkOhVLVAz7ZxbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_XXAwb-JM00CS3BGxDY5b0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_E5LdvBnHzUOdIt_tZdkmiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2021-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_SfNbr7JxGUCMHqmarrYBcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2021-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_YqdcRDmIUEa2MakFEJV_Bg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_6xlSQQe380-EO0_JG56iSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_hKExpsWhNUCYchcBgZC86w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</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="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</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="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_rsVium9cu0KP6Sw1w5b4fw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-11-01</xbrli:startDate><xbrli:endDate>2020-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_iLI_N-bjX0W62PuAz3cF8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2020-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_K5nWS2UD6kOkm0e6Acj75A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-05-01</xbrli:startDate><xbrli:endDate>2020-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-12-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-08-01</xbrli:startDate><xbrli:endDate>2019-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_dCWeGSoMtEWj5r5dwF7WCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-07-01</xbrli:startDate><xbrli:endDate>2019-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-06-01</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_U0nZs7bU-kO3N2xuiXwkDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-07-01</xbrli:startDate><xbrli:endDate>2018-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-06-01</xbrli:startDate><xbrli:endDate>2018-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-10-01</xbrli:startDate><xbrli:endDate>2017-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-09-01</xbrli:startDate><xbrli:endDate>2017-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_q9AIoEkoikGwIYlll_ojzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-07-01</xbrli:startDate><xbrli:endDate>2017-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-07-01</xbrli:startDate><xbrli:endDate>2017-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-07-01</xbrli:startDate><xbrli:endDate>2016-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-06-01</xbrli:startDate><xbrli:endDate>2016-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_gOswKMT-N06kI6-UNteoBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-05-01</xbrli:startDate><xbrli:endDate>2016-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FirstAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-07-01</xbrli:startDate><xbrli:endDate>2015-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-01-21</xbrli:startDate><xbrli:endDate>2015-01-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2012-11-30</xbrli:startDate><xbrli:endDate>2012-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_LLk_r32O5ka0F-Q3TQs8Eg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_XVW-DrJn3kmQJrD5gKP3Ow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</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="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_wmfHwEfsuk2ZREWFuxSF2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2011-08-01</xbrli:startDate><xbrli:endDate>2011-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_gLcKlZl-kk67YMls4IQopQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2009-06-01</xbrli:startDate><xbrli:endDate>2009-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V9J128qcMESPVO50J1aTvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_cSkrjd0ZoEGRpSqwbb8NqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_9CVSad79-UO-RVFnaq3B9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_rXnJHpPK9kytHGIrJPLwEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesUsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_wkM9lA4CWk6AWGqDxcHv5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IHfLCa6rgkyNcek4wPMrBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_lrmHvBhGn0WXjWKhtT3aFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_Y43hpORsYE-vcUWEpHNXrw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</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="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_8s7anVBIZEW2XzLfGFkQjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_guLaUqHpZUWfk5Emh-2uSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_kz6mkTAGJkSTYNFtmDxUSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_PbCYhWm2ck2z_WqfXekGRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_OqP3OGzf_kSs3SJoJZfpTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_6KaE9rl080igR6eWWkZHfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_uIUV0klEAkqLoiD87xa3Fg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_L7WMwTmkLk6WYqx0crNKzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</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="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_m7FBD6qubke6WZ6c3qYLBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_s3KBBk6DoUan87IBBNuZNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_jHNiUTiVgUOGEo5IEPWZQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_3hmSNvsvpkqR-t9VpwiFdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_C2si07GDRkiv6GSHtpKpOA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yRYqeAs1ZkSEswiYOORBeQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_NwOpM-4iQEqjWzfSlxmjKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_yWrkBG_TNkCmPME7-IG4Ng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_50W6dFd9KU2OcetNs7GFbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_ZjLyvbGja0q5ev-WjnyQgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</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="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</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="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Em5oMtwJg0Ou37DI9QjE9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xgWSR9377kKJj4hfrhszgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</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="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</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="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_JKafbkw3SkOgE5oDucQjaw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</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="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_20VDTG5dLkWDy7XqUU9Y-w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</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="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-09-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</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="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_ef8_AhvJHEmJNZ2D7q5Fvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:ShortTermDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember__jUXUzlycEWTEzGVgDPIzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:LongTermDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_BrXutxSrWkKrWeg7XraGTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:ShortTermDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_EwcflZ0IGkmsEMXUo4Z1Bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:LongTermDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-09-16</xbrli:startDate><xbrli:endDate>2020-09-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</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="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2010-09-01</xbrli:startDate><xbrli:endDate>2010-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</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="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</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="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_oz1Wv7rLIUiwDsVs8pBSuA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:ShortTermNotePayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg"><xbrli:measure>iso4217:BRL</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_D_CzOrryFZXUeNpd0I3__dwg"><xbrli:measure>csiq:D</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_THB_joOAZ6jxnkOc2RX95GC2qg"><xbrli:measure>iso4217:THB</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_AUD_jWFbINBFkE6ICAPYV1Rt5w"><xbrli:measure>iso4217:AUD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg"><xbrli:measure>csiq:segment</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_JPY_shares_ELqJJHbgG0SEDH3ZjRog4g"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ"><xbrli:measure>csiq:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g"><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="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA"><xbrli:measure>csiq:director</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg"><xbrli:measure>csiq:Institution</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20" toRefs="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10" toRefs="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18" toRefs="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16" toRefs="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_PXejyzJSW06vqiKtQniCGw_25_4" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_lv4sMg9zV0GujS94hK2OpA_25_16" toRefs="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_rz95RrBOqEavRzODkYaaIA_11_2" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_IHtnZB0S2ECfi40BDAt98g_11_6" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_EWjz3EihOU6sg0l5MnZFYg_11_16" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_U510j7-LQkODQgcwdInBIQ_12_4" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc__YoOLdwui0K_BVsykd0E2w_12_8" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_GlUtfw-M0E-qbh88HyEjGA_12_6" toRefs="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" order="1"></ix:relationship></ix:resources></ix:header></div><div style="max-width:100%;padding-left:4.47%;padding-right:4.47%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:8.05pt;"><a id="_e63689a3_259d_4413_99fc_f7176cea4082"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-align:center;border-bottom:1.0pt solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:3pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:12.5pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:12.5pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Washington,&#160;D.C. 20549</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:7.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:12.5pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Form&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentType" id="Narr_xrF-M_UzokOQ9P7v8sEUmQ"><b style="font-weight:bold;">20-F</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">(Mark One)</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:4pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentRegistrationStatement" id="Narr_oKl7WxhgnE2PAA_DPrLg5Q"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">REGISTRATION STATEMENT PURSUANT TO SECTION 12(b) OR 12(g) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentAnnualReport" id="Narr_mtoAuP9T106sCpSA9dIVhg"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><b style="font-size:6pt;font-weight:bold;">For the fiscal year ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentPeriodEndDate" id="Narr_2FfD1cPYRkCtdmDYN4Sn7g"><ix:nonNumeric format="ixt:datemonthdayen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:CurrentFiscalYearEndDate" id="Narr_JaEOaPEksEG80RHYmEpFkw"><b style="font-size:6pt;font-weight:bold;">December 31</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, 2022</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentTransitionReport" id="Narr_LEZCXk9ZnUqQi4-HPXMJyA"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 36pt;"><b style="font-weight:bold;">For the transition period from to</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentShellCompanyReport" id="Narr_pJyBrBdqZ06admxSl-wnkw"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:1pt;margin-top:0pt;"><b style="font-size:6pt;font-weight:bold;">SHELL COMPANY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 1pt 36pt;"><b style="font-weight:bold;">Date of event requiring this shell company report</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-size:7pt;font-weight:bold;">Commission file number: </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityFileNumber" id="Narr_MnTfUqZnQkySZKb3shEhWQ"><b style="font-size:7pt;font-weight:bold;">001-33107</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityRegistrantName" id="Narr_zVMrDjEKlUKeyKlCHHA5vw"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Exact name of Registrant as specified in its charter)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">N/A</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Translation of Registrant&#8217;s name into English)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:edgarprovcountryen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityIncorporationStateCountryCode" id="Narr_ev6zlx-nwUqomHqI2aAz3g"><b style="font-size:6pt;font-weight:bold;">Ontario</b></ix:nonNumeric></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Jurisdiction of incorporation or organization)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityAddressAddressLine1" id="Narr_xRO162T09EGsTd3EA-vVKg"><b style="font-size:6pt;font-weight:bold;">545&#160;Speedvale Avenue West</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityAddressCityOrTown" id="Narr_bTaQLK8KZEGby6lxvdiWTg"><b style="font-size:6pt;font-weight:bold;">Guelph, Ontario</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:countrynameen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityAddressCountry" id="Narr_Ru6vUKGx6kKpAkpkkTgdKA"><b style="font-size:6pt;font-weight:bold;">Canada</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;"> </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityAddressPostalZipCode" id="Narr_96DK0FCdP0qh4g5dblj0mg"><b style="font-size:6pt;font-weight:bold;">N1K&#160;1E6</b></ix:nonNumeric></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Address of principal executive offices)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:ContactPersonnelName" id="Narr_-WeWEal6skCzIcmuRoKIzg"><b style="font-size:6pt;font-weight:bold;">Huifeng Chang</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, Chief Financial Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:EntityAddressAddressLine1" id="Narr_BeRUMfYY-kSF2qLAyV3ifg"><b style="font-size:6pt;font-weight:bold;">545&#160;Speedvale Avenue West</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:EntityAddressCityOrTown" id="Narr_XP2mV_QmQ0y-7eSaaXlEAQ"><b style="font-size:6pt;font-weight:bold;">Guelph, Ontario</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:countrynameen" contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:EntityAddressCountry" id="Narr_ukwdF6zbaEyYKFTqZCF-Fg"><b style="font-size:6pt;font-weight:bold;">Canada</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;"> </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:EntityAddressPostalZipCode" id="Narr_L7SRYmkkFku6hX9n40Tj9w"><b style="font-size:6pt;font-weight:bold;">N1K&#160;1E6</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:6pt;font-weight:bold;">Tel: (</b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:CityAreaCode" id="Narr_3VYX0RVZDEaTXf8wPlQsVg"><b style="font-size:6pt;font-weight:bold;">1-519</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ" name="dei:LocalPhoneNumber" id="Narr_eOPvvKfOH0qKgmX2JMMH0Q"><b style="font-size:6pt;font-weight:bold;">837-1881</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fax: (1-519) 837-2550</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Name, Telephone, E-mail and/or Facsimile number and Address of Company Contact&#160;Person)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered or to be registered pursuant to Section&#160;12(b) of the Act:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_09c20fc0_1bf7_4ce0_ae48_e2a214c5a5d6"></a><a id="Tc_wFdyrIepcki-Vw_SkoGArQ_1_0"></a><a id="Tc_P70lb4R7RE6FkcEc4lf_Wg_1_2"></a><a id="Tc_zAHmy3YgC0CucIuWyZEwVw_1_4"></a><a id="Tc_25QSi8gSUU6ZrgvLRWJOWg_2_4"></a><a id="Tc_f8ayfwBnj0WkxJV4Lte1kg_3_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:35.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:35.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Title of Each Class</b></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:19.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trading&#160;Symbol</b></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:39.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name of Each Exchange on Which Registered</b></p></td></tr><tr><td style="vertical-align:top;width:35.31%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:Security12bTitle" id="Tc_Vtb76dgyVE-rE4aj2jmlSg_2_0"><span style="font-size:6pt;">Common shares with no par value</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.31%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:TradingSymbol" id="Tc_hZ3dgE1PCkyhC9Ff2QBR9g_2_2"><span style="font-size:6pt;">CSIQ</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.32%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;">The </span><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:SecurityExchangeName" id="Narr_x6BGJGj-rUeqK-kh-hPl-w"><span style="font-size:6pt;">NASDAQ</span></ix:nonNumeric><span style="font-size:6pt;"> Stock Market&#160;LLC</span></p></td></tr><tr><td style="vertical-align:top;width:35.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:19.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:39.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">(The&#160;NASDAQ Global Select Market)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered or to be registered pursuant to Section&#160;12(g) of the Act:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">None</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Title of Class)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-weight:bold;">Securities for which there is a reporting obligation pursuant to Section&#160;15(d) of the&#160;Act:</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">None</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Title of Class)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2pt 0pt;">Indicate the number of outstanding shares of each of the issuer&#8217;s classes of capital or common stock as of the close of the period covered by the annual&#160;report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_36Urve7wMUu6SHD_m16vIA">64,506,055</ix:nonFraction> common shares issued and outstanding which were not subject to restrictions on voting, dividend rights and transferability, as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2pt 0pt;"><span style="font-size:6pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">405 of the Securities Act.  </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_XZP1r6QsT06WeWVB8kMNnw"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2pt 0pt;"><span style="font-size:6pt;">If this report is an annual or transition report, indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">15(d) of the Securities Exchange Act of 1934.  Yes&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span><span style="font-size:6pt;white-space:pre-wrap;">  </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityVoluntaryFilers" id="Narr_dydGgWvIW02KP42ylPUu5w"><span style="font-size:6pt;">No</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2pt 0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or&#160;15(d) of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or&#160;for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">days.  </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityCurrentReportingStatus" id="Narr__mNkl26sFUO188GC3ly3Mg"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;"> </span><span style="font-size:6pt;"> No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2pt 0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation&#160;S-T (&#167;&#160;232.405 of this chapter) during the preceding 12&#160;months (or&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">for such shorter period that the registrant was required to submit such files).  </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityInteractiveDataCurrent" id="Narr_cTQiACM2lUCkwf7-QybjuQ"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;"> </span><span style="font-size:6pt;"> No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 3pt 0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or an emerging growth company. See definition of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221;<span style="font-size:9pt;"> </span><span style="white-space:pre-wrap;">and &#8220;emerging growth company&#8221;  in Rule&#160;12b-2 of the Exchange Act.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_197417cc_46e5_4b36_a164_76b9d9bb473a"></a><a id="_Hlk101783117"></a><a id="Tc_cCczxXBni0K0G9xmBUyhzA_1_0"></a><a id="Tc_iYkg9cac3kCpqogDtN749g_1_2"></a><a id="Tc_Hk6zVxwEZ0K8EwuFnEywkQ_1_4"></a><a id="Tc_4Hbu3KWqe0aew8gze0Hfkg_1_5"></a><a id="Tc_DwWe8JMVekm7ypvHUj4O8Q_2_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityFilerCategory" id="Narr_VpleACCvUES4L0YOI98Gqg"><span style="font-size:6pt;white-space:pre-wrap;">Large accelerated filer  </span></ix:nonNumeric><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><span style="white-space:pre-wrap;">Accelerated filer  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Non-accelerated filer</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p></td></tr><tr style="height:8.2pt;"><td style="vertical-align:bottom;white-space:nowrap;width:36.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:10pt;text-indent:-10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Emerging growth company</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityEmergingGrowthCompany" id="Tc_AmkDg7jxr0ejU0k6jj_kNQ_2_5"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;">If an emerging growth company that prepares its financial statements in accordance with U.S. GAAP, 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&#8224; provided pursuant to Section 13(a) of the Exchange Act.&#160;&#160;<span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2.5pt 0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. </span><ix:nonNumeric format="ixt:booleantrue" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:IcfrAuditorAttestationFlag" id="Narr_-AG2zoYJTE-qTMsOs-w0Gg"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span><span style="font-size:6pt;"> </span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;"><span style="white-space:pre-wrap;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;"><span style="white-space:pre-wrap;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b).  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2.5pt 0pt;"><span style="font-size:6pt;">Indicate by check mark which basis of accounting the registrant has used to prepare the financial statements included in this filing: </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:DocumentAccountingStandard" id="Narr_BtCV4rXMnU6uC73iqa7OLQ"><span style="font-size:6pt;">U.S. GAAP</span></ix:nonNumeric><span style="font-size:6pt;"> </span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;"><span style="white-space:pre-wrap;">International Financial Reporting Standards as issued by the International Accounting Standards Board  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span><span style="white-space:pre-wrap;">  Other  </span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;"><span style="white-space:pre-wrap;">If &#8220;Other&#8221; has been checked in response to the previous question, indicate by check mark which financial statement item the registrant has elected to follow.  Item&#160;17&#160;</span><span style="font-family:'Segoe UI Symbol';">&#9744;</span><span style="white-space:pre-wrap;">  Item&#160;18&#160;</span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 2.5pt 0pt;"><span style="font-size:6pt;">If this is an annual report, indicate by check mark whether the registrant is a shell company (as&#160;defined in Rule&#160;12b-2 of the Exchange&#160;Act).&#160;&#160;Yes&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:EntityShellCompany" id="Narr_RaPIh5Sb9kK6LrMRjpE47Q"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;">(APPLICABLE ONLY TO ISSUERS INVOLVED IN BANKRUPTCY PROCEEDINGS DURING THE PAST FIVE&#160;YEARS)</p><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 2.5pt 0pt;">Indicate by check mark whether the registrant has filed all documents and reports required to be filed by Sections&#160;12, 13 or&#160;<span style="white-space:pre-wrap;">15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court.  Yes&#160;</span><span style="font-family:'Segoe UI Symbol';">&#9744;</span><span style="white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><div style="font-family:'Times New Roman','Times','serif';font-size:1.0pt;margin-bottom:3pt;margin-top:3pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;padding-left:18pt;text-indent:-18pt;margin:0pt;">&#8224;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The term &#8220;new or revised financial accounting standard&#8221; refers to any update issued by the Financial Accounting Standards Board to its Accounting Standards Codification after April 5, 2012.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:91.06%;border:0;margin:30pt 4.47% 30pt 4.47%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_d4484872_1ebb_483f_908d_42a2e29d6780"></a><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Table of Contents</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#INTRODUCTION_7698"><span style="font-style:normal;font-weight:normal;">INTRODUCTION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">1</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#FORWARDLOOKINGINFORMATION_258409"><span style="font-style:normal;font-weight:normal;">FORWARD-LOOKING INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">3</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTI_177571"><span style="font-style:normal;font-weight:normal;">PART I</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-style:normal;font-weight:normal;">ITEM 1.</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-style:normal;font-weight:normal;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-style:normal;font-weight:normal;">ITEM 2</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-style:normal;font-weight:normal;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">6</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-style:normal;font-weight:normal;">ITEM 3</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-style:normal;font-weight:normal;">KEY INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">7</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4INFORMATIONONTHECOMPANY_79732"><span style="font-style:normal;font-weight:normal;">ITEM 4</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4INFORMATIONONTHECOMPANY_79732"><span style="font-style:normal;font-weight:normal;">INFORMATION ON THE COMPANY</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">53</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"><span style="font-style:normal;font-weight:normal;">ITEM 4A</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"><span style="font-style:normal;font-weight:normal;">UNRESOLVED STAFF COMMENTS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"><span style="font-style:normal;font-weight:normal;">ITEM 5</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"><span style="font-style:normal;font-weight:normal;">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">76</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"><span style="font-style:normal;font-weight:normal;">ITEM 6</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"><span style="font-style:normal;font-weight:normal;">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">97</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"><span style="font-style:normal;font-weight:normal;">ITEM 7</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"><span style="font-style:normal;font-weight:normal;">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">117</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM8FINANCIALINFORMATION_288618"><span style="font-style:normal;font-weight:normal;">ITEM 8</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM8FINANCIALINFORMATION_288618"><span style="font-style:normal;font-weight:normal;">FINANCIAL INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">118</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9THEOFFERANDLISTING_523589"><span style="font-style:normal;font-weight:normal;">ITEM 9</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM9THEOFFERANDLISTING_523589"><span style="font-style:normal;font-weight:normal;">THE OFFER AND LISTING</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">124</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM10ADDITIONALINFORMATION_800687"><span style="font-style:normal;font-weight:normal;">ITEM 10</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM10ADDITIONALINFORMATION_800687"><span style="font-style:normal;font-weight:normal;">ADDITIONAL INFORMATION</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">124</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-style:normal;font-weight:normal;">ITEM 11</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-style:normal;font-weight:normal;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">140</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"><span style="font-style:normal;font-weight:normal;">ITEM 12</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"><span style="font-style:normal;font-weight:normal;">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">142</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTII_599435"><span style="font-style:normal;font-weight:normal;">PART II</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">142</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"><span style="font-style:normal;font-weight:normal;">ITEM 13</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"><span style="font-style:normal;font-weight:normal;">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">142</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"><span style="font-style:normal;font-weight:normal;">ITEM 14</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"><span style="font-style:normal;font-weight:normal;">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE OF PROCEEDS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">142</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM15CONTROLSANDPROCEDURES_777680"><span style="font-style:normal;font-weight:normal;">ITEM 15</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM15CONTROLSANDPROCEDURES_777680"><span style="font-style:normal;font-weight:normal;">CONTROLS AND PROCEDURES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">142</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"><span style="font-style:normal;font-weight:normal;">ITEM 16A</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"><span style="font-style:normal;font-weight:normal;">AUDIT COMMITTEE FINANCIAL EXPERT</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">144</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16BCODEOFETHICS_239445"><span style="font-style:normal;font-weight:normal;">ITEM 16B</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16BCODEOFETHICS_239445"><span style="font-style:normal;font-weight:normal;">CODE OF ETHICS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">144</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"><span style="font-style:normal;font-weight:normal;">ITEM 16C</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"><span style="font-style:normal;font-weight:normal;">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">144</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"><span style="font-style:normal;font-weight:normal;">ITEM 16D</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"><span style="font-style:normal;font-weight:normal;">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"><span style="font-style:normal;font-weight:normal;">ITEM 16E</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"><span style="font-style:normal;font-weight:normal;">PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"><span style="font-style:normal;font-weight:normal;">ITEM 16F</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"><span style="font-style:normal;font-weight:normal;">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16GCORPORATEGOVERNANCE_709109"><span style="font-style:normal;font-weight:normal;">ITEM 16G</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16GCORPORATEGOVERNANCE_709109"><span style="font-style:normal;font-weight:normal;">CORPORATE GOVERNANCE</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16HMINESAFETYDISCLOSURE_98133"><span style="font-style:normal;font-weight:normal;">ITEM 16H</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16HMINESAFETYDISCLOSURE_98133"><span style="font-style:normal;font-weight:normal;">MINE SAFETY DISCLOSURE</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16IDISCLOSUREREGARDINGFOREIGNJURISDI"><span style="font-style:normal;font-weight:normal;">ITEM 16I</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM16IDISCLOSUREREGARDINGFOREIGNJURISDI"><span style="font-style:normal;font-weight:normal;">DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">145</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#PARTIII_868957"><span style="font-style:normal;font-weight:normal;">PART III</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">146</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM17FINANCIALSTATEMENTS_447947"><span style="font-style:normal;font-weight:normal;">ITEM 17</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM17FINANCIALSTATEMENTS_447947"><span style="font-style:normal;font-weight:normal;">FINANCIAL STATEMENTS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">146</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM18FINANCIALSTATEMENTS_390910"><span style="font-style:normal;font-weight:normal;">ITEM 18</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM18FINANCIALSTATEMENTS_390910"><span style="font-style:normal;font-weight:normal;">FINANCIAL STATEMENTS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">146</p></td></tr><tr><td style="vertical-align:bottom;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM19EXHIBITS_403742"><span style="font-style:normal;font-weight:normal;">ITEM 19</span></a></p></td><td style="vertical-align:bottom;width:82.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#ITEM19EXHIBITS_403742"><span style="font-style:normal;font-weight:normal;">EXHIBITS</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">146</p></td></tr><tr><td colspan="2" style="vertical-align:bottom;width:93.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#SIGNATURES_548624"><span style="font-style:normal;font-weight:normal;">SIGNATURES</span></a></p></td><td style="vertical-align:bottom;width:6.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">147</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">i</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_924c6c25_e1a9_479c_aebc_ad99bcd95a28"></a><a id="INTRODUCTION_7698"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">INTRODUCTION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Unless otherwise indicated, references in this annual report on Form&#160;20-F to:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;AC&#8221; and &#8220;DC&#8221; refer to alternating current and direct current, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;AUD&#8221; and &#8220;Australian dollars&#8221; refer to the legal currency of Australia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;BRL&#8221; and &#8220;Brazilian reals&#8221; refer to the legal currency of Brazil;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Canadian Solar Inc.&#8221; refers to Canadian Solar Inc., an Ontario, Canada corporation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;China&#8221; and the &#8220;PRC&#8221; refer to the People&#8217;s Republic of China, excluding, for the purposes of this annual report on Form&#160;20-F, Taiwan and&#160;the special administrative regions of Hong Kong and&#160;Macau;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;COD&#8221; refers to commercial operation date;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;CSI&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our company&#8221; and &#8220;our&#8221; refer to Canadian Solar&#160;Inc., its predecessor entities and its consolidated subsidiaries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;CSI Solar&#8221; refers to CSI Solar Co., Ltd.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;C$&#8221; and &#8220;Canadian dollars&#8221; refer to the legal currency of Canada;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;EPC&#8221; refers to engineering, procurement and construction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;EU&#8221; refers to the European Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;FIT&#8221; refers to feed-in tariff;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;GAAP&#8221; refers to generally accepted accounting principles;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Korea&#8221; refer to the Republic of Korea, also commonly known as &#8220;South Korea&#8221;;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;OBCA&#8221; refers to the </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Business Corporation</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Act (Ontario);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;O&amp;M services&#8221; refers to operation and maintenance services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;PPA&#8221; refers to power purchase agreement;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;PV&#8221; refers to photovoltaic. The photovoltaic effect is a process by which sunlight is converted into electricity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;RMB&#8221; and &#8220;Renminbi&#8221; refer to the legal currency of China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;U.S.&#8221; refers to the United States of America;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;SEC&#8221; refers to the U.S.&#160;Securities and Exchange Commission;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;shares&#8221; and &#8220;common shares&#8221; refer to common shares, with no par value, of Canadian Solar&#160;Inc.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;THB&#8221; and &#8220;Thai baht&#8221; refer to the legal currency of Thailand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;U.K.&#8221; refers to the United Kingdom;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;white-space:pre-wrap;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;W&#8221;, &#8220;kW&#8221;, &#8220;MW&#8221; and &#8220;GW&#8221; refer to watts, kilowatts, megawatts and gigawatts, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;ZAR&#8221; and &#8220;South African rand&#8221; refer to the legal currency of South Africa.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;$&#8221;, &#8220;US$&#8221; and &#8220;U.S.&#160;dollars&#8221; refer to the legal currency of U.S.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#8364;&#8221; and &#8220;Euros&#8221; refer to the legal currency of the Economic and Monetary Union of the European&#160;Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#163;&#8221;, &#8220;GBP&#8221; and &#8220;British pounds&#8221; refer to the legal currency of the United&#160;Kingdom;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;&#165;&#8221;, &#8220;JPY&#8221; and &#8220;Japanese yen&#8221; refer to the legal currency of Japan;&#160;and</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F includes our audited consolidated financial statements for the years ended December&#160;31, 2020, 2021 and 2022 and as of December&#160;31, 2021 and&#160;2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">We use the noon buying rate in The City of New York for cable transfers in Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand per U.S. dollars as certified for customs purposes by the Federal Reserve Bank of New York to translate Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand to U.S. dollars not otherwise recorded in our consolidated financial statements and included elsewhere in this annual report on Form 20-F. Unless otherwise stated, the translation of Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals and South African rand into U.S. dollars was made by the noon buying rate in effect on December 30, 2022, which was RMB6.8972 to $1.00, &#8364;0.9348 to $1.00, &#163;0.8280 to $1.00, &#165;131.8100 to $1.00, C$1.3532 to $1.00, AUD1.4695 to $1.00, THB34.5900 to $1.00, BRL5.2860 to $1.00 and ZAR16.9950 to $1.00. We make no representation that the Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals, South African rand or U.S. dollars amounts referred to in this annual report on Form 20-F could have been or could be converted into U.S. dollars, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai baht, Brazilian reals South African rand or Renminbi, as the case may be, at any particular rate or at all. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_8f6d7a54_08df_4bc7_8018_da4ec28e6b07"></a><a id="FORWARDLOOKINGINFORMATION_258409"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">FORWARD-LOOKING INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F contains forward-looking statements that relate to future events, including our future operating results, our prospects and our future financial performance and condition, results of operations, business strategy and financial needs, all of which are largely based on our current expectations and projections. These forward-looking statements are made under the &#8220;safe harbor&#8221; provisions of the U.S.&#160;Private Securities Litigation Reform Act of 1995. You can identify these statements by terminology such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;future,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;is/are likely to&#8221; or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating&#160;to:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding the worldwide demand for electricity and the market for solar&#160;power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the importance of environmentally friendly power generation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the value of and ability to monetize our portfolio of solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding governmental support for solar power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the rate at which solar power technologies will be adopted and the continued growth of the solar power&#160;industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the competitiveness of our solar power and battery storage products and&#160;services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations with respect to increased revenue growth and improved profitability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to continue developing our in-house solar component production capability and our expectations regarding the timing of the expansion of our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to secure adequate volumes of silicon, solar wafers and cells at competitive cost to support our solar module production;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs regarding the effects of environmental regulation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our future business development, results of operations and financial condition;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">competition from other manufacturers of solar power or battery storage products and conventional energy suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to successfully expand our range of products and services and to successfully execute plans for our energy&#160;business;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to develop, build and sell solar and battery storage projects in the U.S., Canada, Japan, China, the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan and elsewhere;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to develop and operate solar power systems in Brazil, China, the EU and elsewhere; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our beliefs with respect to the outcome of the investigations and litigation to which we are a party.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Known and unknown risks, uncertainties and other factors may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by forward-looking statements. See &#8220;Item&#160;3. Key Information&#8212;D.&#160;Risk Factors&#8221; for a discussion of some of the risk factors that may affect our business and results of operations. These risks are not exhaustive. Other sections of this annual report may include additional factors that could adversely influence our business and financial performance. Moreover, because we operate in an emerging and evolving industry, new risk factors may emerge from time to time. We cannot predict all risk factors, nor can we assess the impact of all or any of these factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those expressed or implied in any forward-looking statement. We do not undertake any obligation to update or revise the forward-looking statements except as required under applicable&#160;law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_2d5e47f5_595b_4268_be3e_ce33ac690847"></a><a id="PARTI_177571"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">PART I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Our Corporate Structure and Operations in China</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. is a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China. See &#8220;Item 4. Information on the Company&#8212;C. Organizational Structure&#8221; for additional information on our corporate structure, including a list of our significant subsidiaries. Investors in our common shares thus are not purchasing equity interests in our operating subsidiaries, but instead are purchasing equity interests solely in our Canadian parent company. As used in this annual report, references to &#8220;CSI&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our company&#8221; or &#8220;our&#8221; are made as to Canadian Solar Inc., its predecessor entities and its consolidated subsidiaries; references to &#8220;Canadian Solar Inc.&#8221; are made as to the Canadian parent company only.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are exposed to legal and operational risks associated with having a significant portion of our manufacturing operations in China. We are subject to risks arising from the PRC legal system, including the uncertainty in the interpretation and enforcement of the evolving PRC policies, laws and regulations. Recently, the Chinese government initiated a series of regulatory actions and statements to regulate business operations in China with little advance notice, such as those related to regulatory approvals on offerings conducted overseas, anti-monopoly regulatory actions, and oversight on cybersecurity and data privacy. Such actions could significantly limit or completely hinder our ability to offer or continue to offer securities to investors. Implementation of industry-wide regulations in this nature may cause the value of such securities to significantly decline or be worthless. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8221; for additional information of the risks associated with our operations in China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For example, the recently promulgated PRC Data Security Law and the PRC Personal Information Protection Law in 2021, the Cybersecurity Review Measures issued by the Cyberspace Administration of China, or the CAC, and several other PRC governmental authorities in 2021, as well as the Regulations on Critical Information Infrastructure promulgated by the PRC State Council in 2021, expose uncertainties and potential additional restrictions on China-based overseas-listed companies. Although we have not been informed that we are identified as a critical information infrastructure operator by any governmental authorities, we face uncertainties as to whether we will be subject to the oversight of the CAC and how such oversight may impact us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 1, 2022, Measures for the Security Assessment of Outbound Data Transfers and its guideline Guide to Applications for Security Assessment of Outbound Data Transfers (First Edition) promulgated by the CAC took effect. According to the aforementioned rule, a data processor is required to apply to the national cyberspace administration for security assessment of outbound data transfer through local provincial cyberspace administration, if the data processor provides important data abroad. The rule is newly adopted, and it is not certain how the CAC will interpret and enforce it. If we are required to go through a security assessment of outbound data transfer, we will receive a notice on assessment result after completion of the assessment, and we may be notified to terminate the outbound data transfer or make rectification as required. In addition, we have to regulate our outbound data transfer activities in accordance with the applicable laws and regulations on the security management of outbound data transfer and the relevant requirements specified in the notice on assessment result. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 17, 2023, the CSRC issued the Trial Administrative Measures of Overseas Securities Offering and Listing by Domestic Companies and relevant supporting guidelines (collectively, the &#8220;Trial Administrative Measures&#8221;), which became effective on March 31, 2023. According to the Trial Administrative Measures, a PRC domestic company that seeks to offer and list securities in overseas markets shall fulfill the filing procedure with the CSRC as per requirement of the Trial Administrative Measures. When a PRC domestic company seeks to directly offer and list securities in overseas markets, the issuer shall file with the CSRC. When a PRC domestic company seeks to indirectly offer and list securities in overseas markets, the issuer shall designate a major PRC domestic operating entity, which shall, as the domestic responsible entity, file with the CSRC. Initial public offerings or listings in overseas markets shall be filed with the CSRC within three working days after the relevant application is submitted overseas. If an issuer offers securities in the same overseas market where it has previously offered and listed securities, subsequent filings shall be made with the CSRC within three working days after the offering is completed. In addition, upon the occurrence of any material event, such as change of control, investigations or sanctions imposed by overseas securities regulatory agencies or other relevant competent authorities, change of listing status or transfer of listing segment, or voluntary or mandatory delisting, after an issuer has offered and listed securities in an overseas market, the issuer shall submit a report thereof to CSRC within three working days after the occurrence and public disclosure of such event. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 24, 2023, the CSRC, the Ministry of Finance, the National Administration of State Secrets Protection and the National Archives Administration of China issued Provisions on Strengthening Confidentiality and Archives Administration in Respect of Overseas Issuance and Listing of Securities by Domestic Enterprises which took effect on March 31, 2023. These provisions extend the scope of application to overseas indirectly listed enterprises. To provide or publicly disclose to the relevant securities companies, securities service agencies, overseas regulatory authorities and other entities and individuals, or to provide or publicly disclose, through its overseas listing entities, any document or material involving State secrets or work secrets of State agencies, a PRC domestic enterprise shall strictly go through the corresponding procedures, and when providing documents and materials to the relevant securities companies and securities service agencies, PRC domestic enterprises shall provide the relevant securities companies and securities service agencies with a written statement on the secrets. The relevant securities companies or securities service agencies shall properly retain the foregoing written statement for future reference. A PRC domestic enterprise shall perform the corresponding procedures in accordance with the relevant provisions of the Chinese government, if it provides accounting records or photocopies of accounting records to entities and individuals such as the relevant securities companies, securities service agencies and overseas regulatory authorities. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">According to the Trial Administrative Measures, PRC domestic companies that have already been listed overseas before March 31, 2023 shall be deemed as existing issuers. Due to the fact that our common shares have been listed on the Nasdaq Global Select Market, we are deemed as an existing issuer, and thus are currently not required to obtain permission or approval from any of the PRC authorities including the CSRC or the CAC or to complete the filing procedures with the CSRC for our historical securities offerings pursuant to the Trial Administrative Measures. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the Trial Administrative Measures, we may be required to submit filings to the CSRC in the event that we conduct any securities offerings in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">It is uncertain whether we will be required to obtain permission from the PRC government to maintain our listing status on U.S. exchanges or continue to offer our securities to investors in the future, and even when such permission is obtained, whether it will be later denied or rescinded. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, with the trend of strengthening anti-monopoly supervision around the world, the PRC government has promulgated new anti-monopoly and competition laws and regulations and strengthened the enforcement under these laws and regulations, paying more attention to corporate compliance. On February 7, 2021, the Anti-monopoly Commission of the State Council of the PRC promulgated the Guidelines for Anti-monopoly in the field of Platform Economy, which stipulates that any concentration of undertakings involving variable interest entities in Internet industry is subject to anti-monopoly review. On November 15, 2021, the State Administration for Market Regulation of the PRC promulgated the Guidelines for the Overseas Anti-monopoly Compliance of Enterprises. Although we believe that these regulations have little impact on us, there remain uncertainties as to how the laws, regulations and guidelines recently promulgated will be interpreted and implemented. We cannot guarantee that regulators will agree with us or that our business operations comply with such regulations and authorities&#8217; requirements in all respects. If any non-compliance is raised by relevant authorities and determined against us, we may be subject to fines and other penalties. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Risks and uncertainties arising from the Chinese legal system, including risks and uncertainties that the rules and regulations may be inconsistent and change quickly with little advance notice and that the Chinese government may intervene or influence the operations of our PRC subsidiaries at any time, could result in a material change in our operations and the value of our securities. In addition, implementation of industry-wide regulations directly targeting our operations could cause the value of our securities to significantly decline. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.&#8221; and &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;The Chinese government has exercised and continues to exercise substantial control over virtually every sector of the Chinese economy. It may intervene or influence the operations of our PRC subsidiaries at any time, which could result in a material change in our operations and the value of our securities.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">The Holding Foreign Companies Accountable Act</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 2, 2021, the SEC adopted final amendments implementing the disclosure and submission requirements of the Holding Foreign Companies Accountable Act, or the HFCAA. The final amendments establish the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the Public Company Accounting Oversight Board, or the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over-the-counter trading market in the U.S. In the event of such determination, the Nasdaq is expected to delist our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is included in the list of PCAOB identified firms in the determination report issued in December 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Consequently, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on May 26, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 26, 2022, the PCAOB announced that it signed a Statement of Protocol with the CSRC and the Ministry of Finance, which it described as the first step toward opening access for the PCAOB to inspect and investigate completely registered public accounting firms in mainland China and Hong Kong. On December 15, 2022, the PCAOB announced that it has secured complete access to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. The PCAOB also vacated its previous determinations issued on December 16, 2021. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB. For this reason, we do not expect to be identified as a Commission-Identified Issuer under the HFCAA after we file this annual report on Form 20-F for the fiscal year ended December 31, 2022. Until such time as the PCAOB issues any new determination, we do not expect our securities to be subject to a trading prohibition under the HFCAA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 29, 2022, the Consolidated Appropriations Act, 2023 was signed into law, which, among other things, amended the HFCAA to reduce to number of consecutive years an issuer can be identified a Commission-Identified Issuer before the SEC must impose an initial trading prohibition on the issuer&#8217;s securities from three years to two years. Therefore, once an issuer is identified as a Commission-Identified Issuer for two consecutive years, the SEC is required under the HCFAA to prohibit the trading of the issuer&#8217;s securities on a national securities exchange and in the over-the-counter market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Each year, the PCAOB will determine whether it can inspect and investigate completely audit firms in mainland China and Hong Kong, among other jurisdictions. If the PCAOB determines in the future that it no longer has full access to inspect and investigate completely accounting firms in mainland China and Hong Kong and we use an accounting firm headquartered in one of these jurisdictions to issue an audit report on our financial statements filed with the SEC, we would be identified as a Commission-Identified Issuer following the filing of the annual report on Form 20-F for the relevant fiscal year. In accordance with the HFCAA, our securities would be prohibited from being traded on a national securities exchange or in the over-the-counter trading market in the United States if we are identified as a Commission-Identified Issuer for two consecutive years in the future. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our common shares may be prohibited from trading in the United States under the HFCAA in the future if it is later determined that the PCAOB is unable to inspect or investigate completely our auditor. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5419f593_7432_4594_b473_9cf3615c2310"></a><a id="ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;1&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_6a62b022_abb9_49d5_914f_61ca27edf769"></a><a id="ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;2&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_4b31b3df_2b1e_4012_a766_d7e57d395caa"></a><a id="_Hlk20468729"></a><a id="ITEM3KEYINFORMATION_614860"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITE</b><b style="font-weight:bold;">M&#160;3&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">KEY INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Doing Business in China</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. is a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China. As a result, we are subject to significant regulatory, liquidity, and enforcement risks relating to doing business in China, including, but not limited to, the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The enforcement of the labor contract law and increases in labor costs in the PRC may adversely affect our business and our profitability.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The increase or decrease in tax benefits from local tax bureau could affect our total PRC taxes payments, which could have a material and adverse impact on our financial condition and results of operations.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">There are significant uncertainties regarding our tax liabilities with respect to our income under the EIT Law.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Dividends paid by us to our non-PRC shareholders and gains on the sale of our common shares by our non-PRC shareholders may be subject to PRC enterprise income tax liabilities or individual income tax liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restrictions on currency exchange may limit our ability to receive and use our revenues effectively. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Chinese government has exercised and continues to exercise substantial control over virtually every sector of the Chinese economy. It may intervene or influence the operations of our PRC subsidiaries at any time, which could result in a material change in our operations and the value of our securities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">You may have difficulty enforcing judgments obtained against us.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For further details, see &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8221; and &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Our Common Shares.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Permissions Required from the PRC Authorities for Our Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct our business in the PRC through our PRC subsidiaries. Our operations in the PRC are governed by PRC laws and regulations. We are required to obtain or complete construction enterprise and engineering qualifications, electric power business permit, work safety license, registration of foreign trade operator operators, and registration certificates of customs declaration entity to operate our business in China. As of the date of this annual report, we believe that our PRC subsidiaries have obtained and completed all requisite permissions and registrations for our operations in all material aspects from relevant PRC authorities and none of the requisite permission or registrations for our operations in all material aspects have been denied by relevant PRC authorities. However, given the uncertainties of interpretation and implementation of relevant laws and regulations and the enforcement practice by government authorities, we cannot assure you that we have obtained all the permits or licenses required for conducting our business in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In connection with historical offering of our securities in the United States, under the PRC laws and regulations currently in effect, we are not aware of any PRC laws or regulations which explicitly require us to obtain any permission from the CSRC or other Chinese authorities. We believe that we and our PRC subsidiaries (i) are not required to obtain permissions from the CSRC, (ii) are not required to go through cybersecurity review by the CAC under the Cybersecurity Review Measures, and (iii) have not received or were denied such requisite permissions by any PRC authority.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, we cannot guarantee that the regulators will agree with us. In particular, there remain uncertainties as to how PRC government will regulate overseas securities offerings and oversea listings in general, as well as how related regulations will be interpreted or implemented. Although we intend to closely monitor the relevant regulatory environment and fully comply with the regulations or policies that have been issued by the CSRC, CAC, or other PRC authorities to date, we cannot assure you that we will be able to fully comply with requirements to obtain any permissions and approvals from PRC authorities that may be in effect for the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we or our PRC subsidiaries (i) do not receive or maintain such permissions or approvals, (ii) inadvertently conclude that such permissions or approvals are not required, or (iii) are required to obtain permissions or approvals in the future in the event of a change to the applicable laws, regulations, or interpretations, but we fail to obtain such permissions or approvals in a timely manner, or at all, we may face adverse actions or sanctions by PRC regulatory authorities, which may include fines and penalties on our operations in China, order to suspend our PRC subsidiaries&#8217; businesses, and other actions that could have an adverse effect on our business. Furthermore, our ability to offer or continue to offer securities to investors may be significantly limited or completely hindered, and the value of our securities may significantly decline or be worthless. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, the PRC government has promulgated certain regulations and rules to exert more oversight and control over offerings that are conducted overseas and/or foreign investment. On February 17, 2023, the CSRC issued the Trial Administrative Measures, which became effective on March 31, 2023. According to the Trial Administrative Measures, PRC domestic companies that directly or indirectly offer or list their securities in an overseas market are required to file with the CSRC. In addition, an overseas listed company must also submit the filing with respect to its follow-on offerings, issuance of convertible corporate bonds and exchangeable bonds, and other equivalent offering activities, within a specified time frame under the Trial Administrative Measures. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">According to the Trial Administrative Measures, PRC domestic companies that have already been listed overseas before March 31, 2023 shall be deemed as existing issuers. Due to the fact that our common shares have been listed on the Nasdaq Global Select Market, we are deemed as an existing issuer, and thus are currently not required to obtain permission or approval from any of the PRC authorities including the CSRC or the CAC or to complete the filing procedures with the CSRC for our historical securities offerings pursuant to the Trial Administrative Measures. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the Trial Administrative Measures, we may be required to submit filings to the CSRC in the event that we conduct any securities offerings in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a detailed discussion of the related risks, see &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.&#8221; and &#8220;&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Cash and Asset Flows through Our Organization</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Our manufacturing operations are conducted through our subsidiaries primarily in China and Southeast Asia in which we have equity ownership and a substantial part of our revenues, expenses, cash and cash equivalent, and restricted cash are denominated in Renminbi. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash may be transferred within our consolidated group by way of funds to our subsidiaries, either in the form of capital contributions, working capital cash advances or working capital payable, directly or through intermediate holding companies. Canadian Solar Inc. may provide loans to its subsidiaries and vice versa, and our subsidiaries may make dividends or other distributions to Canadian Solar Inc., directly or through intermediate holding companies. These cash transfers factor the capital and liquidity needs of our subsidiaries, and are subject to our internal approval processes and funding arrangements, taking into account local regulations and tax laws. We have not faced restrictions or limitations in our ability to transfer cash between subsidiaries in countries where we earn and hold significant cash, or continue to make significant investments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we announced our plan to carve-out and publicly list our legacy Module and System Solutions subsidiary, CSI Solar Co., Ltd. (&#8220;CSI Solar&#8221;), in China (&#8220;the IPO&#8221;). In preparation for the IPO, we transferred our China solar power system and project assets from CSI Solar to our Global Energy business for a cash consideration of $19.2 million in 2021.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. transferred an aggregate of $391.3 million, $339.6 million and $187.5 million of cash in the form of capital contributions and loans to our subsidiaries in 2020, 2021 and 2022, respectively. Canadian Solar Inc. further transferred an aggregate $206.9 million in 2021, and received an aggregate $287.9 million and $11.0 million in 2020 and 2022, of cash related to net working capital advances to subsidiaries. These transfers were made to our Global Energy subsidiaries primarily for solar and battery storage projects. Apart from these transfers to our Global Energy subsidiaries, $20.0 million was transferred as capital contribution to CSI Solar in 2020, prior to its carve-out IPO plan. There were no transfers made to the other PRC subsidiaries. Our PRC operations are generally funded through the revenue cash flows from the sales of solar modules, solar system kits and battery storage solutions, and domestic borrowings within CSI Solar.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. received an aggregate of $20.5 million, $533.8 million and $172.6 million of cash in 2020, 2021 and 2022, respectively, from repayment of loans by our Global Energy subsidiaries. Canadian Solar Inc. further transferred $340.5 million and $42.2 million in 2020 and 2021, respectively, and received an aggregate $38.6 million in 2022, of cash related to net working capital payable to our Global Energy subsidiaries. There were no cash proceeds nor distribution received from PRC subsidiaries in 2020, 2021 and 2022, and Canadian Solar Inc. received an aggregate of $49.6 million of cash related to a loan from a Global Energy subsidiary in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, we conduct regular procurement transactions with CSI Solar&#8217;s subsidiaries related to purchase of modules and battery storage solutions for our Global Energy projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Prior to the completion of the carve-out IPO restructuring, CSI Solar paid a one-time dividend of RMB847.6 million ($123.5 million) to Canadian Solar Inc. in 2020. This transaction was subjected to a 10% withholding income tax rate of RMB84.8 million ($12.4 million) based on the EIT Law and its implementation rules. There have not been any transfers, dividends, or distributions from CSI to our U.S. investors to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our ability to pay dividends, if any, to our shareholders and to service any debt we may incur will depend upon dividends paid by and loan repayment or distributions by our subsidiaries. Under PRC laws and regulations, our PRC subsidiaries are subject to certain restrictions with respect to paying dividends or otherwise transferring any of their net assets offshore to us. In particular, our PRC subsidiaries are required to set aside no less than 10% of profit after tax as appropriations to the general reserve and other statutory reserves. These reserves, together with the registered capital, are not distributable as cash dividends except in the event of liquidation and with approval from the local PRC government. As of December 31, 2022, these restricted net assets in the PRC amounted to $658.2 million. Furthermore, our PRC subsidiaries are subject to restrictions on currency exchange. Under existing PRC foreign exchange regulations, payments of current account items, including profit distributions, interest payments and expenditures from trade-related transactions, can be made in foreign currencies without prior approval from the People&#8217;s Bank of China and PRC State Administration of Foreign Exchange, or SAFE, by complying with certain procedural requirements. However, the relevant PRC governmental authorities may limit or eliminate our PRC subsidiaries&#8217; ability to purchase foreign currencies in the future for current account transactions. Since a significant amount of our future revenues and cash flow will be generated under our PRC subsidiaries, and most of our cash and cash equivalents and restricted cash are denominated in Renminbi, any existing and future restrictions on dividend or currency exchange may limit our ability to utilize cash generated by our PRC subsidiaries to fund our business activities outside of the PRC or pay dividends in foreign currencies. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In other countries where we earn and hold significant cash, or continue to make significant investments, we believe there are no significant restrictions or limitations on foreign exchange, our ability to transfer cash between entities across borders or to U.S. investors, or our ability to distribute earnings from our subsidiaries. Changes in business environments, debt instruments entered into by our subsidiaries, regulatory changes, and limitations under PRC laws and regulations and other developments outside of our control may prevent some or all of our subsidiaries from making distributions or payments to us in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">The Holding Foreign Companies Accountable Act</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 2, 2021, the SEC adopted final amendments implementing the disclosure and submission requirements of the Holding Foreign Companies Accountable Act, or the HFCAA. The final amendments establish the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the Public Company Accounting Oversight Board, or the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over-the-counter trading market in the U.S. In the event of such determination, the Nasdaq is expected to delist our common shares.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is included in the list of PCAOB identified firms in the determination report issued in December 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Consequently, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on May 26, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 26, 2022, the PCAOB announced that it signed a Statement of Protocol with the CSRC and the Ministry of Finance, which it described as the first step toward opening access for the PCAOB to inspect and investigate completely registered public accounting firms in mainland China and Hong Kong. On December 15, 2022, the PCAOB announced that it has secured complete access to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. The PCAOB also vacated its previous determinations issued on December 16, 2021. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB. For this reason, we do not expect to be identified as a Commission-Identified Issuer under the HFCAA after we file this annual report on Form 20-F for the fiscal year ended December 31, 2022. Until such time as the PCAOB issues any new determination, we do not expect our securities to be subject to a trading prohibition under the HFCAA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 29, 2022, the Consolidated Appropriations Act, 2023 was signed into law, which, among other things, amended the HFCAA to reduce to number of consecutive years an issuer can be identified a Commission-Identified Issuer before the SEC must impose an initial trading prohibition on the issuer&#8217;s securities from three years to two years. Therefore, once an issuer is identified as a Commission-Identified Issuer for two consecutive years, the SEC is required under the HCFAA to prohibit the trading of the issuer&#8217;s securities on a national securities exchange and in the over-the-counter market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Each year, the PCAOB will determine whether it can inspect and investigate completely audit firms in mainland China and Hong Kong, among other jurisdictions. If the PCAOB determines in the future that it no longer has full access to inspect and investigate completely accounting firms in mainland China and Hong Kong and we use an accounting firm headquartered in one of these jurisdictions to issue an audit report on our financial statements filed with the SEC, we would be identified as a Commission-Identified Issuer following the filing of the annual report on Form 20-F for the relevant fiscal year. In accordance with the HFCAA, our securities would be prohibited from being traded on a national securities exchange or in the over-the-counter trading market in the United States if we are identified as a Commission-Identified Issuer for two consecutive years in the future. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. For a detailed discussion of the related risks, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our common shares may be prohibited from trading in the United States under the HFCAA in the future if it is later determined that the PCAOB is unable to inspect or investigate completely our auditor. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment.&#8221;</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">A</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">[Reserved]</b></p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">B</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Capitalization and Indebtedness</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">C</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Reasons for the Offer and Use of Proceeds</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risk Factors</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Company and Our Industry</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power</span> <span style="font-style:italic;font-weight:bold;">and battery storage products and services may decline, which may reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business is affected by conditions in the solar power market and industry. We believe that the solar power market and industry may from time to time experience oversupply. When this occurs, many solar power project developers, solar system installers and solar power product distributors that purchase solar power products, including solar modules from manufacturers like us, may be adversely affected. Our shipments of solar modules increased in 2021 compared to 2020, and further increased in 2022. The average selling prices for our solar modules declined from the previous year in 2020 but increased in 2021 and in 2022. If the supply of solar modules grows faster than demand and if governments continue to reduce financial support for the solar industry and impose trade barriers for solar power products, demand and the average selling price for our products could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The solar power market is still at a relatively early stage of development, and future demand for solar power products and services is uncertain. Market data for the solar power industry is not as readily available as for more established industries, where trends are more reliably assessed from data gathered over a longer period of time. In addition, demand for solar power products and services in our largest end markets, including the U.S., Europe, Japan, China, Brazil and India, may not develop or may develop to a lesser extent than we anticipate. Many factors may affect the viability of solar power technology and the demand for solar power products, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the cost-effectiveness, performance and reliability of solar power products and services, including our solar and battery storage projects, compared to conventional and other renewable energy sources and products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of government incentives to support the development of the solar power industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of capital, including long-term debt and tax equity, for solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the success of other alternative energy technologies, such as wind power, hydroelectric power, clean hydrogen, geothermal power and biomass fuel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in economic and market conditions that affect the viability of conventional and other renewable energy sources, such as increases or decreases in the prices of oil, gas and other fossil fuels;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">capital expenditures by end users of solar power and battery storage products and services, which tend to decrease when the economy slows; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of favorable regulation for solar power within the electric power industry and the broader energy industry.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If solar power and battery storage technology is not suitable for widespread adoption or if sufficient demand for solar power and battery storage products and services does not develop or takes longer to develop than we anticipate, our revenues may suffer and we may be unable to sustain our profitability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The operating results of our project development business within Global Energy segment and the mix of revenues from our CSI Solar and Global Energy segments may be subject to significant fluctuation due to a number of factors, including the unpredictability of the timing of the development and sale of our solar and battery storage projects and our inability to find third party buyers for our projects in a timely manner, on favorable terms and conditions, or at all.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our Global Energy segment develops, sells and/or operates and maintains solar and battery storage projects primarily in the U.S., Brazil, Chile, the U.K., the EU, Japan, China, Taiwan and Australia. Our project development activities have grown over the past several years through a combination of organic growth and acquisitions. After completing their development, we either sell our solar power or battery storage projects to third party buyers, or operate them under PPAs or other contractual arrangements with utility companies or grid operators. Revenues from our Global Energy segment increased by $397.9 million, or 55%, to $1,124.1 million for the year ended December 31, 2021 and then decreased by $302.6 million, or 26.9%, to $821.5 million for the year ended December 31, 2022. We intend to grow our volume of project sales while optimizing our project monetization strategy by establishing local investment vehicles that will help maximize the value of our project assets and capture additional operational value throughout the partial ownership period, including long-term income from power sales, O&amp;M, asset management and other services. We also intend to monetize certain of our projects before they reach COD. However, there is no assurance whether or when we will be able to realize their estimated resale value. Also, from time to time, we may reclassify project assets as solar power systems as the intention on these projects transition to be held on our balance sheet for the purpose of generating long-term electricity income.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The operating results of our energy business may be subject to significant period-over-period fluctuations for a variety of reasons, including but not limited to the unpredictability of the timing of the development and sale of our solar and battery storage projects, changes in market conditions after we have committed to projects, availability of financing for our projects and changes in government regulations and policies, all of which may result in the cancellation of or delays in the development of projects, inability to monetize or delays in monetizing projects or changes in amounts realized on monetization of projects. If a project is canceled, abandoned or deemed unlikely to occur, we will charge all prior capital costs as an operating expense in the quarter in which such determination is made, which could materially adversely affect operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Further, the mix of revenues from our CSI Solar and Global Energy segments can fluctuate dramatically from quarter to quarter, which may adversely affect our margins and financial results in any given period. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Any of the foregoing may cause us to miss our financial guidance for a given period, which could adversely impact the market price for our common stock and our liquidity. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power and battery storage products and services, hamper our expansion and materially affect our results of operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Most solar and battery storage projects, including our own, require financing for development and construction with a mixture of equity and third-party funding. The cost of capital affects both the demand and price of solar power and battery storage systems. A high cost of capital may materially reduce the internal rate of return for solar and battery storage projects and therefore put downward pressure on the prices of solar systems, solar modules and battery storage systems, which typically comprise a major part of the cost of solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, solar and battery storage projects compete for capital with other forms of fixed income investments such as government and corporate bonds. Some classes of investors compare the returns of solar and battery storage projects with bond yields and expect a similar or higher internal rate of return, adjusted for risk and liquidity. Higher interest rates could increase the cost of existing funding and present an obstacle for future funding that would otherwise spur the growth of the solar power and battery storage industry. Moreover, as a result of the effects of inflation in the global economy, certain governmental authorities responsible for administering monetary policy have recently increased, and are likely to continue to increase, applicable central bank interest rates, which could increase the costs required to obtain debt financing in the future or refinance current indebtedness. In addition, higher bond yields could result in increased return expectations for solar and battery storage projects, which would result in lower sale prices. In the event that suitable funding is unavailable, our customers may be unable to pay for products they have agreed to purchase. It may also be difficult to collect payments from customers facing liquidity challenges due to either customer defaults or financial institution defaults on project loans. Unfavorable credit markets may impede our expansion plans and materially and adversely affect our results of operations. The cash flow of a solar power or battery storage project may be derived from government-funded or government-backed FITs. Consequently, the availability and cost of funding solar and battery storage projects is determined in part based on the perceived sovereign credit risk of the country where a particular project is located.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In light of the uncertainty in the global credit and lending environment, we cannot make assurances that financial institutions will continue to offer funding to solar and battery storage project developers at reasonable costs. An increase in interest rates or a decrease in funding of capital projects within the global financial market could make it difficult to fund solar power and battery storage systems and potentially reduce the demand for solar modules and battery storage systems and/or reduce the average selling prices for solar modules and battery storage systems, which may materially and adversely affect our business, results of operations, financial condition and prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to expand the development pipeline of our energy business in several key markets, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Historically, our sales of modules, solar system kits, and other services have accounted for the majority of our net revenues. We have, in recent years, increased our investment in our energy business, which primarily consists of solar power and battery storage project development and sale, O&amp;M and asset management services, and sale of electricity generated by our solar power systems.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">While we plan to continue to monetize our current portfolio of solar and battery storage projects in operation, we also intend to grow our energy business by developing and selling or operating more solar and battery storage projects that we develop. As we do, we will be increasingly exposed to the risks associated with these activities. Further, our future success largely depends on our ability to expand our solar power and battery storage project development pipeline. The risks and uncertainties associated with our energy business, and our ability to expand our solar power and battery storage project development pipeline, include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the uncertainty of being able to sell the projects, receive full payment for them upon completion, or receive payment in a timely&#160;manner;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the need to raise significant additional funds to develop greenfield or purchase late stage solar and battery storage projects, which we may be unable to obtain on commercially reasonable terms or at all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including construction and procurement price inflation, delays in regulatory approvals, grid connection, supply chain of our suppliers or availability of components, construction and installation, and customer acceptance testing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays or denial of required regulatory approvals by relevant government authorities, as a result of, among others, poor management of permitting process, including lack or resources and opaqueness of administrative measures;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to execute our project development pipeline expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to successfully expand our energy business, and, in particular, our solar and battery storage project development pipeline, we may be unable to expand our business, maintain our competitive position, improve our profitability and generate cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery storage power, which could cause demand for our products to&#160;decline.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Historically, the market for on-grid applications, where solar power supplements the electricity a customer purchases from the utility network or sells to a utility under a FIT, depends largely on the availability and size of government subsidy programs and economic incentives. Until recently, the cost of solar power exceeded retail electricity rates in many locations. Government incentives vary by geographic market. Governments in many countries provided incentives in the form of FITs, rebates, tax credits, renewable portfolio standards, auctions for Contracts for Difference (&#8220;CfDs&#8221;), Feed-in Premium (&#8220;FIP&#8221;) and other incentives. These governments implemented mandates to end-users, distributors, system integrators and manufacturers of solar power products to promote the use of solar energy in on-grid applications and to reduce dependency on other forms of energy. However, these government mandates and economic incentives in many markets either have been or are scheduled to be reduced or eliminated altogether, and it is likely that eventually incentives for solar and alternative energy technologies will be phased out completely. Over the past few years, the cost of solar energy has generally declined, and the industry has become less dependent on government incentives. However, governments in some of our largest markets have expressed their intention to continue supporting various forms of &#8220;green&#8221; energies, including solar power, as part of broader policies towards the reduction of carbon emissions. The governments in many of our largest markets, including the United States and a number of the states of the European Union (including without limitation, Italy, France, Germany, Spain and Poland) continue to provide incentives and policy support schemes for investments in solar power and energy storage that will directly benefit the solar and energy storage industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the United States, renewable energy projects currently benefit from various federal, state and local governmental incentives, such as ITCs, PTCs and Renewable Portfolio Standards (&#8220;RPS&#8221;) programs, accelerated tax depreciation, and other incentives provided for under the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;), signed into law on August 16, 2022. The provisions of the IRA are intended to, among other things, incentivize domestic clean energy investment, manufacturing and production. The IRA includes provisions that provide incentives for clean energy through enhancement of the Investment Tax Credit (&#8220;ITC&#8221;) program, enablement of solar energy projects to also utilize the Production Tax Credit (&#8220;PTC&#8221;) program and availability of advanced manufacturing tax production credit pursuant to Section 45X of the Internal Revenue Code for solar modules and solar module components manufactured in the United States and sold to third parties. Such credit, which may be refundable or transferable to a third party, is available through 2032, subject to phase down beginning in 2030. Under the current legislative framework, most solar and energy storage projects are expected to qualify for the PTCs or ITCs at least through the end of 2032. The IRA provisions is further expected to expand the ITC to include stand-alone energy storage projects and introduce the ability of asset owners to transfer tax credits created under the IRA to third parties, which is expected to help address the lack of sufficient tax equity capacity. We view the enactment of the IRA as favorable for the overall business climate for solar and battery storage industry, however, we are continuing to evaluate the overall impact and applicability of the IRA to our current and planned business and the markets in which we seek to sell our products and services. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As to Europe, a number of European countries (notably, Germany, France, Italy, Spain and Poland) continue to support realization of solar projects through incentive schemes and auctions, with additional limitations and regulations on agricultural land as compared to industrial and commercial zones, and the enactment of new laws in order to simplify the permitting process and enhance administrative resources to promote renewable energy sources. The European Union is in the process of revising the Renewable Energy Directive that may provide additional support for solar and energy storage development, though the final outcome of these discussions is uncertain. As to Japan, new FIP scheme has been effectively implemented in April 2022. This new scheme ensures investment incentives for power producers by allowing them to receive premium based on the unit price in addition to the sales revenue from the transactions at the power exchange or through the power purchase agreements, and such premium is calculated by deducting reference price based on the market price from the base price. We believe that the near-term growth of the market partially depends on the availability and size of such government incentives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">While solar and battery storage projects may continue to offer attractive internal rates of return, it is unlikely that these rates will be as high as they were in the past. If internal rates of return fall below an acceptable rate for project investors, and governments continue to reduce or eliminate incentives for solar and battery storage power, this may cause a decrease in demand and considerable downward pressure on solar systems and therefore negatively impact both solar module prices and the value of our solar and battery storage projects. The reduction, modification or elimination of government incentives in one or more of our markets could therefore materially and adversely affect the growth of such markets or result in increased price competition, either of which could cause our revenues to decline and harm our financial results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have been, and may be in the future, subject to the imposition of antidumping and countervailing duty orders or safeguard measures in one or more of the markets in which we sell our products. In the past, we were subject to the imposition of antidumping and countervailing duty orders and safeguard measures in the U.S., the EU, and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S., the EU, the U.K. and Canada are important markets for us. Ongoing proceedings relating to past, and the imposition of any new, antidumping and countervailing duty orders or safeguard measures in these markets may result in additional costs to us and/or our customers, which may materially and adversely affect our business, results of operations, financial conditions and future prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">General global economic conditions may have an adverse impact on our operating performance and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The demand for solar power and battery storage products and services is influenced by macroeconomic factors, such as global economic conditions (e.g. interest rates, foreign exchange rates and inflation), demand for electricity, supply and prices of other energy products, such as oil, coal and natural gas, as well as government regulations and policies concerning the electric utility industry, clean and other alternative energy industries and the environment. There can be no assurance that we will be able to recover any increase in our costs as a result of recent inflationary pressures, by increasing prices, which in turn would increase our operating costs. As a result of global economic conditions, some governments may implement measures that reduce the FITs and other incentives designed to benefit the solar industry. A decrease in solar power tariffs or wholesale electricity in many markets placed downward pressure on the price of solar and battery storage systems in those and other markets. In addition, reductions in oil and coal prices may reduce the demand for and the prices of solar power and battery storage products and services. Our growth and profitability depend on the demand for and the prices of solar power products and services. If we experience negative market and industry conditions and demand for solar and battery storage projects and solar power and battery storage products and services weakens as a result, our business and results of operations may be adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development and construction of solar and battery storage projects involve known and unknown risks, many of which are not under our sole control. For example, we may be required to invest significant amounts of money for land and interconnection rights, preliminary engineering and permitting and may incur legal and other expenses before we can determine whether a project is feasible; we may also need to engage and rely on third parties including, but not limited to, contractors and consultants. Success in developing a particular project is contingent upon, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">securing</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">land rights and related permits, including satisfactory environmental assessments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">receipt of required land use and construction permits and approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">receipt of rights to interconnect to the electric grid;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">availability of transmission capacity, potential upgrade costs to the transmission grid and other system constraints;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">payment of interconnection and other deposits (some of which are non-refundable);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">negotiation of satisfactory EPC agreements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solvency or financial conditions of our suppliers, EPC contractors or other third parties that we engage;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">obtaining construction financing, including debt, equity and tax credits; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">timely and satisfactory execution and performance by the third parties that we engage.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, successful completion of a particular project may be adversely affected by numerous factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in laws, regulations and policies and shifts in trade barriers and remedies, especially tariffs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays in obtaining and maintaining required governmental permits and&#160;approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">compliance with domestic content and labor requirements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">potential challenges from local residents, environmental organizations, and others who may not support the&#160;project;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">unforeseen engineering problems; subsurface land conditions; construction delays; cost over-runs; labor, equipment and materials supply shortages or disruptions (including labor&#160;strikes);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to enter into PPAs on terms favorable to us, or at all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">additional complexities when conducting project development or construction activities in foreign jurisdictions, including compliance with applicable U.S. or local laws and customs;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">force majeure events, including adverse weather conditions, pandemics, supply chain disruptions, hostilities and other events beyond our&#160;control.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to complete the development of a solar power and battery storage project or we fail to meet any agreed upon system level capacity or energy output guarantees or warranties or other contract terms, or our projects cause grid interference or other damage, the EPC, the PPA or other agreements related to the project may, depending on the specific terms of the agreements, be terminated and/or we may be subject to significant damages, penalties and other obligations relating to the project, including obligations to repair, replace or supplement materials for the project. If a third-party EPC contractor is terminated or resigns, we may be forced to take on additional risk, such as cost inflation and other cost increase that would otherwise be covered by third-party EPC contractor and responsibilities associated with the construction. No assurances can be given that disputes with EPC contractors will not arise in the future. Any of these events may materially and adversely affect our business, results of operations and financial conditions.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We may enter into fixed-price EPC agreements in which we act as the general contractor for our customers in connection with the installation of their solar power and battery storage systems. All essential costs are estimated at the time of entering into the EPC agreement for a particular project, and these costs are reflected in the overall fixed price that we charge our customers for the project. These cost estimates are preliminary and may or may not be covered by contracts between us and the subcontractors, suppliers and other parties involved in the project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, we require qualified, licensed subcontractors to install most of our solar power and battery storage systems. Shortages of components (which may be attributable to the shortage of raw materials or components), skilled labor, or inability to obtain regulatory approvals and operating permits could significantly delay a project or otherwise increase our costs. Should miscalculations in planning a project occur, including those due to unexpected increases in commodity prices or labor costs, or delays in execution occur and we are unable to increase the EPC sales price commensurately, we may not achieve our expected margin or our results of operations may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Developing and operating solar and battery storage projects exposes us to risks different from those related to producing solar modules.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development of solar and battery storage projects can take many months or years to complete and may be delayed for reasons beyond our control. There can be no assurance that the projects can be completed within the time or at the costs projected. Any such delays or cost overruns or the inability to obtain such approvals or to reach such agreements on acceptable terms could negatively affect the returns from any proposed or current solar and battery storage projects. &#160;It often requires us to make significant up-front payments for, among other things, land rights, interconnection work and permitting in advance of commencing construction, and revenue from these projects may not be recognized for several additional months following contract signing. Any inability or significant delays in entering into sales contracts with customers after making such up-front payments could adversely affect our business and results of operations. Furthermore, we may become constrained in our ability to simultaneously fund our other business operations and invest in other projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In contrast to producing solar modules, developing solar and battery storage projects requires more management attention to negotiate the terms of our engagement and monitor the progress of the projects which may divert management&#8217;s attention from other matters. Our revenue and liquidity may be adversely affected to the extent the market for solar and battery storage projects weakens or we are not able to successfully complete the customer acceptance testing due to technical difficulties, equipment failure, or adverse weather, and we are unable to sell our solar and battery storage projects at prices and on terms and timing that are acceptable to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy business also includes operating solar and battery storage projects and selling electricity to the local or national grid or other power purchasers. As a result, we are subject to a variety of risks associated with intense market competition, changing regulations and policies, insufficient demand for solar or battery storage, technological advancements and the failure of our power generation facilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We own a 70% stake in CSFS Fund I, a closed-ended, real-estate reserved alternative investment fund in Italy. We sold 30% of CSFS Fund I&#8217;s preferred units to a third-party investor in 2022. We also currently own a 15% stake in the Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;, TSE: 9284), the largest Japanese infrastructure fund listed on the Tokyo Stock Exchange since 2017. By creating these and similar funds, we are subject to a variety of risks and regulations that substantially differ from the risks the rest of our businesses are subject to, such as the risk that the funds may not be deployed successfully, may experience investor withdrawal or liquidation with limited notice or penalty, or may not generate a sufficient rate of return to satisfy fund investors. If we are unable to consistently deliver quality and consistent returns, it may impact our ability to attract capital and continue holding the assets acquired by the funds. We may also suffer reputational damage if our funds do not perform in-line with investor expectations. Our fund partners and investors may have interests that are different from ours which may result in conflicting views as to the conduct and management of the investments. Any disagreements with our partners or investors could adversely affect our business and results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face a number of risks involving PPAs and project-level financing arrangements, including failure or delay in entering into PPAs, defaults by counterparties and contingent contractual terms such as price adjustment, termination, buy-out, acceleration and other clauses, all of which could materially and adversely affect our energy business, financial condition, results of operations and cash&#160;flows.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We may not be able to enter into PPAs for our solar and battery storage projects due to intense competition, increased supply of electricity from other sources, reduction in wholesale electricity prices, changes in government policies or other factors. There is a limited pool of potential buyers for electricity generated by our solar power plants since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions. The willingness of buyers to purchase electricity from an independent power producer may be based on a number of factors and not solely on pricing and surety of supply. Failure to enter into PPAs on terms favorable to us, or at all, would negatively impact our revenue and our decisions regarding the development of additional power plants. We may experience delays in entering into PPAs for some of our solar and battery storage projects or may not be able to replace an expiring PPA with a contract on equivalent terms and conditions, or otherwise at prices that permit operation of the related facility on a profitable basis. Any delay in entering into PPAs may adversely affect our ability to finance project construction and to enjoy the cash flows generated by such projects. If we are unable to replace an expiring PPA with an acceptable new PPA, the affected site may temporarily or permanently cease operations, or could be exposed to more uncertain merchant or wholesale electricity pricing, which could materially and adversely affect our financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The electric power generated by our solar and battery storage projects will generally be sold under long-term PPAs with public utilities, licensed suppliers, corporate offtakers, and commercial, industrial or government end users. Despite possible future alternatives, we expect a substantial number of our future projects to also have long-term PPAs or similar offtake arrangements such as FIT programs. If, for any reason, any of the purchasers of power under these contracts are unable or unwilling to fulfill their related contractual obligations, they refuse to accept delivery of the power delivered thereunder or they otherwise terminate them prior to their expiration, our assets, liabilities, business, financial condition, results of operations and cash flows could be materially and adversely affected. Further, to the extent any of our power purchasers are, or are controlled by, governmental entities, our facilities may be subject to legislative or other political action that may impair their contractual performance or contain contractual remedies that do not provide adequate compensation in the event of a counterparty default.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PPAs are subject to price adjustments over time. If the price under any of our PPAs is reduced below a level that makes a project economically viable, our financial conditions, cash flow and results of operations could be materially and adversely affected. Some inflation-based price adjustment is only done yearly and consequently may not allow us to pass on the additional costs in a timely manner, if at all. Further, some of our long-term PPAs do not include inflation-based price increases. Certain of the PPAs for our own projects and those for projects that we have acquired and may acquire in the future contain or may contain provisions that allow the offtake purchaser to terminate or buy out the project or require us to pay liquidated damages upon the occurrence of certain events. If these provisions are exercised, our financial condition, results of operations and cash flows could be materially and adversely affected. To the extent the output of a project is not fully subject to PPAs, electricity generated by our solar power systems will be exposed to merchant price risk. Additionally, certain of the project-level financing arrangements for projects allow, and certain of the projects that we may acquire in the future may allow, the lenders or investors to accelerate the repayment of the financing arrangement in the event that the related PPA is terminated or if certain operating thresholds or performance measures are not achieved within specified time periods. Certain of our PPAs and project-level financing arrangements include, and in the future may include, provisions that would permit the counterparty to terminate the contract or accelerate maturity in the event we own, directly or indirectly, less than 50% of the combined voting power or, in some cases, if we cease to be the majority owner, directly or indirectly, of the applicable project subsidiary. The termination of any of our PPAs or the acceleration of the maturity of any of our financing arrangements as a result of a change-in-control event could have a material adverse effect on our financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Oversupply of polysilicon, solar wafers, cells and modules may cause substantial downward pressure on the prices of our products and reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Silicon production capacity has expanded rapidly in recent years. As a result of this expansion, coupled with the global economic downturn, the solar industry has experienced an oversupply of high-purity silicon since the beginning of 2009. This has contributed to an oversupply of solar wafers, cells and modules and resulted in substantial downward pressure on prices throughout the value chain. The average selling price of our solar modules decreased from $0.29 per watt in 2019 to $0.25 per watt in 2020, and subsequently increased to $0.28 per watt in 2021 and $0.30 per watt in 2022. Although we believe that there is a relative balance between capacity and demand at low prices due to industry consolidation, increases in solar module production in excess of market demand may result in further downward pressure on the price of solar wafers, cells and modules, including our products. Increasing competition could also result in us losing sales or market share.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On the other hand, demand for solar products remains strong and may continue to increase, driven by various factors such as the efforts being made by major economies toward clean, renewable energy sources and decarbonization, which could result in increase in the costs of and difficulties in sourcing raw materials to support the increased production levels due to capacity addition limitations. As a result, we may not be able to keep up with fast growth in the demand for our solar products. Accordingly, due to fluctuations in the supply and price of solar power products throughout the value chain, we may not be able to, on an ongoing basis, procure silicon, wafers and cells at reasonable costs if any of the above risks materializes. If, on an ongoing basis, we are unable to procure silicon, solar wafers and solar cells at reasonable prices or mark up the price of our solar modules to cover our manufacturing and operating costs, our revenues and margins will be adversely impacted, either due to higher costs compared to our competitors or due to further write-downs of inventory, or both. In addition, our market share could decline if our competitors are able to price their products more competitively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are subject to numerous laws, regulations and policies at the national, regional and local levels of government in the markets where we do business. Any changes to these laws, regulations and policies may present legal, technical, regulatory and economic barriers to the development, construction, purchase and use of solar power and battery storage products, solar and battery storage projects and solar electricity, which may significantly reduce demand for our products and services or otherwise adversely affect our financial performance.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to a variety of laws and regulations in the markets where we do business, some of which may conflict with each other and all of which are subject to change. These laws and regulations include energy regulations, export and import restrictions, tax laws and regulations, environmental regulations, labor laws, supply chain laws and regulations and other government requirements, approvals, permits and licenses. We also face trade barriers and trade remedies such as export requirements, tariffs, taxes and other restrictions and expenses, including antidumping and countervailing duty orders, which could increase the prices of our products and make us less competitive in some countries. See &#8220;&#8212;Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the countries where we do business, the market for solar power and battery storage products, solar and battery storage projects and solar electricity is heavily influenced by national, state and local government regulations and policies concerning the electric utility industry, as well as policies disseminated by electric utilities. These regulations and policies often relate to electricity pricing and technical interconnection of customer-owned electricity generation, and could deter further investment in the research and development of alternative energy sources as well as customer purchases of solar power and battery storage technology, which could result in a significant reduction in the potential demand for our solar power and battery storage products, solar and battery storage projects and solar electricity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our CSI Solar business (which includes sales of solar system kit, battery storage solutions, and other EPC, materials, components and services), we expect that our solar power and battery storage products and their installation will continue to be subject to national, state and local regulations and policies relating to safety, utility interconnection and metering, construction, environmental protection, and other related matters. Any new regulations or policies pertaining to our solar power and battery storage products may result in significant additional expenses to us, our resellers and customers, which could cause a significant reduction in demand for our solar power and battery storage products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy business, we are subject to numerous national, regional and local laws and regulations. Changes in applicable energy laws or regulations, or in the interpretations of these laws and regulations, could result in increased compliance costs or the need for additional capital expenditures. If we fail to comply with these requirements, we could also be subject to civil or criminal liability and the imposition of fines. Further, national, regional or local regulations and policies could be changed to provide for new rate programs that undermine the economic returns for both new and existing projects by charging additional, non-negotiable fixed or demand charges or other fees or reductions in the number of projects allowed under net metering policies. National, regional or local government energy policies, law and regulation supporting the creation of organized merchant or wholesale electricity markets are currently, and may continue to be, subject to challenges, modifications and restructuring proposals, which may result in limitations on the commercial strategies available to us for the sale of our power. For example, reforms to the energy regulatory regime (primarily regarding the power industry law), which are proposed by the Mexican government and are currently under review by the Mexican courts seek to give Mexico&#8217;s national power company, the Federal Electricity Commission (&#8220;CFE&#8221;), preferential status in energy dispatch over private firms. Clean energy proponents argue that such reforms would hinder free competition and unduly benefit the CFE, and they continue to file constitutional challenges, called amparos, against such reforms, which are pending resolution before the Mexican courts.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Regulatory changes in a jurisdiction where we are developing a solar and battery storage project may make the continued development of the project infeasible or economically disadvantageous and any expenditure that we have previously made on the project may be wholly or partially written off. Any of these changes could significantly increase the regulatory related compliance and other expenses incurred by the projects and could significantly reduce or entirely eliminate any potential revenues that can be generated by one or more of the projects or result in significant additional expenses to us, our offtakers and customers, which could materially and adversely affect our business, financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also face regulatory risks imposed by various transmission providers and operators, including regional transmission operators and independent system operators, and their corresponding market rules. These regulations may contain provisions that limit access to the transmission grid or allocate scarce transmission capacity in a particular manner, which could materially and adversely affect our business, financial condition, results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are also subject to the Foreign Corrupt Practices Act of 1977, or the FCPA, the U.S. domestic bribery statute contained in 18 U.S.C. &#167; 201, the U.S. Travel Act, the USA PATRIOT Act and other anti-corruption laws that prohibit companies and their employees and third-party intermediaries from authorizing, offering or providing, directly or indirectly, improper payments or benefits to foreign government officials, political parties and private-sector recipients for the purpose of obtaining or retaining business in countries in which we conduct activities. We may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities in the course of our business (for example, to obtain approvals, permits and licenses from applicable government authorities and to sell power to government-owned entities). We would face significant liabilities if we failed to comply with these laws and we could be held liable for the illegal activities of our employees, representatives, contractors, partners, and agents, even if we did not authorize such activities. Any violation of the FCPA or other applicable anticorruption laws could also result in whistleblower complaints, adverse media coverage, investigations, loss of export privileges, severe criminal or civil sanctions, which could have a material adverse effect on our business, financial condition, results of operation, cash flows and reputation. In addition, responding to any enforcement action may result in the diversion of management&#8217;s attention and resources, significant defense costs and other professional fees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Because the markets in which we compete are highly competitive and evolving quickly, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy business, we may not be able to compete successfully and we may not be able to maintain or increase our market&#160;share.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our CSI Solar business, we face intense competition from a large number of competitors, including non-China-based companies such as First Solar, Inc., or First Solar, and China-based companies such as LONGI Green Energy Technology Co. Ltd., or Longi, Trina Solar Limited, or Trina, JinkoSolar Holding Co., Limited, or Jinko, JA Solar Co., Limited, or JA Solar, and Hanwha Q Cells Co., Ltd., or Hanwha Q Cells. Some of our competitors are developing or are currently producing products based on new solar module and battery storage technologies that may ultimately have costs similar to or lower than our projected costs. These include products based on thin film PV technology, which requires either no silicon or significantly less silicon to produce than crystalline silicon solar modules, such as the ones that we produce, and is less susceptible to increases in silicon costs. To effectively compete, our products and production capacity are undergoing continuous transformation, which may risk missing monocrystalline module market opportunities and losing market share and in turn negatively affect our performance. For example, while crystalline silicon cell modules have become the market mainstream, our ongoing upgrade to N-type and TOPCon technology, which is focused on further improving the photoelectric conversion efficiency and reducing the manufacturing cost, is susceptible to various related risks. Our judgment of the development trend of technology and products may prove inaccurate, and we may fail to invest sufficiently in research and development in the technology with the most market potential. Consequently, we may be exposed to the risk of technological backwardness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, some of our competitors have longer operating histories, greater name and brand recognition, access to larger customer bases, greater resources and significantly greater economies of scale than we do. In addition, some of our competitors may have stronger relationships or may enter into exclusive relationships with some of the key distributors or system integrators to whom we sell our products. As a result, they may be able to respond more quickly to changing customer demands or devote greater resources to the development, promotion and sales of their products. Some of our competitors have more diversified product offerings, which may better position them to withstand a decline in demand for solar power and battery storage products. Some of our competitors are more vertically integrated than we are, from upstream silicon wafer manufacturing to solar power system integration. This may allow them to capture higher margins or have lower costs. In addition, new competitors or alliances among existing competitors could emerge and rapidly acquire significant market share. If we fail to compete successfully, our business will suffer and we may not be able to maintain or increase our market share.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy business, we compete in a more diversified and complicated landscape since the commercial and regulatory environments for solar and battery storage project development and operation vary significantly from region to region and country to country. Our primary competitors are local and international developers and operators of solar and battery storage projects. Some of our competitors may have advantages over us in terms of greater experience or resources in the operation, capital, financing, technical support and management of solar and battery storage projects, in any particular markets or in general.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have a global footprint and develop solar and battery storage projects primarily in the U.S., Canada, Japan, China, the EU, the U.K., Brazil, Mexico, Chile, Colombia, Australia and Taiwan. There is no guarantee that we can compete successfully in the markets in which we currently operate or the ones we plan to enter in the future. For example, in certain of our target markets, such as China, state-owned and private companies have emerged to take advantage of the significant market opportunity created by attractive financial incentives and favorable regulatory environment provided by the governments. State-owned companies may have stronger relationships with local governments in certain regions and private companies may be more focused and experienced in developing solar and battery storage projects in the markets where we compete. Accordingly, we need to continue to be able to compete against both state-owned and private companies in these markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also provide battery storage and system solutions, EPC, O&amp;M and asset management services, and face intense competition from other service providers in those markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business also includes electricity generation and sale, we believe that our primary competitors in the electricity generation markets in which we operate are the incumbent utilities that supply energy to our potential customers under highly regulated rate and tariff structures. We compete with these conventional utilities primarily based on price, predictability of price, reliability of delivery and the ease with which customers can switch to electricity generated by or discharged from our solar and battery storage power projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As the solar power and renewable energy industry grows and evolves, we will also face new competitors who are not currently in the market. Our failure to adapt to changing market conditions and to compete successfully with existing or new competitors will limit our growth and will have a material adverse effect on our business and&#160;prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks associated with the marketing, distribution and sale of our solar power and battery storage products and services internationally.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The international marketing, sale, distribution and delivery of our products and services expose us to a number of risks, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuating sources of revenues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">difficulties in staffing and managing overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in foreign currency exchange rates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">differing regulatory and tax regimes across different markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the increased cost of understanding local markets and trends and developing and maintaining an effective marketing and distribution presence in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of providing customer service and support in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of managing our sales channels effectively as we expand beyond distributors to include direct sales to systems integrators, end users and&#160;installers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulty of managing the development, construction and sale of our solar and battery storage projects on a timely and profitable basis as a result of technical difficulties, commercial disputes with our customers and changes in regulations, among other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the difficulties and costs of complying with the different commercial, legal and regulatory requirements in the overseas markets in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any failure to develop appropriate risk management and internal control structures tailored to overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any inability to obtain, maintain or enforce intellectual property rights;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any unanticipated changes in prevailing economic conditions and regulatory requirements;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">any trade barriers such as export requirements, tariffs, taxes and other restrictions and expenses, which could increase the prices of our products and make us less competitive in some&#160;countries.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to effectively manage these risks, our ability to expand our business abroad could&#160;suffer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our revenue sources have fluctuated significantly over recent years. For example, in 2008, 89.5% of our revenues were attributable to Europe, while only 4.6% and 5.9% were attributable to the Americas and to Asia and other regions, respectively. However, in 2020, Europe and other regions contributed 18.3% while the Americas contributed 35.1% and Asia contributed 46.6% of our revenues; in 2021, Europe and other regions contributed 16.3% while the Americas contributed 43.2% and Asia contributed 40.5% of our revenues; in 2022, Europe and other regions contributed 25.9% while the Americas contributed 37.4% and Asia contributed 36.7% of our revenues. As we shift the focus of our operations between different regions of the world, we have limited time to prepare for and address the risks identified above. Furthermore, some of these risks, such as currency fluctuations, will increase as our revenue contribution from certain global regions becomes more prominent. This may adversely influence our financial performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have in the past, and may in the future, implement initiatives designed to manage our manufacturing capacity to meet demand efficiently. We may fail to realize the full benefits of, and could incur significant costs relating to, any such initiatives, which could materially adversely affect our business, financial condition, and results of operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have implemented several initiatives designed to manage our manufacturing capacity to meet demand efficiently. Our solar module, cell, solar wafer and ingot total annual production capacity was 32.2 GW, 19.8 GW, 20.0 GW and 20.4 GW, respectively, as of December 31, 2022. We target to expand these annual capacities to be 75.0 GW, 60.0 GW, 50.0 GW and 50.4 GW, respectively, by March 2024, of which 50.0 GW, 50.0 GW, 35.0 GW and 20.4 GW, respectively, is targeted for December 2023. In January 2023, we entered into an investment agreement with the municipal government of Yangzhou City in Jiangsu Province, China. Under this agreement, we plan to add vertically integrated high efficiency wafer, cell and module capacity, as well as battery system manufacturing capacity, in Yangzhou&#8217;s clean energy manufacturing industrial park, The project plan will be carried out in three phases, with phase I being 14 GW of annual wafer and cell capacity. Phase I is expected to commence production in the second half of 2023, while phases II and III are subject to market conditions and our assessments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We expect to further increase the level of vertical integration of our manufacturing capacity and better control our costs, technology and product quality. As a result, our pricing power and margins can be further improved. We will continue to evaluate opportunities to reduce our manufacturing costs and may implement additional initiatives to increase our manufacturing capacity. However, we cannot assure you that we will realize the cost savings and productivity improvements we expect as a result of these or any future initiatives. Future initiatives to build, transfer or consolidate manufacturing operations could also involve significant start-up or qualification costs for new or repurposed facilities. The failure to realize the full benefits of, or the incurrence of significant costs relating to, these initiatives could materially adversely affect our business, financial condition, and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future business depends in part on our ability to make strategic acquisitions, investments and divestitures and to establish and maintain strategic relationships, and our failure to do so could have a material and adverse effect on our market penetration and revenue&#160;growth.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We frequently look for and evaluate opportunities to acquire other businesses, make strategic investments or establish strategic relationships with third parties to improve our market position or expand our products and services. When market conditions permit and opportunities arise, we may also consider divesting part of our current business to focus management attention and improve our operating efficiency. Investments, strategic acquisitions and relationships with third parties could subject us to a number of risks, including risks associated with integrating their personnel, operations, services, internal controls and financial reporting into our operations as well as the loss of control of operations that are material to our business. If we divest any material part of our business, particularly our upstream manufacturing business or downstream energy business through e.g. STAR Listing, we may not be able to benefit from our investment and experience associated with that part of the business and may be subject to intensified concentration risks with less flexibility to respond to market fluctuations. Moreover, it could be expensive to make strategic acquisitions, investments, divestitures and establish and maintain relationships, and we may be subject to the risk of non-performance by a counterparty, which may in turn lead to monetary losses that materially and adversely affect our business. Uncertainties with respect to the relatively new PRC regulations, including the Foreign Investment Law and the Implementation Rules of Foreign Investment Law, may also make it more difficult for us to pursue growth through acquisitions. See &#8220;&#8212;The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.&#8221; We cannot assure you that we will be able to successfully make strategic acquisitions and investments and successfully integrate them into our operations, or make strategic divestitures or establish strategic relationships with third parties that will prove to be effective for our business. Our inability to do so could materially and adversely affect our market penetration, our revenue growth and our profitability.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our significant international operations expose us to a number of risks, including unfavorable political, regulatory, labor and tax conditions in the countries where we&#160;operate.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to continue to extend our global reach and capture market share in various global markets. In doing so, we will be exposed to various risks, including political, regulatory, labor and tax risks. Any government policies that are unfavorable towards international trade, such as capital controls or tariffs, may affect the demand for our products and services, impact our competitive position, or prevent us from expanding globally. If any new tariffs, legislation, or regulations are implemented, or if existing trade agreements are renegotiated, such changes could adversely affect our business, financial condition, and results of operations. Many perceive globalization to be in retreat and protectionism on the rise, as evidenced by the United Kingdom&#8217;s departure from the EU and the decisions of the U.S. Government to, among other actions, impose Section 301 and other tariffs on goods imported from China and renegotiate certain trade arrangements. Tensions have continued to escalate in 2022, in areas ranging from trade, national security and national and regional politics and have resulted in contentious punitive or retaliatory measures being imposed on businesses and individuals. The tensions surrounding international trade and potential government sanctions could negatively affect the overall economic, political and social conditions in the countries where we operate, which could adversely affect our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, despite our zero tolerance of forced labor, whether in our own manufacturing facilities and throughout our supply chain, we may be subject to risks related to forced labor allegations. We monitor our manufacturing facilities, maintain an equal opportunity policy, prohibit discrimination of any kind, and follow the employment laws and regulations of the jurisdictions in which we operate. A set of challenges were imposed by the U.S. Customs and Border Protection (&#8220;CBP&#8221;) in June 2021 through a Withhold Release Order (&#8220;WRO&#8221;) pursuant to Section 307 of the Tariff Act of 1930 on products whose upstream silica-based products (such as polysilicon) are sourced, or are suspected of being sourced, from Hoshine Silicon Industry Co. Ltd. and its subsidiaries (&#8220;Hoshine&#8221;). On December 23, 2021, President Biden signed into law the Uyghur Forced Labor Prevention Act (the &#8220;UFLPA&#8221;), which went into effect on June 21, 2022 and creates forced labor-related import restrictions that apply more broadly than the WRO. Our solar modules imported into the U.S. contain polysilicon sourced from the Inner Mongolia, Hubei and Shaanxi provinces of China and Germany. Notwithstanding, there can be no assurance that we will not experience adverse consequences arising from the impact of these restrictions on our products and supply chain. If our products are seized, excluded or detained by the CBP due to the WRO or the UFLA, we will use our best effort to provide the requisite evidence to rebut the presumption of use of forced labor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We cannot predict what additional actions the U.S. may adopt or what actions may be taken by other countries with regard to similar concerns. Our direct solar module sales to the U.S. market accounted for 14.8%, 15.5% and 17.5% of our total revenues in 2020, 2021 and 2022, respectively. If additional measures are imposed or other negotiated outcomes occur, our business, financial condition and results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sustained tensions between the United States and China could significantly undermine the stability of the global economy. In addition, geopolitical risks and associated military action may result in, among other things, global security issues, that may adversely affect international business and economic conditions, and economic sanctions which may impact the global economy. For example, the outbreak of hostilities between Russia and Ukraine in February 2022 led to global sanctions that have impacted the international economy and give rise to potential global security issues that may adversely affect international business and economic conditions. These recent events have also caused significant volatility in global equity and debt capital markets, which could trigger a severe contraction of liquidity in the global credit markets. If tensions increase among countries, there may be a material adverse effect on our international operations. Furthermore, we may need to make substantial investments in our overseas operations in order to attain longer-term sustainable returns. These investments could negatively impact our financial performance before sustainable returns are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The U.S. Department of Commerce&#8217;s antidumping and countervailing duty anti-circumvention investigations and the extended safeguard measures in the United States could adversely affect us.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar&#8217;s exports to the United States could be adversely impacted by (i) the possibility that the U.S. Department of Commerce (the &#8220;USDOC&#8221;) could reach affirmative final determinations in its anti-circumvention investigations of crystalline silicon photovoltaic (&#8220;CSPV&#8221;) cells and modules products from Thailand and/or Vietnam; and/or (ii) the U.S. Government&#8217;s extension of the safeguard measures currently in place against imports of CSPV cells and modules.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 16, 2021, a group of anonymous entities calling itself the American Solar Manufacturers Against Chinese Circumvention (&#8220;A-SMACC&#8221;) requested that the USDOC initiate an anti-circumvention inquiry regarding CSPV products from Malaysia, Thailand, and Vietnam. A-SMACC alleged that certain CSPV products from Malaysia, Thailand, and Vietnam containing Chinese-origin components were circumventing the Solar 1 antidumping (&#8220;AD&#8221;) and countervailing duty (&#8220;CVD&#8221;) (together, the &#8220;AD/CVD&#8221;) orders on CSPV solar cells, whether or not assembled into modules, from the People&#8217;s Republic of China (&#8220;the Solar 1 China AD/CVD Orders&#8221;). Canadian Solar entered an appearance in the Thailand and Vietnam segments of these proceedings and requested that the USDOC reject A-SMACC&#8217;s petition as deficient. On November 10, 2021, the USDOC rejected A-SMACC&#8217;s request and declined to initiate an anti-circumvention inquiry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 8, 2022, U.S. module producer Auxin Solar Inc. (&#8220;Auxin&#8221;) filed with the USDOC separate circumvention petitions on CSPV products from Cambodia, Malaysia, Thailand, and Vietnam. Canadian Solar entered an appearance in the Thailand and Vietnam segments of these proceedings and requested that the USDOC reject Auxin&#8217;s petition. On April 1, 2022, the USDOC initiated anti-circumvention inquiries on a country-wide basis with respect to all four countries. The USDOC selected Canadian Solar International Limited (&#8220;CSIL&#8221;) as a mandatory respondent for individual investigation in the Thailand circumvention proceedings. The Group is defending its interests in these proceedings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">U.S. law provides that the USDOC may find that circumvention exists when (among other factors) merchandise subject to an AD/CVD order is completed or assembled in third countries with the end result of AD/CVD duty avoidance. Specifically, with respect to the existing Solar 1 China AD/CVD Orders, the USDOC may find that (i)&#160;certain CSPV cells and/or modules produced in Thailand and/or Vietnam fall within the scope of the AD/CVD orders; and (ii) the collection of AD and/or CVD deposits (at <i style="font-style:italic;">ad valorem</i> rates determined during the separate administrative reviews of the Solar 1 China AD/CVD Orders) are appropriate to prevent evasion of AD/CVD duties. The USDOC&#8217;s investigation examines, inter alia, whether (i) the production process in Thailand and Vietnam is &#8220;minor or insignificant&#8221;; and (ii) the value of the merchandise produced in China is a significant portion of the value of the product exported to the United States.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 8, 2022, USDOC reached preliminary, country-wide affirmative determinations with respect to all four countries subject to the inquiry: Cambodia, Malaysia, Thailand, and Vietnam. USDOC also made preliminary, company-specific affirmative determinations with respect to twenty-six (26) companies, including CSIL. USDOC is scheduled to issue final determinations on May&#160;1, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the USDOC&#8217;s regulations, an affirmative circumvention determination typically imposes AD/CVD liability from the date of initiation (here, April 1, 2022). Notwithstanding, the USDOC has published a final rule that will delay AD/CVD liability for CSIL&#8217;s exports from Thailand (and also Vietnam) in these solar circumvention proceedings (the &#8220;Solar Moratorium&#8221;) which mitigates possible adverse effects of the anti-circumvention investigations. On June 6, 2022, President Biden issued Proclamation 10414, declaring an emergency with respect to U.S. energy generation, and waiving solar circumvention AD/CVD requirements during the period of emergency (currently set to expire on June 6, 2024). On September 16, 2022, the USDOC published a final rule implementing the Solar Moratorium.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In its December 8, 2022 affirmative preliminary determinations, the USDOC confirmed that it will not require AD/CVD cash deposits for entries subject to the circumvention investigations for the duration of the emergency declared by President Biden, even in the event that USDOC reaches final affirmative determinations, so long as (a) imports occur on or before June 6, 2024 (or until the temporary duty moratorium is otherwise terminated), and (b) the imported solar products are assembled into solar energy projects by December 3, 2024 (or within 180 days from the termination of the emergency). The USDOC also implemented a certification mechanism for exporters and importers to demonstrate that merchandise is not subject to circumvention AD/CVD requirements in light of (i) the Solar Moratorium, or (ii) limited reliance on Chinese-origin components.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In its affirmative preliminary determinations, the USDOC also indicated that it intends to impose circumvention cash deposit requirements as follows: (1) for exporters of the solar cells or solar modules that have a company-specific cash deposit rate under the Solar 1 China AD/CVD orders, the cash deposit rate will be the company-specific AD and/or CVD cash deposit rate established for that company in the most recently-completed segment of the solar cells proceedings (e.g., an administrative review); (2) for exporters of the solar cells or solar modules that do not have a company-specific cash deposit rate under the Solar 1 China AD/CVD orders, the cash deposit rate will be the company-specific cash deposit rate established under the Solar 1 orders for the company that exported the wafers to the producer/exporter in the relevant third country (i.e., Cambodia, Malaysia, Thailand or Vietnam) that were incorporated in the imported solar cells or solar modules; and (3) if neither the exporter of the solar cells or solar modules nor the exporter of the wafers described in item (2) above has a company-specific cash deposit rate, the AD cash deposit rate will be the China-wide rate (238.95)%, and the CVD cash deposit rate will be the &#8220;All-Others&#8221; rate (15.24)%. Several of the Group&#8217;s entities have been subject to USDOC Solar 1 administrative reviews and are subject to the resulting cash deposit rates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Depending on the nature of USDOC&#8217;s final determination in the anti-circumvention investigations, including the scope of the certifications and final circumvention finding and USDOC&#8217;s continued implementation of Proclamation 10414, the Group&#8217;s exports from Thailand and Vietnam to the U.S. market could be treated as if they are of Chinese origin and therefore could become subject to potentially very high AD/CVD deposit rates. The Group produces a significant portion of its products from facilities in Thailand and Vietnam. As such, the application of AD/CVD duties to the Group&#8217;s products produced in Thailand and Vietnam would adversely impact its ability to remain competitive in the U.S. market&#8212;one of the Group&#8217;s main markets&#8212;and risk significant harm to its financial condition and operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the U.S. Government extended the solar safeguard measure for four years until February 6, 2026. The extended solar safeguard measure applies to nearly all U.S. imports of CSPV cells and modules, including imports from Thailand and Vietnam. The extended safeguard measure doubles the volume of the tariff-rate quota (TRQ) on imported CSPV cells to 5.0 gigawatts and maintains a tariff on imports of CSPV modules and above-quota CSPV cells, beginning at a rate of 14.75% ad valorem and declining annually by 0.25 percentage points to 14.50% in the sixth year, 14.25% in the seventh year, and 14.0% in the eighth year. The extended safeguard measure excludes bifacial panels. &#160;In addition, the extended safeguard measure no longer applies to imports of CSPV cells and modules from Canada, as a result of a memorandum of understanding between the United States and Canada. The extended safeguard measure could be subject to further revision and risk significant harm to the Group&#8217;s financial condition and operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to private securities litigation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. and certain of our directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that our financial disclosures during 2009 and early 2010 were false or misleading and in violation of U.S. federal securities laws and Ontario securities laws, respectively. The lawsuits in the U.S. were consolidated into one class action, which was dismissed with prejudice by the district court in March 2013. The dismissal was subsequently affirmed by the circuit court in December 2013. In January 2015, the plaintiff in the class action lawsuit obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the <i style="font-style:italic;">Canadian Business Corporations Act</i> (Canadian Solar Inc&#8217;s governing corporate statute at the time). A settlement of the lawsuit in Canada was achieved and approved by the Ontario Superior Court of Justice on October 30, 2020. &#160;The settlement is not an admission of liability or wrongdoing by our company or any of the other defendants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There is no guarantee that we will not become party to additional lawsuits. If we were involved in a class action suit, it could divert a significant amount of our management&#8217;s attention and other resources from our business and operations and require us to incur significant expenses to defend the suit. In addition, we are generally obligated, to the extent permitted by law, to indemnify our directors and officers who are named defendants in these lawsuits. If we were to lose a lawsuit, we may be required to pay judgments or settlements and incur expenses in aggregate amounts that could have a material and adverse effect on our financial condition or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our quarterly operating results may fluctuate from period to period.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our quarterly operating results may fluctuate from period to period based on a number of factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the average selling prices of our solar power and battery storage products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of completion of construction of our solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing and pricing of project sales;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in payments from power purchasers of solar power plants already in&#160;operation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rate and cost at which we are able to expand our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of solar wafers and cells from our suppliers and toll manufacturers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of raw materials, particularly high-purity silicon;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in government incentive programs and regulations, particularly in our key and target&#160;markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the unpredictable volume and timing of customer orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the loss of one or more key customers or the significant reduction or postponement of&#160;orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability and cost of external financing for on-grid and off-grid solar power and energy storage applications;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquisition, investment and offering costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of successful completion of customer acceptance testing of our solar and battery storage&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">geopolitical turmoil and natural disasters within any of the countries in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">foreign currency fluctuations, particularly in Renminbi, Euros, Brazilian reals, South African rand, Canadian dollars, Japanese yen, Australian dollars, British pounds and Thai baht; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our ability to establish and expand customer relationships;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in our manufacturing costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the timing of new products or technology introduced or announced by our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in electricity rates due to changes in fossil fuel prices or other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">allowances for credit losses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">inventory write-downs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of property, plant and equipment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of project assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of investments in affiliates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">depreciation charges relating to under-utilized assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share-based compensation expenses on performance-based share awards under our share incentive plan;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">income taxes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">construction progress of solar and battery storage projects and related revenue recognition;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We base our planned operating expenses in part on our expectations of future revenues. A significant portion of our expenses will be fixed in the short-term. If our revenues for a particular quarter are lower than we expect, we may not be able to reduce our operating expenses proportionately, which would harm our operating results for the quarter. As a result, our results of operations may fluctuate from quarter to quarter and our interim and annual financial results may differ from our historical performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The majority of our sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Brazilian reals, Japanese yen, South African rand, Australian dollars and British pounds. The majority of our costs and expenses in 2020, 2021 and 2022 were denominated in Renminbi and were primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including metallic pastes, glass, aluminum frames, ethylene vinyl acetate (&#8220;EVA&#8221;, an encapsulant used to seal the module), junction boxes, polymer back sheets, lithium iron phosphate battery cell, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian Reals and Euros. The majority of our cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Euros, Brazilian reals, South African rand, Canadian dollars, Japanese yen, Australian dollars, British pounds and Thai baht may result in foreign exchange gains or losses. We recorded net foreign exchange loss of $64.8 million in 2020, net foreign exchange loss of $47.2 million in 2021 and net foreign exchange gain of $77.7 million in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The value of the Renminbi against the U.S. dollars, the Euros and other currencies is affected by, among other things, changes in China&#8217;s political and economic conditions and China&#8217;s foreign exchange policies. We cannot provide any assurances that the policy of the PRC government will not affect, or the manner in which it may affect the exchange rate between the Renminbi and the U.S. dollars or other foreign currencies in the future.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2008, we have hedged part of our foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts. In addition to the requirement to provide collateral when entering into hedging contracts, there are notional limits on the size of the hedging transactions that we may enter into with any particular counterparty at any given time. While these contracts are intended to reduce the effects of fluctuations in foreign currency exchange rates, our hedging strategy does not mitigate the longer-term impacts of changes to foreign exchange rates. We do not enter into these contracts for trading purposes or speculation, and we believe all these contracts are entered into as hedges of underlying transactions. Nonetheless, these contracts involve costs and risks of their own in the form of transaction costs, credit requirements and counterparty risk. Also, the effectiveness of our hedging program may be limited due to cost effectiveness, cash management, exchange rate visibility and associated management judgment on exchange rate movement, and downside protection. We recorded a gain on change in fair value of foreign currency derivatives, net of $51.2 million in 2020, a loss on change in fair value of foreign currency derivatives, net of $22.8 million in 2021 and a loss on change in fair value of foreign currency derivative, net of $40.5 million in 2022. These gains or losses on change in fair value of foreign currency derivatives, net are related to our hedging program. If our hedging program is not successful, or if we change our hedging activities in the future, we may experience significant unexpected expenses from fluctuations in exchange rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Volatility in foreign exchange rates will hamper, to some extent, our ability to plan our pricing strategy. To the extent that we are unable to pass along increased costs resulting from exchange rate fluctuations to our customers, our profitability may be adversely impacted. As a result, fluctuations in foreign currency exchange rates could have a material and adverse effect on our financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">A change in our effective tax rate can have a significant adverse impact on our&#160;business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A number of factors may adversely impact our future effective tax rates, such as the jurisdictions in which our profits are determined to be earned and taxed; changes in the valuation of our deferred tax assets and liabilities; adjustments to provisional taxes upon finalization of various tax returns; adjustments to the interpretation of transfer pricing standards; changes in available tax credits; changes in stock-based compensation expenses; changes in tax laws or the interpretation of tax laws (e.g., in connection with fundamental U.S. international tax reform); changes in U.S. GAAP; and expiration of or the inability to renew tax rulings or tax holiday incentives. In particular, the Organization for Economic Co-operation and Development (&#8220;OECD&#8221;) is working on proposals for international tax reform as an extension of its Base Erosion and Profit Shifting project. The proposals are comprised in a two-pillar approach: Pillar One, which is focused on the re-allocation of some of the taxable profits of multinational enterprises to the markets where consumers are located; and Pillar Two, which is focused on establishing a global minimum corporate taxation rate. In June 2021, the finance ministers of the G7 nations announced an agreement on the principles of the two-pillar approach. Subsequently, in October 2021, the OECD/G20 Inclusive Framework announced that 136 countries and jurisdictions had joined an agreement on the two-pillar approach, including the establishment of a global minimum corporate tax rate of 15%. In December 2021, the OECD published detailed rules to assist in the implementation of Pillar Two. The G20 called for all the rules to enter into force at a global level by 2024, with some to be implemented in 2023. The impact of the reform on us will depend on implementation by the adhering countries of the reform. A change in our effective tax rate due to any of these factors may adversely influence our future results of operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the Inflation Reduction Act of 2022, or the IRA, was recently signed into law in August 2022. The IRA includes provisions that will impact the U.S. federal income taxation of corporations. Among other items, this legislation includes provisions that will impose a minimum tax on the book income of certain large corporations and an excise tax on certain corporate stock repurchases that would be imposed on the corporation repurchasing such stock. It is unclear how this legislation will be implemented by the U.S. Department of the Treasury and we cannot predict how this legislation or any future changes in tax laws might affect us or our common shares. Also, these new tax regimes may require systems and process changes. Any systems and process changes introduce additional operational risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business is subject to seasonal variations in demand linked to construction cycles and weather conditions. Demand for solar power and battery storage products and services from some markets, such as the U.S., China, Europe and Japan, may also be subject to significant seasonality due to adverse weather conditions that can complicate the installation of solar power and battery storage systems and negatively impact the construction schedules of solar and battery storage projects. Seasonal variations could adversely affect our results of operations and make them more volatile and unpredictable. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity. If we are unable to do so, we may be unable to expand our business, maintain our competitive position, and improve our profitability. Our ability to expand our solar components production capacity is subject to risks and uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the need to raise significant additional funds to purchase raw materials and to build additional manufacturing facilities, which we may be unable to obtain on commercially reasonable terms or at&#160;all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including delays in equipment delivery by&#160;vendors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">delays or denial of required regulatory approvals by relevant government authorities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">failure to execute our expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to maintain and expand our internal production capacity, we may be unable to expand our business as planned. Moreover, even if we do maintain and expand our production capacity, we might still not be able to generate sufficient customer demand for our solar power and battery storage products to support the increased production levels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be unable to generate sufficient cash flows or have access to external financing necessary to fund planned leverage of large-scale operations, manufacturing vertical integration and make adequate capital investments in manufacturing capacity and solar and battery storage project development.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We anticipate that our operating and capital expenditures requirements may increase. To develop new products, support future growth, achieve operating efficiencies and maintain product quality, we may need to make significant capital investments in manufacturing technology, facilities and capital equipment, research and development, and product and process technology. While we believe manufacturing vertical integration is a competitive advantage, giving us a low cost position as well as a more reliable intermediate supply, there can be no assurance that the significant additional resources expended in order to grow our upstream capacity in solar ingot, wafer and cell capacity will achieve the expected benefits or can be completed within the time or at the projected capital intensity. We also anticipate that our operating costs may increase as we expand our manufacturing operations, hire additional personnel, increase our sales and marketing efforts, invest in joint ventures and acquisitions, and continue our research and development efforts with respect to our products and manufacturing technologies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations are capital intensive. We rely on financing substantially from Chinese banks for our manufacturing operations. We cannot guarantee that we will continue to be able to extend existing or obtain new financing on commercially reasonable terms or at all. See &#8220;&#8212;Our dependence on Chinese banks to extend our existing financing and provide additional financing exposes us to short-term funding risks, which may materially and adversely affect our operations.&#8221; Also, even though we are a publicly-traded company and had successfully issued convertible notes in the past, we may not be able to raise capital via public equity and debt issuances due to market conditions and other factors, many of which are beyond our control. Our ability to obtain external financing is subject to a variety of uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our future financial condition, results of operations and cash flows;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">general market conditions for financing activities by manufacturers of solar power and battery storage products, including, but not limited to interest rates; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">economic, political and other conditions in the PRC and elsewhere.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to obtain funding in a timely manner and on commercially acceptable terms, our growth prospects and future profitability may be adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Construction of our solar and battery storage projects may require us to obtain financing for our projects, including through project financing, fixed rate notes financing or others. If we are unable to obtain financing, or if financing is only available on terms which are not acceptable to us, we may be unable to fully execute our business plan. In addition, we generally expect to sell our projects to tax-oriented, strategic industry and other investors. Such investors may not be available or may only have limited resources, in which case our ability to sell our projects may be hindered or delayed and our business, financial condition, and results of operations may be adversely affected. There can be no assurance that we will be able to generate sufficient cash flows, find other sources of capital to fund our operations and solar and battery storage projects, make adequate capital investments to remain competitive in terms of technology development and cost efficiency required by our projects. If adequate funds and alternative resources are not available on acceptable terms, our ability to fund our operations, develop and construct solar and battery storage projects, develop and expand our manufacturing operations and distribution network, maintain our research and development efforts or otherwise respond to competitive pressures would be significantly impaired. Our inability to do the foregoing could have a material and adverse effect on our business and results of operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have substantial indebtedness and may incur substantial additional indebtedness and increased cost of indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the ordinary course of developing solar and battery storage projects, we carry substantial indebtedness and may incur substantial additional indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations. Our substantial indebtedness could have important consequences for us and our shareholders. For example, it&#160;could:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit our ability to satisfy our debt obligations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase our vulnerability to adverse general economic and industry conditions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">require us to dedicate a substantial portion of our cash flow from operations to servicing and repaying our indebtedness, thereby reducing the availability of our cash flow to fund working capital, capital expenditures and for other general corporate purposes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit our flexibility in planning for or reacting to changes in our businesses and the industry in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">place us at a competitive disadvantage compared with our competitors that have less&#160;debt;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">limit, along with the financial and other restrictive covenants of our indebtedness, among other things, our ability to borrow additional funds;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase the cost of additional financing.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the future, we may from time to time incur substantial additional indebtedness and contingent liabilities. If we incur additional debt, the risks that we face as a result of our already substantial indebtedness and leverage could intensify. In addition, higher interest rates may increase our cost of obtaining loans and the cost of indebtedness, resulting in an increase in our financial expenses. This increase may adversely affect our ability to pay our financial obligations, as it reduces our cash availability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our ability to generate sufficient cash to satisfy our outstanding and future debt obligations will depend upon our future operating performance, which will be affected by prevailing economic conditions and financial, business and other factors, many of which are beyond our control. We cannot assure you that we will be able to generate sufficient cash flow from operations to support the repayment of our current indebtedness. If we are unable to service our indebtedness, we will be forced to adopt an alternative strategy that may include actions such as reducing or delaying capital expenditures, selling assets, restructuring or refinancing our indebtedness or seeking equity capital. These strategies may not be instituted on satisfactory terms, if at all. In addition, certain of our financing arrangements impose operating and financial restrictions on our business, which may negatively affect our ability to react to changes in market conditions, take advantage of business opportunities we believe to be desirable, obtain future financing, fund required capital expenditures, or withstand a continuing or future downturn in our business. Any of these factors could materially and adversely affect our ability to satisfy our debt obligations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We must comply with certain financial and other covenants under the terms of our debt instruments and the failure to do so may put us in default under those instruments.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Many of our debt instruments include financial covenants and broad default provisions. The financial covenants primarily include interest and debt coverage ratios, loan to equity value of designated projects ratios, debt to asset ratios and minimum equity requirements, which, in general, govern our existing long-term debt and debt we may incur in the future. These covenants could limit our ability to plan for or react to market conditions or to meet our capital needs in a timely manner and complying with these covenants may require us to curtail some of our operations and growth plans. In addition, any global or regional economic deterioration may cause us to incur significant net losses or force us to assume considerable liabilities, which would adversely impact our ability to comply with the financial and other covenants of our outstanding loans. If our creditors refuse to grant waivers for any non-compliance with these covenants, such non-compliance will constitute an event of default which may accelerate the amounts due under the applicable loan agreements. Some of our loan agreements also contain cross-default clauses that could enable creditors under our debt instruments to declare an event of default should there be an event of default on our other loan agreements. We cannot assure you that we will be able to remain in compliance with these covenants in the future. We may not be able to cure future violations or obtain waivers of non-compliance on a timely basis. An event of default under any agreement governing our existing or future debt, if not cured by us or waived by our creditors, could have a material adverse effect on our liquidity, financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on Chinese banks to extend our existing financing and provide additional financing exposes us to short-term funding risks, which may materially and adversely affect our operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We require significant cash flow and funding to support our operations. As a result, we rely on short-term borrowings, letters of credit and short-term notes payable to provide working capital for our daily manufacturing operations. Since a significant portion of these financings come from Chinese banks, we are exposed to lending policy changes by the Chinese banks. As of December 31, 2022, we had outstanding borrowings of $1,191.3 million, letters of credit of $150.4 million and short-term notes payable of $1,493.4 million with Chinese banks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If the Chinese government changes its macroeconomic policies and forces Chinese banks to tighten their lending practices, or if Chinese banks are no longer willing to provide financing to solar companies, including us, we may not be able to extend our short-term borrowings or make additional borrowings in the future. As a result, we may not be able to fund our operations to the same extent as in previous years, which may have a material and adverse effect on our&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cancellations of customer orders may make us unable to recoup any prepayments made to&#160;suppliers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the past, we were required to make prepayments to certain suppliers, primarily suppliers of machinery, silicon raw materials, solar ingots, wafers and cells. Although we require certain customers to make partial prepayments, there is generally a lag between the due date for the prepayment of purchased machinery, silicon raw materials, solar ingots, wafers and cells and the time that our customers make prepayments. In the event that our customers cancel their orders, we may not be able to recoup prepayments made to suppliers, which could adversely influence our financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may enter into long-term supply agreements with silicon and wafer suppliers with fixed price and quantity terms in order to secure a stable supply of raw materials to meet our production requirements. If, during the term of these agreements, the price of materials decreases significantly and we are unable to renegotiate favorable terms with our suppliers, we may be placed at a competitive disadvantage compared to our competitors, and our earnings could decline. Furthermore, as we further expand our capacity, our need for long-term supply agreements may change, depending on our view of the supply chain. In addition, if demand for our solar power and battery storage products decreases, yet our supply agreements require us to purchase more silicon wafers and solar cells than required to meet customer demand, we may incur costs associated with carrying excess inventory. To the extent that we are not able to pass these increased costs on to our customers, our business, cash flows, financial condition and results of operations may be materially and adversely affected. If our suppliers file lawsuits against us for early termination of these contracts, such events could be costly, may divert management&#8217;s attention and other resources away from our business, and could have a material and adverse effect on our reputation, business, financial condition, results of operations and prospects.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Credit terms offered to some of our customers expose us to the credit risks of such customers and may increase our costs and expenses, which could in turn materially and adversely affect our revenues, liquidity and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We offer unsecured short-term or medium-term credit to some of our customers based on their creditworthiness and market conditions. As a result, our claims for payments and sales credits rank as unsecured claims, which expose us to credit risk if our customers become insolvent or&#160;bankrupt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From time to time, we sell our products to high credit risk customers in order to gain early access to emerging or promising markets, increase our market share in existing key markets or because of the prospects of future sales with a rapidly growing customer. There are significant credit risks in doing business with these customers because they are often small, young and high-growth companies with significant unfunded working capital, inadequate balance sheets and credit metrics and limited operating histories. If these customers are not able to obtain satisfactory working capital, maintain adequate cash flow, or obtain construction financing for the projects where our solar products are used, they may be unable to pay for the products for which they have ordered or of which they have taken delivery. Our legal recourse under such circumstances may be limited if the customer&#8217;s financial resources are already constrained or if we wish to continue to do business with that customer. Revenue recognition for this type of customer is deferred until cash is received. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If more customers to whom we extend credit are unable to pay for our products, our revenues, liquidity and results of operations could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Supply chain issues, including shortages of adequate raw materials, component and equipment supply, cancellation or delay of purchase orders, inflationary pressures and cost escalation could adversely affect our business, results of operations and relationship with customers, particularly given our dependence on a limited number of suppliers of key elements like silicon wafers and cells. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We depend mainly on third-party suppliers for raw materials and components such as solar silicon, ingots, wafer, cell, metallic pastes, glass, aluminum frames, ethylene vinyl acetate (&#8220;EVA&#8221;, an encapsulant used to seal the module), junction boxes, polymer back sheets, lithium iron phosphate battery cell, inverter, tracker, mounting hardware, and grid interconnection and power stability equipment, and we also procure certain equipment overseas. We procure these materials and equipment for our products from a limited number of suppliers. By way of example, in 2022, a significant portion of the silicon raw materials, wafers and solar cells used in our solar modules was purchased from third parties. Our suppliers may not always be able to meet quantity requirements, or keep pace with the price reductions or quality improvements, necessary for us to price products and projects competitively. Additionally, they may experience manufacturing delays and increased manufacturing costs that could increase the lead time for deliveries or impose price increases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The failure of a supplier, for whatever reason, to supply the materials, essential components and equipment that meet quality, quantity and cost requirements in a timely manner could impair our ability to manufacture products (including solar modules) or develop projects, increase costs, hinder compliance with supply agreements&#8217; terms and may result, ultimately, in cancellation of purchase orders and potential liability for us. The impact could be more severe if we are unable to access alternative sources on a timely basis or on commercially reasonable terms to deliver products to customers in the required quantities and at prices that are profitable. Although we may build buffer inventories from time to time, there can be no assurance that any such buffer inventories will address all the supply chain failures that may arise. Further, a significant portion of our manufacturing and suppliers&#8217; manufacturing and supply chain are operated in China, and may be subject to potential disruptions due to government-mandated facility closure as a consequence of energy shortage or other causes. Supply may also be interrupted by accidents, disasters or other unforeseen events beyond our control.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The search for alternative sources of supply to face the above problems may increase our manufacturing costs. Likewise, increased integration of manufacturing processes to lower costs could potentially damage our business, results of operations and relationship with customers. In any case, in spite of the possible implementation of remedial courses of action or fallback plans, we may not be able to offset this impact through increases in product pricing or through alternate sources of supply. Problems of this kind could consequentially reduce market share, harm our reputation and cause legal disputes with customers. All of the abovementioned factors could adversely impact our business, results of operations and relationship with customers.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We will need to maintain and significantly increase our access to battery cells and control our related costs. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are dependent on the continued supply of lithium iron phosphate battery cells for our energy storage production, and we will require substantially more cells to grow our business according to our plans. Currently, we rely on third-party suppliers for these lithium iron phosphate cells. We have to date only a very limited number of such suppliers and have limited flexibility in changing suppliers. Any disruption in the supply of battery cells from our suppliers could limit production of our energy storage products. During 2022, we launched the SolBank, a lithium iron phosphate (LiFePO4) chemistry-based battery storage enclosure with up to 2.8 MWh of usable energy capacity, specifically engineered for utility-scale applications. We intend to produce SolBank on fully automated, state-of-the-art production and testing facilities. Despite our efforts to develop our proprietary battery storage systems, we still intend to rely on our third-party suppliers for the production of battery cells. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the cost and mass production of battery cells depends in part upon the prices and availability of raw materials such as iron phosphate, lithium carbonate and/or other metals. The prices for these materials fluctuate and their available supply may be unstable, depending on market conditions and global demand for these materials. Moreover, our inability to meet demand and any product price may harm our brand, growth, prospects and operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Inflation in many countries and regions, especially in those where we operate, may adversely affect our business and our profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we have facilities and offices in many countries and regions, including Canada, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Thailand, Vietnam, Brazil, United Arab Emirates, South Africa, the Americas, the EU (which includes Germany, Italy, Netherlands, Spain and Poland), the U.K. and the PRC. We currently sell our products to a diverse customer base in various markets worldwide, including the U.S., Canada, Germany, Spain, the Netherlands, South Africa, China, Japan, India, Thailand, Australia, Brazil and the U.K. As such, we are exposed to the inflation risks therein. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">While the inflation rates in certain countries, e.g. China, have been relatively tame in recent years (2.5%, 0.9% and 2.0% in 2020, 2021 and 2022, respectively, according to the National Bureau of Statistics of China), other countries and regions have experienced higher inflation rates. Most Latin American countries have historically experienced, and may continue to experience in the future, high inflations rates. For example, Argentina, a country where we operate a solar project, experienced inflation rates of 36.1%, 50.9% and 94.8% in 2020, 2021 and 2022, respectively, according to Central Bank of Argentina. Brazil, a country where we operate solar project business and secure financing facility, experienced inflation rates of 4.5%, 10.1% and 5.8% in 2020, 2021 and 2022, respectively, according to its National Consumer Price Index, which is published by the Brazilian Institute for Geography and Statistics, or IBGE. The measures taken by the Brazilian government to curb inflation have included maintaining strict monetary policies and high interest rates, which restricted the availability of credit. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Inflation could increase the costs of our raw material such as polysilicon, wafer, PV cell and lithium iron phosphate battery cell, and our general costs and expenses such as transportation and wages. In addition, inflation tends to devalue a currency. As a result, countries experiencing high inflation tend to also see their currencies weaken relative to other currencies, which may expose multinational companies like us to exchange-related risks. Please see &#8220;&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations&#8221; for the details on such risks. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recently, inflation has continued to sharply increase, particularly in the U.S. and Europe. We may not be able to adjust the pricing of our solar power and battery storage products or PPAs sufficiently or take appropriate pricing actions to fully offset the effects of inflation on our cost structures and the interest effects of our inflation-indexed debt, for example our Brazilian reals financings. Moreover, although certain of our PPAs have variable or fixed inflation indexation, our ability to benefit from the relevant inflation update mechanism may be affected by events beyond our control, such as the actions by the regulatory authorities and the adherence to comply with the PPA terms by the purchasers of power under these contracts. We may fail to maintain current levels of gross profit and operating, selling and distribution, general and administrative expenses and maintenance costs as a percentage of total net revenues. As such, rising inflation rates may negatively impact our profitability. In addition, a high inflation environment would also have negative effects on the level of economic activity, employment and adversely affect our business, results of operations and financial conditions. For example, as a result of the effects of inflation in the global economy, certain governmental authorities responsible for administering monetary policy have recently increased, and are likely to continue to increase, applicable central bank interest rates, which may require us to pay higher interest rates on debt securities that we issue in the financial market from time to time to finance our operations and increase our interest expenses.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are developing and commercializing higher conversion efficiency cells, but we may not be able to mass-produce these cells in a cost-effective way, if at&#160;all.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Higher efficiency cell structures are becoming an increasingly important factor in cost competitiveness and brand recognition in the solar power industry. Such cells may yield higher power outputs at the same cost to produce as lower efficiency cells, thereby lowering the manufactured cost per watt. The ability to manufacture and sell solar modules made from such cells may be an important competitive advantage because solar system owners can obtain a higher yield of electricity from the modules that have a similar infrastructure, footprint and system cost compared to systems with modules using lower efficiency cells. Higher conversion efficiency solar cells and the resulting higher output solar modules are one of the considerations in maintaining a price premium over thin-film products. For example, we have focused our research and development initiatives for new products on N-type HJT cell, TOPCon cell, and other technologies such as interdigitated back contact (&#8220;IBC&#8221;) cell. We have also launched HJT module products in mid 2022 for high-end roof-top application. We launched TOPCon products in late 2022. However, while we are making the necessary investments to develop higher conversion efficiency solar power products, there is no assurance that we will be able to commercialize some or any of these products in a cost-effective way, or at all. In the near term, such products may command a modest premium. In the longer term, if our competitors are able to manufacture such products and we cannot do the same at all or in a cost-effective way, we will be at a competitive disadvantage, which will likely influence our product pricing and our financial performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be subject to unexpected warranty and product quality expenses that may not be adequately covered by our insurance policies.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We warrant, for a period up to fifteen years or twenty-five years for certain module types, that our solar products will be free from defects in materials and workmanship.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We also warrant that, for a period of 25 years, our Ku/Hiku modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have provided warranty against decline in performance to 30 years for our bifacial module and double glass module products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that our warranty periods are consistent with industry practice. Due to the long warranty period, however, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. We began selling specialty solar products in 2002 and began selling standard solar modules in 2004. Any increase in the defect rate of our products would require us to increase our warranty reserves and would have a corresponding negative impact on our results of operations. Although we conduct quality testing and inspection of our solar module products, these have not been and cannot be tested in an environment simulating the up-to-30-year warranty periods. In particular, unknown issues may surface after extended use. These issues could potentially affect our market reputation and adversely affect our revenues, giving rise to potential warranty claims by our customers. As a result, we may be subject to unexpected warranty costs and associated harm to our financial results as long as 30 years after the sale of our products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We warrant battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. We continuously monitor warranty failures and maintain a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Our battery storage product warranty reserves are based on various assumptions, which are based on a short operating history. As a result, these assumptions could prove to be materially different from the actual performance of our battery storage products and may cause substantial unanticipated cost to repair or replace defective and damaged products in the future or to compensate customers. Our failure to accurately predict future claims could result in unexpected volatility in, and have a material adverse effect on our results of operations, financial condition and business prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we also provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have also entered into similar workmanship warranties with our suppliers to back up our warranties.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As part of our energy business, before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases for solar power projects, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. However, potential warranty claims may exceed the scope or amount of coverage under this insurance and, if they do, they could materially and adversely affect our&#160;business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our annual solar cell, wafer and ingot production capacity was 19.8 GW, 20.0 GW and 20.4 GW, respectively, as of December 31, 2022. To remain competitive, we intend to expand our annual solar cell, wafer and ingot production capacity to meet expected growth in demand for our solar modules. We target to expand our solar module, solar cell, wafer and ingot total annual manufacturing capacities to 75.0 GW, 60.0 GW, 50.0 GW and 50.4 GW, respectively, by March 2024, of which 50.0 GW, 50.0 GW, 35.0 GW and 20.4 GW, respectively, is targeted for December 2023. We continually engage in the development of manufacturing process technologies and expansion of our production capacity. In doing so, we may face significant product development challenges, significant expense and inherent risks. Manufacturing solar cells, wafers and ingots is a complex process and we may not be able to produce these items with sufficient quality to meet our solar module manufacturing standards. Minor deviations in the manufacturing process can cause substantial decreases in yield and in some cases result in no yield or cause production to be suspended. We will need to make capital expenditures to purchase manufacturing equipment for solar cell, wafer and ingot production and will also need to make significant investments in research and development to keep pace with technological advances in solar power technology. We cannot guarantee that we will realize the expected benefits of our capacity expansion, or that we will achieve an adequate return on our capital and research and development investments. Any failure to successfully develop and maintain cost-effective manufacturing capability may have a material and adverse effect on our business and prospects. For example, we have in the past purchased a large percentage of solar cells from third parties. This negatively affected our margins compared with those of our competitors since it is less expensive to produce cells internally than to purchase them from third parties. Because third party solar cell purchases are usually made in a period of high demand, prices tend to be higher and availability reduced.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Although we intend to continue direct purchasing of solar cells, wafers and ingots and toll manufacturing arrangements through a limited number of strategic partners, our relationships with our suppliers may be disrupted if we engage in the large-scale production of solar cells, wafers and ingots ourselves. If our suppliers discontinue or reduce the supply of solar cells, wafers and ingots to us, through direct sales or through toll manufacturing arrangements, and we are not able to compensate for the loss or reduction by manufacturing our own solar cells, wafers and ingots, our business and results of operations may be adversely affected. For more details, see &#8220;Item 6. Directors, Senior Management and Employees&#8212;D. Employees.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not achieve acceptable yields and product performance as a result of manufacturing problems.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We need to continuously enhance and modify our solar module, cell, wafer and ingot production capabilities in order to improve yields and product performance. Microscopic impurities such as dust and other contaminants, difficulties in the manufacturing process, disruptions in the supply of utilities or defects in the key materials and tools used to manufacture solar modules, cells, ingots and wafers can cause a percentage of the solar modules, cells, ingots and wafers to be rejected, which would negatively affect our yields. We may experience manufacturing difficulties that cause production delays and lower-than-expected yields. Furthermore, we may identify product defects, deviations from published standards, and other product issues, which can result from problems in our manufacturing process. Components and products we purchase or license from third-party suppliers can also contain defects. We face risks if products that we manufacture, or sell, or that include our technology, cause injury or property damage, even where the cause is unrelated to product defects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Problems in our facilities, including but not limited to production failures, human errors, weather conditions, equipment malfunction or process contamination, may limit our ability to manufacture products, which could seriously harm our operations. We are also susceptible to floods, tornados, droughts, power losses and similar events beyond our control that would affect our facilities. A disruption </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">in any step of the manufacturing process will require us to repeat each step and recycle the silicon debris, which would adversely affect our yields and manufacturing&#160;cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Logistical challenges, including global freight capacity shortages, port congestions or significant increases in freight costs, could increase our selling costs or cause delays in our order fulfilment, and our business, financial condition and results of operations may be adversely affected.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our shipping and handling expenses, included in selling and distribution expenses, is a significant component of our costs, and amounted to $134.2 million, $316.4 million and $453.9 million for the years ended December 31, 2020, 2021 and 2022, respectively. Moreover, our ability to transport products to customers in a timely and cost-effective manner may be adversely affected, from time to time, by the global shortage of freight capacity, delays at ports and other issues that otherwise affect third-party logistics service providers. These issues could prevent the timely or proper delivery of products to customers or require us to locate alternative ports or warehousing providers to avoid disruption to customers, which may negatively impact our business prospects and relationship with customers. Also, from time to time, ocean freight markets might experience overcapacity, which could in turn result in reduced freight route options and frequencies. These interruptions and the availability of alternative transportation routes can be affected by the ability of the cargo vessel to call on or depart from ports on a timely basis or at all, rules and regulations applicable to the cargo industry, change in worldwide cargo fleet capacity, weather events, global and regional economic and political conditions, environmental and other regulatory developments. Our ability to plan our pricing strategy may be impacted and to the extent we are unable to pass along the increased costs to our customers, our financial condition and results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, interruptions, failures or price increases in logistics services can result from events that are beyond our control, such as inclement weather, natural disasters, the COVID-19 pandemic, other pandemics or epidemics, accidents, transportation disruptions, including special or temporary restrictions or closings of facilities or transportation networks due to regulatory or political reasons, or labor unrest or shortages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If we are unable to attract, train and retain technical</span> <span style="font-style:italic;font-weight:bold;">and experienced personnel, our business may be materially and adversely affected.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our future success depends, to a significant extent, on our ability to attract and retain technical and experienced personnel, while integrating diversity, equity and inclusion principles and practices into our human capital resources management. Recruiting and retaining qualified technical personnel, particularly those with expertise in the solar power and battery storage industry, are vital to our success. Integrating new executives into management and training new employees with limited prior experience in the industry could limit our ability to effectively implement our strategy, and may require a disproportionate amount of resources and management attention. Labor is subject to external factors that are beyond our control, including our industry&#8217;s highly competitive market for skilled workers and management, cost inflation and workforce participation rates. There can be no assurance that we will be able to attract, integrate, train, motivate or retain sufficiently qualified employees. If we are unable to attract and retain qualified employees, our business may be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on a limited number of customers and our lack of long- term customer contracts may cause significant fluctuations or declines in our revenues.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell a substantial portion of our solar module and battery storage products to a limited number of customers, including distributors, system integrators, project developers, infrastructure funds and installers/EPC companies. We sell solar and battery storage projects to limited number of utility companies or grid operators, and sell electricity to a limited number of customers including public utilities, licensed suppliers, corporate offtakers, or commercial, industrial or government end users. Our top five customers by revenues collectively accounted for approximately 21.2%, 18.6% and 15.9% of our net revenues in 2020, 2021 and 2022, respectively. We anticipate that our dependence on a limited number of customers will continue for the foreseeable future. Consequently, any of the following events may cause material fluctuations or declines in our revenues:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reduced, delayed or cancelled orders from one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the loss of one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant customer&#8217;s failure to pay for our products on time; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a significant customer&#8217;s financial difficulties or insolvency.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we continue to expand our business and operations, our top customers continue to change. We cannot assure that we will be able to develop a consistent customer&#160;base.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are a limited number of purchasers of utility-scale quantities of electricity and entities that have the ability to interconnect projects to the grid, which exposes us and our utility scale solar and battery storage projects to additional&#160;risk.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions, there are a limited number of possible purchasers for utility-scale quantities of electricity in a given geographic location, normally transmission grid operators, state and investor-owned power companies, public utility districts, cooperatives, electricity market regulators, and commercial and industrial (C&amp;I) customers. As a result, there is a concentrated pool of potential buyers for electricity generated by our solar power plants, which may restrict our ability to negotiate favorable terms under new PPAs and could impact our ability to find new customers for the electricity generated by our solar power plants should this become necessary. Additionally, these possible purchasers may have a role in connecting our projects to the grid to allow the flow of electricity. Furthermore, if the financial condition of these utilities and/or power purchasers deteriorates, or government policies or regulations to which they are subject and which compel them to source renewable energy supplies change, demand for electricity produced by our plants or the ability to connect to the grid could be negatively impacted. In addition, provisions in our PPAs or applicable laws may provide for the curtailment of delivery of electricity for various reasons, including preventing damage to transmission systems, system emergencies, force majeure or economic reasons. Such curtailment could reduce revenues for us from our PPAs and could adversely affect electricity pricing available on the spot-market. If we cannot enter into PPAs on terms favorable to us, or at all, or if the purchaser under our PPAs were to exercise its curtailment or other rights to reduce purchases or payments under the PPAs, our revenues, our decisions regarding development of additional projects and our ability to capitalize fully on a particular project&#8217;s potential in the energy business may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Product liability claims against us could result in adverse publicity and potentially significant monetary damages.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We, along with other solar power and battery storage product manufacturers, are exposed to risks associated with product liability claims if the use of our solar and battery power products results in injury or death. Since our products generate or store electricity, it is possible that users could be injured or killed by our products due to product malfunctions, defects, improper installation or other causes. Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against us. The successful assertion of product liability claims against us could result in potentially significant monetary damages and require us to make significant payments. Even if the product liability claims against us are determined in our favor, we may suffer significant damage to our&#160;reputation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our founder, Dr.&#160;Shawn Qu, has substantial influence over our company and his interests may not be aligned with the interests of our other shareholders.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of January 31, 2023, Dr. Shawn Qu, our founder, Chairman, President and Chief Executive Officer, beneficially owned 13,740,090 common shares, or 21.3% of our outstanding shares. Dr. Shawn Qu is also the chairman of CSI Solar. As a result, Dr. Shawn Qu has substantial influence over our business, including decisions regarding mergers and acquisition, consolidations, the sale of all or substantially all of our assets, the election of directors and other significant corporate actions. This concentration of ownership may discourage, delay or prevent a change in control of our company, which could deprive our other shareholders of an opportunity to receive a premium for their shares as part of a sale of our company and might reduce the price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be exposed to infringement, misappropriation or other claims by third parties, which, if determined adversely to us, could require us to pay significant damage&#160;awards.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our success depends on our ability to develop and use our technology and know-how and sell our solar power and battery storage products and services without infringing the intellectual property or other rights of third parties. The validity and scope of claims against us in our ordinary course of business relating to solar power and battery storage technology patents involve complex scientific, legal and factual questions and analyses and are therefore highly uncertain. We may be subject to litigation involving claims of patent infringement or the violation of intellectual property rights of third parties. Defending intellectual property suits, patent opposition proceedings and related legal and administrative proceedings can be both costly and time-consuming and may significantly divert the efforts and resources of our technical and management personnel. Additionally, we use both imported and China-made equipment in our production lines, sometimes without sufficient supplier guarantees that our use of such equipment does not infringe third-party intellectual property rights. This creates a potential source of litigation or infringement claims. An adverse determination in any such litigation or proceedings to which we may become a party from time to time could subject us to significant liability to third parties or require us to seek licenses from third parties, pay ongoing royalties, redesign our products or subject us to injunctions prohibiting the manufacture and sale of our products or the use of our technologies. Protracted litigation could also defer customers or potential customers or limit their purchase or use of our products until such litigation is&#160;resolved.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Compliance with environmental laws and regulations can be expensive, and noncompliance with these regulations may result in adverse publicity and potentially significant monetary damages, fines and the suspension or even termination of our business operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are required to comply with all national and local environmental regulations. Our business generates noise, wastewater, air emissions and other industrial waste in our operations and the risk of incidents with a potential environmental impact has increased as our business has expanded. We believe that we substantially comply with all relevant environmental laws and regulations and have all necessary environmental permits to conduct our business as it is presently conducted. We have also increased our scrutiny of our suppliers on ESG requirements and implemented ESG compliance audits across our supply chain. However, if more stringent regulations are adopted in the future, the costs of complying with these new regulations could be substantial. If we fail to comply with present or future environmental regulations, we may be required to pay substantial fines, suspend production or cease operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our solar power and battery storage products must comply with the environmental regulations of the jurisdictions in which they are installed, and we may incur expenses to design and manufacture our products to comply with such regulations. We conduct extensive environmental studies during the development phase of our solar and battery storage projects to assess and reduce their environmental impact. If compliance is unduly expensive or unduly difficult, we may lose market share and our financial results may be adversely affected. Any failure by us to control our use or to restrict adequately the discharge, of hazardous substances could subject us to potentially significant monetary damages, fines or suspensions of our business operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our energy projects are subject to numerous environmental, health and safety laws and regulations in each of the jurisdictions in which our projects operate or will operate. In certain cases, certain projects are required to undergo environmental impact assessments and undertake programs to protect and maintain local endangered or threatened species. If such programs are not successful, our projects could be subject to increased levels of mitigation, operational curtailment, penalties or revocation of our permits. Our costs of complying with current and future environmental, health and safety laws, regulations and permit requirements (or other similar requirements), and any liabilities, fines or other sanctions resulting from violations, could have a material adverse effect on our business operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Emerging legislation, regulations or government actions related to climate change, greenhouse gas emissions and substantiality initiatives could result in significant additional costs and expose us to additional liabilities.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Greenhouse gases (&#8220;GHGs&#8221;) are emitted directly by our operations. Emerging laws and regulations related to climate change, GHG emissions and sustainability initiatives may require renewable energy companies to obtain and maintain permits and approvals, undergo lengthy environmental review processes, and implements relevant programs to monitor and control the relevant risks. For example, as a result of commitments made at the UN Climate Change Conference in Durban, South Africa, in December 2011, certain members of the international community negotiated a treaty at the Conference of the Parties of the UN Framework Convention on Climate Change in Paris in December 2015, or the Paris Agreement. The Paris Agreement, which came into force in November 2016, requires developed countries to set targets for GHG emissions reductions. In addition, the international community gathered at Glasgow at the 26th Conference to the Parties on the UN Framework Convention on Climate Change (&#8220;COP26&#8221;), during which multiple announcements were made, including a call for parties to eliminate certain fossil fuel subsidies and net zero commitments made by countries such as the United States and China. In order to meet national reductions commitments, including a goal of &#8220;net zero&#8221; carbon emissions or carbon neutrality by 2050 set by numerous jurisdictions, it is likely that various countries will implement or adopt additional measures addressing GHG emissions, including stricter GHG emissions limits and/or some form of carbon pricing, in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2020, we have been proactively measuring the GHG emissions of its operations, especially our manufacturing operations, for both scope 1 and scope 2 emissions, as well as a subset of scope 3 emissions according to the ISO14064-1:2018 standard (Specification with Guidance at the Organization Level for Qualification and Reporting of Greenhouse Gas Emissions and Removals). Since 2020, we have been announcing rolling 5-year targets to reduce GHG emissions which are updated on an annual basis (in addition to targets to reduce manufacturing energy intensity, water use intensity and waste intensity). We have also committed to achieving the goal of powering all our operations with renewable energy in this decade, through building rooftop solar power on our own manufacturing plants for self-consumption, procuring green energy from third parties and green certificates. These initiatives will meaningfully reduce our GHG emissions in the future, and may be subject to policy, market or cost barriers in the locations where we operate. In addition, since 2020, we have been publishing disclosures on our climate-related financial risks and opportunities according to the Task Force on Climate-Related Financial Disclosures (&#8220;TCFD&#8221;). These initiatives are expected to help reduce our exposure to future changes in policy related to climate change and GHG emissions. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, our business model is based on helping our customers decarbonize their energy consumption, directly contributing towards mitigating risks related to climate change and other sustainability initiatives. We expect 100% of our revenues to be derived from clean solar energy or battery energy storage business which helps grids absorb greater quantities of clean solar or wind energy. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Carbon pricing refers to various initiatives that seek to internalize the social or environmental cost of carbon on industries by imposing taxes, cap-and-trade schemes and/or elimination of free credits for carbon emissions. As governments continue to set aggressive decarbonization targets to meet the commitments made as a result of the Paris Agreement, carbon pricing systems are likely to be implemented in a number of jurisdictions where we operate. Such measures could require us to reduce our direct GHG emissions or energy use or to incur significant costs for GHG emissions allowances or taxes, including as a result of costs or taxes passed on by electricity utilities which supply our operations. We could also incur significant costs associated with capital equipment to reduce GHG emissions, as well as GHG monitoring and reporting and other obligations to comply with applicable requirements. Certain countries have passed or are considering GHG trading or tax schemes and/or other regulation of GHG emissions, although the precise impact on our operations cannot yet be determined.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Corporate responsibility, specifically related to Environmental, Social and Governance (&#8220;ESG&#8221;) matters and unsuccessful management of such matters may adversely impose additional costs and expose us to new risks.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Public ESG and sustainability reporting is becoming more broadly expected by investors, shareholders and other third parties. Certain organizations that provide corporate governance and other corporate risk information to investors and shareholders have developed, and others may in the future develop, scores and ratings to evaluate companies and investment funds based upon ESG or &#8220;sustainability&#8221; metrics. Many investment funds focus on positive ESG business practices and sustainability scores when making investments and may consider a company&#8217;s ESG or sustainability scores as a reputational or other factor in making an investment decision. In addition, investors, particularly institutional investors, use these scores to benchmark companies against their peers and if a company is perceived as lagging, these investors may engage with such company to improve ESG disclosure or performance and may also make voting decisions, or take other actions, to hold these companies and their boards of directors accountable. We may face reputational damage in the event our corporate responsibility initiatives or objectives, including with respect to board diversity, do not meet the standards set by our investors, shareholders, lawmakers, listing exchanges or other constituencies, or if we are unable to achieve an acceptable ESG or sustainability rating from third party rating services. Ongoing focus on corporate responsibility matters by investors and other parties as described above may impose additional costs or expose us to new risks, including increased risk of investigation and litigation, and negative impacts on the value of our products and access to capital, which may put us at a commercial disadvantage relative to our peers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have been and continue to rigorously monitor a range of sustainability-related key performance indicators, have adopted an ESG strategy, set meaningful targets, and instituted structures to ensure that ESG factors are incorporated in every major business decision we make and across our business. In addition, we also promote diversity, equity, and inclusion (&#8220;DEI&#8221;), as we believe a diverse workforce will enrich the human capital of our organization. For example, we have filed the Equal Employment Opportunity Form for our operations in the U.S., which provides a demographic breakdown of our workforce in the U.S. by race and gender. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Environmental, Social and Governance Initiatives.&#8221; However, implementing our ESG strategy and DEI initiatives may result in increased costs in our supply chain, fulfillment, and/or corporate business operations, and could deviate from our initial estimates and have a material adverse effect on our business and financial condition. In addition, standards and research regarding ESG strategies could change and become more onerous both for us and our third-party suppliers and vendors to meet successfully. &#160;As such, there can be no certainty that we will be able to meet our ESG or other strategic objectives in an efficient and timely manner or at all, or that we will successfully meet societal expectations in this regard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Furthermore, while we are already instituting meaningful decarbonization and other initiatives that help us reduce the environmental impact of our operations, new climate change laws and regulations could require us to change our manufacturing processes or procure substitute raw materials that may cost more or be more difficult to procure. Various jurisdictions in which we do business have implemented, or in the future could implement or amend, restrictions on emissions of carbon dioxide or other greenhouse gases, limitations or restrictions on water use, regulations on energy management and waste management, and other climate change-based rules and regulations, which may increase our expenses and adversely affect our operating results. We expect increased worldwide regulatory activity relating to climate change in the future. Future compliance with these laws and regulations may adversely affect our business and results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business could be materially and adversely affected by natural disasters or other catastrophes, such as earthquakes, fire, floods, hail, windstorms, severe weather conditions, environmental accidents, power loss, communications failures, explosions, terrorist attacks and similar events. Our business could also be materially and adversely affected by public health emergencies, such as the outbreak of avian influenza, severe acute respiratory syndrome, or SARS, Zika virus, Ebola virus, the 2019 novel coronavirus (&#8220;COVID-19&#8221;) or other local health epidemics in China and elsewhere and global pandemics. If any of our employees is suspected of having contracted any contagious disease, we may, under certain circumstances, be required to quarantine those employees and the affected areas of our operations. As a result, we may have to temporarily suspend part or all of our facilities. Furthermore, authorities may impose restrictions on travel and transportation and implement other preventative measures in affected regions to deal with the catastrophe or emergency, which may lead to the temporary closure of our facilities and declining economic activity at large. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of our business, including our operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact our ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on our result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. We will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For example, at the end of 2022, many of the restrictive measures previously adopted by the PRC governments at various levels to control the spread of the COVID-19 virus have been revoked or replaced with more flexible measures. To the extent that future spread of COVID-19 disrupts normal business operations, we may face challenges with our operations and projects. Moreover, a prolonged outbreak of any health epidemic or other adverse public health developments could have a material adverse effect on our business operations. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not be successful in establishing our brand name in important markets and the products we sell under our brand name may compete with the products we manufacture on an original equipment manufacturer, or OEM, basis for our customers.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We sell our products primarily under our own brand name but also on an OEM basis. In certain markets, our brand may not be as prominent as other more established solar power and battery storage product vendors, and there can be no assurance that our brand names &#8220;Canadian Solar&#8221;, &#8220;CSI&#8221;, &#8220;CSI Solar&#8221;, &#8220;Recurrent Energy&#8221;, &#8220;SolBank&#8221;, &#8220;EP Cube&#8221;, or any of our possible future brand names will gain acceptance among customers. Moreover, because the range of products that we sell under our own brands and those we manufacture for our OEM customers may be substantially similar, we may end up directly or indirectly competing with our OEM customers, which could negatively affect our relationship with them.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to protect our intellectual property rights in connection with new solar power and battery storage products may undermine our competitive position.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we develop and bring to market new solar power and battery storage products, we may need to increase our expenditures to protect our intellectual property. Our failure to protect our intellectual property rights may undermine our competitive position. As of February 28, 2023, we had 2,022 patents and 595 patent applications pending in the PRC for products that contribute a relatively small percentage of our net revenues. We have 15 U.S. patents, including 5 design patent, and 13 European patents, including 10 design patents. We have registered the &#8220;CanadianSolar&#8221; trademark in the U.S., Australia, Canada, Europe, Korea, Japan, the United Arab Emirates, Hong Kong, Singapore, India, Argentina, Brazil, Peru and more than 20 other countries and we have applied for registration of the &#8220;Canadian Solar&#8221; trademark in a number of other countries. As of February 28, 2023, we had 123 registered trademarks and 4 trademark applications pending in the PRC, and 146 registered trademarks and 17 trademark applications pending outside of China. These intellectual property rights afford only limited protection and the actions we take to protect our rights as we develop new solar power and battery storage products may not be adequate. Policing the unauthorized use of proprietary technology can be difficult and expensive. In addition, litigation, which can be costly and divert management attention, may be necessary to enforce our intellectual property rights, protect our trade secrets or determine the validity and scope of the proprietary rights of others.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have limited insurance coverage and may incur significant losses resulting from operating hazards, product liability claims, project construction or business interruptions.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations involve the use, handling, generation, processing, storage, transportation and disposal of hazardous materials, which may result in fires, explosions, spills and other unexpected or dangerous accidents causing personal injuries or death, property damages, environmental damages and business interruption. Although we currently carry third-party liability insurance against property damage, the policies for this insurance are limited in scope and may not cover all claims relating to personal injury, property or environmental damage arising from incidents on our properties or relating to our operations. See &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Insurance.&#8221; Any occurrence of these or other incidents which are not insured under our existing insurance policies could have a material adverse effect on our business, financial condition or results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are also exposed to risks associated with product liability claims in the event that the use of our solar power and battery storage products results in injury. See &#8220;&#8212;Product liability claims against us could result in adverse publicity and potentially significant monetary damages.&#8221; Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against&#160;us. Moreover, we have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties. In the event that potential warranty claims exceed the scope or amount of coverage under this insurance, our business could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For projects we construct, we are exposed to risks associated with the design and construction that can create additional liabilities to our operations. We manage these risks by including contingencies to our construction costs, ensuring the appropriate insurance coverages are in place such as professional indemnity and construction all risk as well as obtaining indemnifications from our contractors where possible. However, there is no guarantee that these risk management strategies will always be successful. Further, some of our PPAs contain provisions that require us to pay liquidated damages if specified completion schedule requirements are not met, and these amounts could be significant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the normal operation of our manufacturing facilities may be interrupted by accidents caused by operating hazards, power supply disruptions, equipment failure, as well as natural disasters. While our manufacturing plants in China and elsewhere are covered by business interruption insurance, any significant damage or interruption to these plants could still have a material and adverse effect on our results of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If our internal control over financial reporting or disclosure controls and procedures are not effective, investors may lose confidence in our reported financial information, which could lead to a decline in our share&#160;price.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are subject to the reporting obligations under U.S. securities laws. As required by Section 404 of the Sarbanes-Oxley Act of 2002, the SEC has adopted rules requiring every public company to include a management report on its internal control over financial reporting in its annual report, which contains management&#8217;s assessment of the effectiveness of its internal control over financial reporting. In addition, an independent registered public accounting firm must report on the effectiveness of our internal controls over financial reporting. As of December 31, 2022, our management concluded that our internal control over financial reporting was effective. However, we cannot assure you that material weaknesses in our internal controls over financial reporting will not be identified in the future. Any material weaknesses in our internal controls could cause us not to meet our periodic reporting obligations in a timely manner or result in material misstatements in our financial statements. Material weaknesses in our internal controls over financial reporting could also cause investors to lose confidence in our reported financial information, leading to a decline in the market price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have obtained regulatory approval for the proposed initial public offering of CSI Solar (the &#8220;STAR Listing&#8221;). The subsequent listing process could be uncertain, time-consuming and costly. We cannot assure you that the STAR Listing will eventually succeed. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 13, 2021, the stock listing committee of the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange determined that CSI Solar, formerly mainly our Module and System Solutions business, had met the offering, listing and disclosure requirements related to its proposed STAR Market listing. CSI Solar will then be required to go through the registration process with the China Securities Regulatory Commission, or the CSRC, before it can complete the listing on the STAR Market. On January 7, 2022, CSI Solar submitted the application documents for registration and the relevant examination and approval materials to CSRC for the offering registration process. On September 30, 2022, the Shanghai Stock Exchange suspended the initial public offering procedures of CSI Solar, because the financial information submitted by CSI Solar in the application documents had expired. On October 17, 2022, CSI Solar secured approval to resume its STAR Listing plans after submitting the financial information required by the Shanghai Stock Exchange. On March 21, 2023, the CSRC approved the STAR Market listing of CSI Solar. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The process of listing a company on the public exchanges in the PRC can be time-consuming and expensive, potentially requiring significant time, resources and focus from our management team. Although we have received approval for the proposed listing, whether we can successfully complete the listing of CSI Solar&#8217;s shares, the related timeline, actual size and pricing of the offering still depend on various factors, including but not limited to, capital markets conditions in China and globally, the regulatory environment for listing securities, financial performance of CSI Solar Co., Ltd and its ability to fulfill the listing requirements in China. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Due to the complexity of conducting an initial public offering in the PRC, including the factors that are beyond our control, we cannot assure you that we would be able to complete the offering in accordance with our anticipated timeline, size and pricing, or at all. In addition, the process underlying the STAR Listing could result in significant diversion of management time as well as substantial out-of-pocket expenses. If CSI Solar fails to complete the listing process, we may need to seek other sources of funds to realize our business strategy, which may not be available to us at commercially reasonable terms, or at all. Any such inability to obtain funds may have adverse effect on our consolidated operating results and on the price of our common shares. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The market price of our common shares may be volatile or may decline, for reasons other than the risk and uncertainties described above, as the result of investor negativity or uncertainty with respect to the impact of the proposed STAR Listing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Even if the STAR Listing is completed, we may not achieve the results contemplated by our business strategy (including with respect to use of proceeds from that offering). In addition, it is difficult to predict the effect of the proposed STAR Listing on our common shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Even if the STAR Listing is completed, we cannot assure you that we will realize any or all of our anticipated benefits of the STAR Listing. Our completion of the STAR Listing may not have the anticipated effects of strengthening CSI Solar and our market leadership position. If the STAR Listing is completed, CSI Solar will have broad discretion in the use of the proceeds from the STAR Listing, and it may not spend or invest those proceeds in a manner that results in our operating success or with which holders of our common shares agree. Our failure to successfully leverage the completion of the STAR Listing to expand our production capacity in the PRC could pose material adverse effects on our results of operations and consequently result in a decrease in the price of the common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Once CSI Solar is listed in China, it will be subject to the listing and securities law regime of the PRC, and will result in increased legal, accounting and other compliance expenses that it did not incur as a private company. Furthermore, the stock exchanges in China and Nasdaq have different trading hours, trading characteristics (including trading volume and liquidity), trading and listing rules, and investor bases, including different levels of retail and institutional participation. As a result of these differences and given the fact that CSI Solar will remain one of our significant subsidiaries, fluctuations in the price of the shares of CSI Solar due to circumstances peculiar to the PRC capital markets or otherwise could materially and adversely affect the price of our common shares, or vice versa. In addition, investors may elect to invest in our business and operations by purchasing CSI Solar shares in the STAR Listing or on the STAR Market rather than purchasing our common shares despite the lack of fungibility between these shares and ours, and that reduction in demand could lead to a decrease in the market price for the common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our ownership interest in CSI Solar will be diluted once it becomes a publicly traded company. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the result of actions being taken in connection with the STAR Listing, including equity raising from China-domiciled investors, CSI Solar is a majority-owned subsidiary of our company. The minority interest in CSI Solar will increase upon completion of the STAR Listing and may diverge from the interests of ours and our other subsidiaries in the future. We may face conflicts of interest in managing, financing or engaging in transactions with CSI Solar, or allocating business opportunities between our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we own approximately 80% of CSI Solar&#8217;s shares, which includes approximately 5% of the shares issued under CSI Solar&#8217;s employee stock ownership plan that will become effective immediately upon the completion of the STAR Listing. Immediately following the STAR Listing and giving effect to the ownership transfer of CSI Solar&#8217;s employee stock ownership plan shares and the dilutive effect from the shares newly issued for the STAR Listing, we expect to hold approximately 64% of CSI Solar&#8217;s shares. As such, our company will retain majority ownership of CSI Solar after the STAR Listing. However, CSI Solar will be managed by a separate board of directors and officers, and those directors and officers will owe fiduciary duties to the various stakeholders of CSI Solar, including shareholders other than our wholly-owned subsidiary. In the operation of CSI Solar&#8217;s business, the directors and officers of CSI Solar may, in the exercise of their fiduciary duties, take actions that may be contrary to the best interests of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During or after the STAR Listing process, certain requirements of the PRC law, including demands from the CSRC, the Shanghai Stock Exchange or other relevant authorities, may have a bearing on holders of our common shares. In the future, CSI Solar may issue options, restricted shares and other forms of share-based compensation to its directors, officers and employees, which could dilute our company&#8217;s ownership in CSI Solar, increase our share-based compensation expense, and result in less net income attributable to us from CSI Solar. In addition, CSI Solar may engage in capital raising activities in the future that could further dilute our company&#8217;s ownership interest.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our organizational structure will become more complex, including as a result of the process of the STAR Listing. We will need to continue to scale and adapt our operational, financial and management controls, as well as our reporting systems and procedures, at both our Company and CSI Solar. The continued expansion of our organizational structure will require us to commit substantial financial, operational and management resources. In addition, holders of our common shares may have limited opportunities to purchase CSI Solar&#8217;s shares even if the STAR Listing were completed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have granted, and may continue to grant various forms of share-based incentive awards, including performance-based share awards, under our share incentive plan, which may result in increased share-based compensation expenses.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We adopted a share incentive plan in 2006 under which we can grant restricted shares, options and restricted share units to eligible employees, directors and consultants. See &#8220;Item 6 Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8221; for more details. In particular, in 2020, we granted RSUs to our directors and a group of our key employees, whereby vesting is contingent on the success of the STAR Listing (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO). As such, these RSUs are considered performance-based share awards. As of January 31, 2023, 2,036,000 of such RSUs were unvested and outstanding. For the years ended December 31, 2021 and 2022, we did not record any share-based compensation expenses on these RSUs, as the vesting is dependent upon the consummation of the STAR Listing. We will recognize share-based compensation expenses on these RSUs upon vesting at and after the consummation of the STAR Listing. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We believe the granting of share-based compensation, including performance-based share awards, is of significant importance to our ability to attract, retain and motivate key personnel and employees, and we will continue to grant share-based compensation in the future. As a result, our expenses associated with share-based compensation may increase, which may have an adverse effect on our results of operations. In addition, expenses associated with performance-based share awards may fluctuate greater between periods compared to those associated with time-based share awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our common shares may be prohibited from trading in the United States under the HFCAA in the future if it is later determined that the PCAOB is unable to inspect or investigate completely our auditor. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Holding Foreign Companies Accountable Act, or the HFCAA, was enacted on December 18, 2020. The HFCAA, which became effective on January 1, 2021, states if the SEC determines that an issuer that is required to file reports under Section 13 or 15(d) of the Securities Exchange Act of 1934, or a registrant, has filed audit reports issued by a registered public accounting firm that has not been subject to inspection by the PCAOB for three consecutive years beginning in 2021, the SEC shall prohibit that registrant&#8217;s shares or ADSs from being traded on a national securities exchange or in the over-the-counter trading market in the U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, the PCAOB adopted a rule related to the PCAOB&#8217;s responsibilities under the HFCAA, which establishes a framework for the PCAOB to determine, as contemplated under the HFCAA, whether the PCAOB is unable to inspect or investigate completely registered public accounting firms located in a foreign jurisdiction because of a position taken by one or more authorities in that jurisdiction. The rule was approved by the SEC in November 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 2, 2021, the SEC adopted final amendments implementing the disclosure and submission requirements of the Holding Foreign Companies Accountable Act, or the HFCAA. The final amendments establish the SEC&#8217;s procedures for determining whether a registrant is a &#8220;Commission-Identified Issuer&#8221; under the HFCAA and prohibiting the trading of Commission-Identified Issuer&#8217;s securities. If the SEC determines that we are a Commission-Identified Issuer under the HFCAA for three consecutive years, or if the audit report filed as part of our annual report with the SEC is otherwise deemed not to be in compliance with the requirements of the Exchange Act due to the Public Company Accounting Oversight Board, or the PCAOB&#8217;s inability to inspect our auditor, the SEC will prohibit our common shares from being traded on a national securities exchange or in the over-the-counter trading market in the U.S. In the event of such determination, the Nasdaq is expected to delist our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it is unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong, and identifies the registered public accounting firms in mainland China and Hong Kong that are subject to such determinations. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, the independent registered public accounting firm that issues the audit report included in the Form 20-F, is located in China and is included in the list of PCAOB identified firms in the determination report issued in December 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Consequently, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; on May 26, 2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August 26, 2022, the PCAOB announced that it signed a Statement of Protocol with the CSRC and the Ministry of Finance, which it described as the first step toward opening access for the PCAOB to inspect and investigate completely registered public accounting firms in mainland China and Hong Kong. On December 15, 2022, the PCAOB announced that it has secured complete access to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. The PCAOB also vacated its previous determinations issued on December 16, 2021. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB. For this reason, we do not expect to be identified as a Commission-Identified Issuer under the HFCAA after we file this annual report on Form 20-F for the fiscal year ended December 31, 2022. Until such time as the PCAOB issues any new determination, we do not expect our securities to be subject to a trading prohibition under the HFCAA. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 29, 2022, the Consolidated Appropriations Act, 2023 was signed into law, which, among other things, amended the HFCAA to reduce to number of consecutive years an issuer can be identified a Commission-Identified Issuer before the SEC must impose an initial trading prohibition on the issuer&#8217;s securities from three years to two years. Therefore, once an issuer is identified as a Commission-Identified Issuer for two consecutive years, the SEC is required under the HCFAA to prohibit the trading of the issuer&#8217;s securities on a national securities exchange and in the over-the-counter market. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Each year, the PCAOB will determine whether it can inspect and investigate completely audit firms in mainland China and Hong Kong, among other jurisdictions. If the PCAOB determines in the future that it no longer has full access to inspect and investigate completely accounting firms in mainland China and Hong Kong and we use an accounting firm headquartered in one of these jurisdictions to issue an audit report on our financial statements filed with the SEC, we would be identified as a Commission-Identified Issuer following the filing of the annual report on Form 20-F for the relevant fiscal year. In accordance with the HFCAA, our securities would be prohibited from being traded on a national securities exchange or in the over-the-counter trading market in the United States if we are identified as a Commission-Identified Issuer for two consecutive years in the future. The delisting of our common shares, or the threat of their being delisted, may materially and adversely affect the value of your investment. If our common shares are prohibited from trading in the United States, there is no certainty that we will be able to list on a non-U.S. exchange or that a market for our shares will develop outside of the United States. A prohibition of being able to trade in the United States would substantially impair your ability to sell or purchase our common shares when you wish to do so, and the risk and uncertainty associated with delisting would have a negative impact on the price of our common shares. Also, such a prohibition would significantly affect our ability to raise capital on terms acceptable to us, or at all, which would have a material adverse impact on our business, financial condition, and prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If additional remedial measures are imposed on the big four PRC-based accounting firms, including our independent registered public accounting firm, in administrative proceedings brought by the SEC alleging the firms&#8217; failure to meet specific criteria set by the SEC, with respect to requests for the production of documents, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange&#160;Act.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In late 2012, the SEC commenced administrative proceedings under Rule&#160;102(e) of its Rules of Practice and also under the Sarbanes-Oxley Act of 2002 against the mainland Chinese affiliates of the &#8220;Big Four&#8221; accounting firms (including the mainland Chinese affiliate of our independent registered public accounting firm). A first instance trial of the proceedings in July 2013 in the SEC&#8217;s internal administrative court resulted in an adverse judgment against the firms. The administrative law judge proposed penalties on the Chinese accounting firms including a temporary suspension of their right to practice before the SEC, although that proposed penalty did not take effect pending review by the Commissioners of the SEC. On February&#160;6, 2015, before a review by the Commissioner had taken place, the Chinese accounting firms reached a settlement with the SEC whereby the proceedings were stayed. Under the settlement, the SEC accepted that future requests by the SEC for the production of documents would normally be made to the CSRC. The Chinese accounting firms would receive requests matching those under Section&#160;106 of the Sarbanes-Oxley Act of 2002, and would be required to abide by a detailed set of procedures with respect to such requests, which in substance would require them to facilitate production via the CSRC. The CSRC for its part initiated a procedure whereby, under its supervision and subject to its approval, requested classes of documents held by the accounting firms could be sanitized of problematic and sensitive content so as to render them capable of being made available by the CSRC to US regulators.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the terms of the settlement, the underlying proceeding against the four PRC-based accounting firms was deemed dismissed with prejudice at the end of four years starting from the settlement date, which was on February&#160;6, 2019. Despite the final ending of the proceedings, the presumption is that all parties will continue to apply the same procedures: i.e.&#160;the SEC will continue to make its requests for the production of documents to the CSRC, and the CSRC will normally process those requests applying the sanitization procedure. We cannot predict whether, in cases where the CSRC does not authorize production of requested documents to the SEC, the SEC will further challenge the four PRC-based accounting firms&#8217; compliance with U.S. law. If additional challenges are imposed on the Chinese affiliates of the &#8220;big four&#8221; accounting firms, including our independent registered public accounting firm, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange Act.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the event that the SEC restarts administrative proceedings, depending upon the final outcome, listed companies in the U.S.&#160;with major PRC operations may find it difficult or impossible to retain auditors in respect of their operations in the PRC, which could result in their financial statements being determined to not be in compliance with the requirements of the Securities Exchange Act of 1934, as amended, or the Exchange Act, including possible delisting. Moreover, any negative news about any such future proceedings against the firms may cause investor uncertainty regarding China-based, U.S.-listed companies and the market price of their shares may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If our independent registered public accounting firm was denied, even temporarily, the ability to practice before the SEC and we were unable to timely find another registered public accounting firm to audit and issue an opinion on our financial statements, our financial statements could be determined not to be in compliance with the requirements of the Exchange Act. Such a determination could ultimately lead to the delisting of our common shares from Nasdaq, or deregistration from the SEC, or both, which would substantially reduce or effectively terminate the trading of our common shares in the&#160;U.S.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Doing Business in China </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The enforcement of the labor contract law and increases in labor costs in the PRC may adversely affect our business and our profitability.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Labor Contract Law came into effect on January 1, 2008, and was later revised on December 28, 2012; the Implementation Rules were promulgated and became effective on September 18, 2008. The Labor Contract Law and the Implementation Rules imposed stringent requirements on employers with regard to executing written employment contracts, hiring temporary employees, dismissing employees, consultation with the labor union and employee assembly, compensation upon termination and overtime work, collective bargaining and labor dispatch business. In addition, under the Regulations on Paid Annual Leave for Employees, which came into effect on January 1, 2008, and their Implementation Measures, which were promulgated and became effective on September 18, 2008, employees who have served for more than one year with an employer are entitled to a paid vacation ranging from five to fifteen days, depending on their length of service, subject to certain exceptions. Employees who waive such vacation time at the request of the employer must be compensated for each vacation day waived at a rate equal to three times their normal daily salary, subject to certain exceptions. According to the Interim Provisions on Labor Dispatching, which came into effect on March 1, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of workers. &#160;In addition, according to the PRC Social Insurance Law promulgated in October 2010 and revised in 2018, effective as of December 29, 2018, employees shall participate in pension insurance, work-related injury insurance, medical insurance, unemployment insurance and maternity insurance and the employers shall, together with their employees or separately, pay for the social insurance premiums for such employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Furthermore, as the interpretation and implementation of these new laws and regulations are still evolving, we cannot assure you that our employment practice will at all times be deemed fully in compliance, which may cause us to face labor disputes or governmental investigation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The increase or decrease in tax benefits from local tax bureau could affect our total PRC taxes payments, which could have a material and adverse impact on our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Enterprise Income Tax Law, or the EIT Law, came into effect in China on January&#160;1, 2008 and was amended on February&#160;24, 2017 and December&#160;29, 2018. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as a &#8220;High and New&#160;Technology Enterprise,&#8221; or HNTE, are entitled to a 15% enterprise income tax rate provided that they satisfy other applicable statutory requirements. Further, enterprises which engage in businesses within the scope of the Catalogue of Encouraged Industries in Western Regions promulgated by the NDRC, or Western Catalogue, are entitled to a 15% enterprise income tax rate provided that such enterprises satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our PRC subsidiaries, such as CSI New Energy Holding Co., Ltd., or CSI New Energy Holding, Canadian Solar Manufacturing (Luoyang) Inc., or CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. and Changshu Tlian Co., Ltd were HNTEs and enjoyed preferential enterprise income tax rates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If our PRC subsidiaries that have enjoyed preferential tax treatment no longer qualify for the preferential treatment, we will consider available options under applicable law that would enable us to qualify for alternative preferential tax treatment. To the extent we are unable to offset the impact of the expiration of existing preferential tax treatment with new tax exemptions, tax incentives or other tax benefits, the expiration of existing preferential tax treatment may cause our effective tax rate to increase. The amount of income tax payable by PRC subsidiaries in the future will depend on various factors, including, among other things, the results of operations and taxable income of, and the statutory tax rate applicable to, each of the entities. Our effective tax rate depends partially on the extent of the relative contribution of each of our subsidiaries to our consolidated taxable income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are significant uncertainties regarding our tax liabilities with respect to our income under the EIT&#160;Law.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are a Canadian company with a substantial portion of our manufacturing operations in China. Under the EIT Law and its implementation regulations, enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax resident enterprises and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. The Circular on Certain Issues Relating to the Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular 82, effective as of January 1, 2008, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a) the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b) decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c) the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d) 50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular 82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in Circular 82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. It is unclear under PRC tax law whether we have a &#8220;de facto management body&#8221; located in China for PRC tax purposes. As of the date of this annual report on Form 20-F, we have not been notified or informed by the PRC tax authorities that we are considered a PRC resident enterprise for the purpose of EIT Law. However, as the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities. Therefore, there is a risk that we and certain of our non-PRC subsidiaries may be treated as tax residents in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividends paid by us to our non-PRC shareholders and gains on the sale of our common shares by our non-PRC shareholders may be subject to PRC enterprise income tax liabilities or individual income tax liabilities.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, there are no detailed rules applicable to us that govern the procedures and specific criteria for determining the meaning of being &#8220;domiciled&#8221; in the PRC. As a result, it is not clear how the concept of domicile will be interpreted under the EIT Law. Domicile may be interpreted as the jurisdiction where the enterprise is incorporated or where the enterprise is a tax resident. As a result, if we are considered a PRC &#8220;resident enterprise&#8221; for tax purposes, it is possible that the dividends we pay with respect to our common shares to non-PRC enterprises, or the gain non-PRC enterprises may realize from the transfer of our common shares or our convertible notes, would be treated as income derived from sources within China and be subject to the PRC tax at a rate of 10% (which in the case of dividends will be withheld at source). Given the resident enterprise status of CSI Solar and our current non-resident enterprise status for tax purposes, in accordance with EIT law and the treaty between China and Canada, if CSI Solar becomes a dividend paying company, 10% of its dividend will be withheld by the PRC.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the Law of the People&#8217;s Republic of China on Individual Income Tax, or the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a PRC tax resident enterprise for purposes of the IIT Law, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as PRC-sourced income and, consequently, be subject to PRC tax at a rate of up to 20% (which in the case of dividends will be withheld at source). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Such PRC taxes may be reduced by an applicable tax treaty, but it is unclear whether in practice our non-PRC noteholders and shareholders would be able to obtain the benefits of any tax treaties between their country of tax residence and the PRC in the event that we are treated as a PRC resident enterprise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The investment returns of our non-PRC investors may be materially and adversely affected if any dividends we pay, or any gains realized on a transfer of our common shares, are subject to PRC tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restrictions on currency exchange may limit our ability to receive and use our revenues effectively.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our revenues and expenses are denominated in Renminbi. If our revenues denominated in Renminbi increase or our expenses denominated in Renminbi decrease in the future, we may need to convert a portion of our revenues into other currencies to meet our foreign currency obligations. Under China&#8217;s existing foreign exchange regulations, our PRC subsidiaries are able to pay dividends in foreign currencies without prior approval from the State Administration of Foreign Exchange, or SAFE, by complying with certain procedural requirements. However, we cannot assure you that the PRC government will not take further measures in the future to restrict access to foreign currencies for current account transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, the approval of or the record-filing with, certain government authorities, including the Ministry of Commerce or its local counterparts, is required. If our PRC subsidiaries obtain foreign debt through medium and long-term loans or through issuance of bonds, foreign debt approval may also be required to be obtained from the National Development and Reform Commission of PRC, or the NDRC. These limitations could affect the ability of our PRC subsidiaries to obtain foreign exchange through financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The rules and regulations in China can change quickly with little advance notice. Uncertainties with respect to the Chinese legal system, as well as changes in any government policies, laws and regulations, could adversely affect the overall economy in China or our industry, which could harm our business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct a significant portion of our manufacturing operations through our subsidiaries in China. These subsidiaries are generally subject to laws and regulations applicable to foreign investment in China and, in particular, laws applicable to wholly foreign-owned enterprises and joint venture companies. The rules and regulations in China can change quickly with little advance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The PRC legal system is based on written statutes. Prior court decisions may be cited for reference but have limited precedential value. Since 1979, PRC legislation and regulations have significantly enhanced the protections afforded to various forms of foreign investments in China. However, since these laws and regulations are relatively new and the PRC legal system continues to rapidly evolve, the implementation, interpretation and enforcement of many laws, regulations and rules may be inconsistent and change quickly with little advance notice, which may limit legal protections available to us. In addition, any litigation in China may be protracted and may result in substantial costs and divert our resources and the attention of our management.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March 15, 2019, the PRC National People&#8217;s Congress approved the 2019 PRC Foreign Investment Law, which came into effect on January 1, 2020 and replaced the trio of existing laws regulating foreign investment in China, namely, the Sino-foreign Equity Joint Venture Enterprise Law, the Sino-foreign Cooperative Joint Venture Enterprise Law, and the Wholly Foreign-invested Enterprise Law. On December 26, 2019, the PRC State Council approved the Implementation Rules of Foreign Investment Law, which came into effect on January 1, 2020 and replaced implementation rules and ancillary regulations of the Sino-foreign Equity Joint Venture Enterprise Law, the Sino-foreign Cooperative Joint Venture Enterprise Law, and the Wholly Foreign-invested Enterprise Law. The 2019 PRC Foreign Investment Law and its Implementation Rules embody an expected PRC regulatory trend to rationalize its foreign investment regulatory regime in line with prevailing international practice and the legislative efforts to unify the corporate legal requirements for both foreign and domestic investments. The 2019 PRC Foreign Investment Law specifies that foreign investments shall be conducted in line with the &#8220;negative list&#8221; and obtain relevant approval to be issued by or approved to be issued by the State Council from time to time. An FIE would not be allowed to make investments in prohibited industries in the &#8220;negative list,&#8221; while the FIE must satisfy certain conditions stipulated in the &#8220;negative list&#8221; for investment in restricted industries. It is uncertain whether the solar power industry, in which our subsidiaries operate, will be subject to the foreign investment restrictions or prohibitions set forth in the &#8220;negative list&#8221; to be issued in the future, although it is not subject to the foreign investment restrictions set forth in the currently effective 2021 Negative List. There are uncertainties as to how the 2019 PRC Foreign Investment Law and the Implementation Rules would be further interpreted and implemented. We cannot assure you that the interpretation and implementation of the 2019 PRC Foreign Investment Law made by the relevant governmental authorities in the future will not materially impact the viability of our current corporate structure, corporate governance and business operations in any aspect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the trend of strengthening anti-monopoly supervision around the world, the PRC government has promulgated new anti-monopoly and competition laws and regulations and strengthened the enforcement under these laws and regulations, paying more attention to corporate compliance. On February 7, 2021, the Anti-monopoly Commission of the State Council of the PRC promulgated the Guidelines for Anti-monopoly in the field of Platform Economy, which stipulates that any concentration of undertakings involving variable interest entities in Internet industry is subject to anti-monopoly review. On November 15, 2021, the State Administration for Market Regulation of the PRC promulgated the Guidelines for the Overseas Anti-monopoly Compliance of Enterprises. Although we believe that these regulations have little impact on us, there remain uncertainties as to how the laws, regulations and guidelines recently promulgated will be interpreted and implemented. We cannot guarantee that regulators will agree with us or that our business operations comply with such regulations and authorities&#8217; requirements in all respects. If any non-compliance is raised by relevant authorities and determined against us, we may be subject to fines and other penalties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the PRC government has recently published new policies that significantly affected certain industries such as the education and internet industries. It may in the future release regulations or policies regarding the solar power industry that could adversely affect the business, financial condition and results of operations of us and our industry. Furthermore, the PRC government has recently indicated an intent to exert more oversight and control over overseas securities offerings and other capital markets activities and foreign investment in China-based companies. Future government actions in this regard may hinder our ability to offer securities to investors, and/or may affect the value of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The Chinese government has exercised and continues to exercise substantial control over virtually every sector of the Chinese economy. It may intervene or influence the operations of our PRC subsidiaries at any time, which could result in a material change in our operations and the value of our securities.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct our business in China through our PRC subsidiaries in which we hold equity ownership interests. The Chinese government has exercised and continues to exercise substantial control over virtually every sector of the Chinese economy through regulation and state ownership. The ability of our subsidiaries to operate in China may be impaired by changes in its laws and regulations, including those relating to our industry, taxation, land use rights, foreign investment limitations, and other matters. The Chinese government may intervene or influence our operations at any time, which could result in a material adverse change in our operations and the value of our securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The central or local governments of China may impose new, stricter regulations or interpretations of existing regulations that would require additional expenditures and efforts on our part to ensure that our PRC subsidiaries comply with such regulations or interpretations. As such, our PRC subsidiaries may be subject to various government actions and regulatory interference in the provinces in which they operate. They could be subject to regulation by various political and regulatory entities, including various local and municipal agencies and government sub-divisions. They may incur increased costs necessary to comply with existing and newly adopted laws and regulations or penalties for any failure to comply.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Government actions in the future, including any decision to intervene or influence the operations of our PRC subsidiaries at any time, may cause us to make material changes to the operations of our PRC subsidiaries, which could result in a material change in the value of our securities. Therefore, investors and our business face potential uncertainties from actions taken by the Chinese government.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer or continue to offer securities to investors and cause the value of our securities to significantly decline or be worthless.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Chinese government has recently indicated an intent to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers. Any such action could significantly limit or completely hinder our ability to offer or continue to offer securities to investors, and cause the value of such securities to significantly decline or be worthless.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On February 17, 2023, the CSRC issued the Trial Administrative Measures of Overseas Securities Offering and Listing by Domestic Companies and relevant supporting guidelines (collectively, the &#8220;Trial Administrative Measures&#8221;), which took effect on March 31, 2023. According to the Trial Administrative Measures, a PRC domestic company that seeks to offer and list securities in overseas markets shall fulfill the filing procedure with the CSRC as per requirement of the Trial Administrative Measures. When a PRC domestic company seeks to directly offer and list securities in overseas markets, the issuer shall file with the CSRC. When a PRC domestic company seeks to indirectly offer and list securities in overseas markets, the issuer shall designate a major PRC domestic operating entity, which shall, as the domestic responsible entity, file with the CSRC. Initial public offerings or listings in overseas markets shall be filed with the CSRC within three working days after the relevant application is submitted overseas. If an issuer offers securities in the same overseas market where it has previously offered and listed securities, subsequent filings shall be made with the CSRC within three working days after the offering is completed. In addition, upon the occurrence of any material event, such as change of control, investigations or sanctions imposed by overseas securities regulatory agencies or other relevant competent authorities, change of listing status or transfer of listing segment, or voluntary or mandatory delisting, after an issuer has offered and listed securities in an overseas market, the issuer shall submit a report thereof to CSRC within three working days after the occurrence and public disclosure of such event. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On February 24, 2023, the CSRC, the Ministry of Finance, the National Administration of State Secrets Protection and the National Archives Administration of China issued Provisions on Strengthening Confidentiality and Archives Administration in Respect of Overseas Issuance and Listing of Securities by Domestic Enterprises which became effective on March 31, 2023. These provisions extend the scope of application to overseas indirectly listed enterprises. To provide or publicly disclose to the relevant securities companies, securities service agencies, overseas regulatory authorities and other entities and individuals, or to provide or publicly disclose, through its overseas listing entities, any document or material involving State secrets or work secrets of State agencies, a PRC domestic enterprise shall strictly go through the corresponding procedures, and when providing documents and materials to the relevant securities companies and securities service agencies, PRC domestic enterprises shall provide the relevant securities companies and securities service agencies with a written statement on the secrets. The relevant securities companies or securities service agencies shall properly retain the foregoing written statement for future reference. A PRC domestic enterprise shall perform the corresponding procedures in accordance with the relevant provisions of the Chinese government, if it provides accounting records or photocopies of accounting records to entities and individuals such as the relevant securities companies, securities service agencies and overseas regulatory authorities. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">According to the Trial Administrative Measures, PRC domestic companies that have already been listed overseas before March 31, 2023 shall be deemed as existing issuers. Due to the fact that our common shares have been listed on the Nasdaq Global Select Market, we are deemed as an existing issuer, and thus are currently not required to obtain permission or approval from any of the PRC authorities including the CSRC or the CAC or to complete the filing procedures with the CSRC for our historical securities offerings pursuant to the Trial Administrative Measures. Pursuant to the Trial Administrative Measures, we may be required to submit filings to the CSRC in the event that we conduct any securities offerings in the future.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If it is determined in the future that approval from and filing with the CSRC or any other PRC regulatory authorities or other procedures are required for our future offering of securities, it is uncertain whether we can or how long it will take for us to obtain such approval or complete such filing procedures and any such approval or filing could be rejected. Any failure to obtain or delay in obtaining such approval or completing such filing procedures for our future offerings may subject us to sanctions by the CSRC or other PRC regulatory agencies, which may include fines and penalties on our operations in China, limitations on our operating privileges in China, delays in or restrictions on the repatriation of the proceeds from any such offering into the PRC, restrictions on or prohibition of the payments or remittance of dividends by our subsidiaries in China, or other actions that could have a material and adverse effect on our business, reputation, financial condition, results of operations, prospects, as well as the trading price of our common shares. The CSRC or other PRC regulatory agencies may also take actions requiring us, or making it advisable for us, to halt any such offering before the settlement and delivery of the common shares that we may offer. Consequently, if you engage in market trading or other activities in anticipation of and prior to the settlement and delivery of the common shares we offer, you would be doing so at the risk that the settlement and delivery may not occur. In addition, if the CSRC or other regulatory agencies later promulgate new rules or explanations requiring that we obtain their approvals or complete the required filing or other regulatory procedures for any such offering, we may be unable to obtain a waiver of such regulatory requirements. Any uncertainties or negative publicity regarding such approval, filing or other regulatory requirements could materially and adversely affect our business, prospects, financial condition, reputation, and the trading price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interruption in or failure of information technology, control and communication systems that we manage or that are managed by third parties with which we do business, including cyber-attacks to or other privacy or data security incidents that result in security breaches of these systems, could have an adverse effect on our business, results of operations, and financial condition.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We increasingly rely on information technology systems and network infrastructure that we manage or that are managed by third parties with which we do business to collect, use, transmit, store, dispose of, and otherwise process electronic information. Our or our critical third parties&#8217; IT systems and other infrastructure and the information processed in such IT systems could be affected by cybersecurity incidents from a number of causes, including but not limited to, power outages, computer and telecommunication failures, computer viruses, malware, attempts to gain unauthorized access to data and systems, ransomware or other destructive software, manual or usage errors, catastrophic events, natural disasters and severe weather conditions. &#160;Attacks, including those targeting IT systems, could severely disrupt business operations and result in significant expense to repair or remediate system damage. Although we have taken steps to protect our IT systems and information maintained in those systems, we have experienced cyber-attacks in the past and we expect attacks and security incidents to increase in the future. Global threat actors and terrorists have targeted and will continue to target entities and projects like ours that operate in the energy and infrastructure sectors, including through disruptive attacks, such as those involving ransomware. We cannot guarantee the security or protection of our IT Systems, information or projects and we have little or no control over the IT Systems and facilities of third parties on which our projects rely. Our defensive measures, including back-up systems and those of critical third parties may fail to timely or effectively anticipate, detect, prevent or allow us to recover from cyberattacks. In addition, our costs to adequately counter the risk of cyber-attacks and to comply with contractual and/or regulatory compliance requirements may increase significantly in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, cybersecurity breaches may expose us to a risk of loss or misuse of confidential and proprietary information. Such theft, loss or fraudulent use of information, or other unauthorized disclosure of personal or sensitive data, may lead to high costs to notify and protect the impacted persons. It could also subject us to litigation, losses, liability, fines, or penalties, any of which could materially and adversely affect our results of operations and reputation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have implemented various security measures and procedures to protect our IT systems, increase security for information, and monitor and mitigate cybersecurity threats. However, as cybersecurity threats are dynamic, evolving, and increasing in sophistication, magnitude, and frequency, there can be no assurance that such procedures and measures will be successful or sufficient to prevent security breaches from occurring. If any of these potential cybersecurity incidents and corresponding regulatory action were to occur, they could adversely impact our results of operations, due to high additional costs, such as penalties, third-party claims, repairs, increased insurance expense, litigation, remediation, security, and compliance costs.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to comply with governmental regulations and other legal obligations concerning data protection and cybersecurity may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We routinely collect, store and use data during our operations including but not limited to the demand and pricing of solar and battery storage products and electricity prices and forecasts, the location and capacity of our production plants, the operational and performance data of solar and battery projects that we provide services to or own, and the information related to our employees, customers and suppliers both in and out of China. We are subject to PRC laws and regulations governing the collecting, storing, sharing, using, processing, disclosure and protection of data on the Internet and mobile platforms as well as cybersecurity. These PRC laws apply not only to third-party transactions, but also to transfers of information between us and our subsidiaries in China, and other parties with which we have commercial relations. On December 28, 2021, the CAC announced the adoption of the Cybersecurity Review Measures, and effective February 15, 2022, online platforms and network providers possessing personal information of more than one million individual user must undergo a cybersecurity review by the CAC when they seek listing in foreign markets. The Measures provide that critical information infrastructure operators purchasing network products and services and data processors carrying out data processing activities, which affect or may affect national security, shall apply for cybersecurity review to the cyberspace administrations in accordance with the provisions thereunder. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On July 30, 2021, the PRC State Council promulgated the Regulations on Protection of Critical Information Infrastructure, which became effective on September 1, 2021. Pursuant to the Regulations on Protection of Critical Information Infrastructure, critical information infrastructure shall mean any important network facilities or information systems of an important industry or field, such as public communication and information service, energy, communications, water conservation, finance, public services, e-government affairs and national defense science, which may endanger national security, peoples&#8217; livelihoods and public interest in the event of damage, function loss or data leakage. In addition, relevant administration departments of each critical industry and sector shall be responsible to formulate eligibility criteria and determine the critical information infrastructure operator in the respective industry or sector. The operators shall be informed about the final determination as to whether they are categorized as critical information infrastructure operators. Among these industries, the energy and telecommunications industries ae mandated to take measures to provide key assurances for the safe operation of critical information infrastructure in other industries and fields.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, the Standing Committee of the National People&#8217;s Congress passed the Personal Information Protection Law of the PRC, which became effective from November 1, 2021 and requires personal information processing operators, among other regulatory requirements, to obtain a personal information protection certification issued by recognized institutions in accordance with the CAC regulation before such personal information can be transferred out of China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 1, 2022, Measures for the Security Assessment of Outbound Data Transfers and its guideline Guide to Applications for Security Assessment of Outbound Data Transfers (First Edition) promulgated by the CAC took effect. According to the aforementioned rule, a data processor is required to apply to the national cyberspace administration for security assessment of outbound data transfer through local provincial cyberspace administration, if the data processor provides important data abroad. The rule is newly adopted, and it is not certain how the CAC will interpret and enforce it. If we are required to go through a security assessment of outbound data transfer, we will receive a notice on assessment result after completion of the assessment, and we may be notified to terminate the outbound data transfer or make rectification as required. In addition, we have to regulate our outbound data transfer activities in accordance with the applicable laws and regulations on the security management of outbound data transfer and the relevant requirements specified in the notice on assessment result.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of the date of this annual report, we have not been informed that we are identified as a critical information infrastructure operator by any governmental authorities. We will closely monitor the relevant regulatory environment and will assess and determine whether we are required to apply for the cybersecurity review with the advice of our PRC counsel.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Common Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may issue additional common shares, other equity or equity-linked debt securities, which may materially and adversely affect the price of our common&#160;shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may issue additional equity, equity-linked debt securities for a number of reasons, including to finance our operations and business strategy (including in connection with acquisitions, strategic collaborations or other transactions), to satisfy our obligations for the repayment of existing indebtedness, to adjust our ratio of debt to equity, to satisfy our obligations upon the exercise of outstanding warrants or options or for other reasons. For example, we issued $230.0 million of convertible notes in 2020, and we conducted an &#8220;at-the-market&#8221; offering program of common shares on Nasdaq in 2021, through which we sold 3,639,918 of our common shares and raised US$150.0 million in gross proceeds before deducting commissions and offering expense. Any future issuances of equity securities or equity-linked debt securities could substantially dilute the interests of our existing shareholders and may materially and adversely affect the price of our common shares. We cannot predict the timing or size of any future issuances or sales of equity, equity-linked or debt securities, or the effect, if any, that such issuances or sales, may have on the market price of our common shares. Market conditions could require us to accept less favorable terms for the issuance of our securities in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The market price for our common shares may be volatile.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market price for our common shares has been highly volatile and subject to wide fluctuations. During the period from November 9, 2006, the first day on which our common shares were listed on Nasdaq, until December 31, 2022, the market price of our common shares ranged from $1.95 to $67.39 per share. From January 1, 2022 to December 31, 2022, the market price of our common shares ranged from $22.15 to $47.69 per share. The closing market price of our common shares on December 31, 2022 was $30.90 per share. The market price of our common shares may continue to be volatile and subject to wide fluctuations in response to a wide variety of factors, including the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">announcements of technological or competitive developments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">regulatory developments in our target markets affecting us, our customers or our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">actual, projected or anticipated fluctuations in our quarterly operating results;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in financial estimates by securities research analysts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in the economic performance or market valuations of other solar power companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">changes in the volume or quality of our solar and battery storage project development pipeline, and retained assets; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">government incentives on manufacturing, renewable energy and storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">imposition of new or revised export, import, or doing-business regulations, including trade sanctions, tariffs, and changes in the export licenses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the departure of executive officers and key research personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">patent litigation and other intellectual property disputes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">litigation and other disputes with our long-term suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fluctuations in the exchange rates between the U.S. dollars, Renminbi, Euros, Brazilian reals, South African rand, Canadian dollars, Japanese yen, Australian dollars, British pounds and Thai baht;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the release or expiration of lock-up or other transfer restrictions on our outstanding common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">sales or anticipated sales of additional common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">share repurchase program; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the success, or the lack thereof, in the completion of the STAR Listing</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">of CSI Solar; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">future fundraising by us or our public or private subsidiaries.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the securities market has from time to time experienced significant price and volume fluctuations that are not related to the operating performance of particular companies. These market fluctuations may also have a material and adverse effect on the price of our common shares. In the past, following periods of volatility in the market price of their stock, many companies have been the subject of securities class action litigation. If we become involved in similar securities class action litigation in the future, it could result in substantial costs and diversion of our management&#8217;s attention and resources and could harm our stock price, business, prospects, financial condition and results of operations. Higher interest rates could also result in fluctuations or depression of the securities market, which may adversely affect the price of our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Substantial future sales of our common shares in the public market, or the perception that such sales could occur, could cause the price of our common shares to&#160;decline.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Sales of our common shares in the public market, or the perception that such sales could occur, could cause the market price of our common shares to decline. As of December 31, 2022, we had 64,506,055 common shares outstanding. The number of common shares outstanding and available for sale will increase when our employees and former employees who are holders of options to acquire our common shares become entitled to the underlying shares under the terms of their options. In the past, in connection with debt financing, we have issued convertible notes, and may issue additional convertible notes that can be converted to our common shares. In 2020, we issued $230.0 million of convertible notes. From May to November 2021, we conducted an &#8220;at-the-market&#8221; offering program of common shares on the Nasdaq, through which we sold 3,639,918 of our common shares and raised $150.0 million in gross proceeds before deducting commissions and offering expenses. To the extent these conversion features are exercised and/or the common shares are sold into the market, the market price of our common shares could decline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Your right to participate in any future rights offerings may be limited, which may cause dilution of your&#160;holdings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may from time to time distribute rights to our shareholders, including rights to acquire our securities. However, we cannot make these rights available in the U.S.&#160;unless we register the rights and the securities to which the rights relate under the Securities Act of 1933, or the Securities Act, or an exemption from the registration requirements is available. We are under no obligation to file&#160;a registration statement with respect to any such rights or securities or to endeavor to cause a registration statement to be declared effective. Moreover, we may not be able to establish an exemption from registration under the Securities Act. Accordingly, you may be unable to participate in our rights offerings and may experience dilution in your&#160;holdings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our articles contain certain provisions that could adversely affect the rights of holders of our common shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following provisions in Canadian Solar Inc.&#8217;s articles may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying or preventing a change of control of our company: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares, in one or more series, at any time and from time to time. Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series. See &#8220;Item 10. Additional Information&#8212;B. Articles&#8221; for a more detailed description of the attributes of the preferred shares.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our board of directors is entitled to fix and may change the number of directors within the minimum and maximum number of directors provided for in our articles (i.e., a minimum of three and a maximum of ten directors). Our board of directors may appoint one or more additional directors, who shall hold office for a term expiring not later than the close of the next annual meeting of shareholders, but the total number of directors so appointed may not exceed one-third of the number of directors elected at the previous annual meeting of shareholders.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">You may have difficulty enforcing judgments obtained against us.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. is a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China. A majority of our directors and officers are nationals and residents of countries other than the United States (principally Canada, mainland China and Hong Kong) and a substantial portion of the assets of these persons are located outside the United States. As a result, it may not be possible for you to effect service of process within the United States upon those persons. Furthermore, it may not be possible for you to enforce against us or them, in the United States, judgments obtained in U.S. courts, because all or a substantial portion of our assets and the assets of those persons are located outside the United States. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, there is uncertainty as to whether the courts of Canada or the PRC would recognize or enforce judgments of U.S. courts against us or such persons predicated upon the civil liability provisions of the securities laws of the U.S. or any state. In addition, it is uncertain whether such Canadian or PRC courts would be competent to hear original actions brought in Canada or the PRC against us or such persons predicated upon the securities laws of the U.S. or any state.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If a United States person is treated as owning at least 10% of our shares, such person may be subject to adverse United States federal income tax consequences.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If a United States person is treated as owning (directly, indirectly or constructively) at least 10% of the value or voting power of our shares, such person may be treated as a &#8220;United States shareholder&#8221; with respect to each &#8220;controlled foreign corporation,&#8221; or CFC, in our group. Where our group includes one or more United States subsidiaries that are corporations for United States federal income tax purposes, in certain circumstances we could be treated as a CFC and certain of our non-United States subsidiaries could be treated as CFCs (regardless of whether or not we are treated as a CFC). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States shareholder of a CFC may be required to annually report and include in its United States taxable income its pro rata share of &#8220;Subpart F income,&#8221; &#8220;global intangible low-taxed income&#8221; and investments in United States property by CFCs, whether or not we make any distributions. An individual who is a United States shareholder with respect to a CFC generally would not be allowed certain tax deductions or foreign tax credits that would be allowed to a corporation that is a United States shareholder. A failure to comply with these reporting obligations may subject a United States shareholder to significant monetary penalties and may prevent starting of the statute of limitations with respect to such shareholder&#8217;s United States federal income tax return for the year for which reporting was due. We do not intend to monitor whether we are or any of our non-United States subsidiaries is treated as a CFC or whether any investor is treated as a United States shareholder with respect to us or any of our CFC subsidiaries, or to furnish to any United States shareholders information that may be necessary to comply with the aforementioned reporting and tax paying obligations. A United States investor should consult its tax advisor regarding the potential application of these rules in its particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be classified as a passive foreign investment company, which could result in adverse United&#160;States federal income tax consequences to United&#160;States Holders of our common&#160;shares.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will be a passive foreign investment company, or PFIC, for United States federal income tax purposes for any taxable year if, applying applicable look-through rules, either (a) at least 75% of our gross income for such year is passive income or (b) at least 50% of the value of our assets (generally determined based on an average of the quarterly values of the assets) during such year is attributable to assets that produce or are held for the production of passive income. Based on the value of our assets and the nature and composition of our income and assets, we do not believe we were a PFIC for United States federal income tax purposes for our taxable year ended December 31, 2022. PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. Moreover, we cannot guarantee that the United States Internal Revenue Service, or IRS, will agree with any positions that we take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a position contrary to any position that we take.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the nature or composition of our income or assets may cause us to be more likely to be a PFIC. The determination of whether we are a PFIC for any taxable year may also depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may depend upon the market value of our common shares from time to time, which may be volatile) and also may be affected by how, and how quickly, we spend our liquid assets and cash generated from our operations. Among other matters, if our market capitalization declines, we may be more likely to be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of the value of our overall assets. Further, while we believe our classification methodology and valuation approach are reasonable, it is possible that the IRS may challenge our classification or valuation of our goodwill and other unbooked intangibles, which may result in our being or becoming a PFIC for the current taxable year or one or more future taxable years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">If we are a PFIC for any taxable year during which a United States Holder (as defined in &#8220;Item 10. Additional Information&#8212;E. Taxation&#8212;United States Federal Income Taxation&#8221;) holds our common shares, certain adverse United States federal income tax consequences would generally apply to such United States Holder. See &#8220;Item 10. Additional Information&#8212;E. Taxation&#8212;United States Federal Income Taxation&#8212;Passive Foreign Investment Company.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_a36effab_c67d_4756_b109_c0297add3cfe"></a><a id="ITEM4INFORMATIONONTHECOMPANY_79732"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4</b><span style="font-style:italic;font-weight:bold;">&#160;&#160;&#160;INFORMATION ON THE COMPANY</span><span style="font-style:italic;font-weight:bold;"> </span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">A</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">History and Development of the Company</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. was incorporated under the laws of the Province of Ontario, Canada in October 2001. Since its incorporation, Canadian Solar Inc. has changed its jurisdiction several times as authorized and approved by its shareholders as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">June 1, 2006: continuance from Province of Ontario, Canada jurisdiction to Canadian federal jurisdiction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">July 23, 2020: continuance from Canadian federal jurisdiction to Province of British Columbia, Canada jurisdiction; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">July 29, 2022: continuance from Province of British Columbia, Canada jurisdiction to Province of Ontario, Canada jurisdiction.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result, Canadian Solar Inc. is governed by the <i style="font-style:italic;">Business Corporation Act</i> (Ontario), or the OBCA. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">See &#8220;&#8212;C. Organizational Structure&#8221; for additional information on our corporate structure, including a list of our significant subsidiaries. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our principal executive office and principal place of business is located at 545 Speedvale Avenue West, Guelph, Ontario, Canada N1K 1E6. Our telephone number at this address is (1-519) 837-1881 and our fax number is (1-519) 837-2550. Our agent for service of process in the United States is CT Corporation System, located at 111 Eighth Avenue, New York, New York 10011.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">All inquiries to us should be directed to the address and telephone number of our principal executive office set forth above. Our website is www.canadiansolar.com. The information contained on or accessible through our website does not form part of this annual report.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">B</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Business Overview</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are one of the world&#8217;s largest solar technology and renewable energy companies, leading manufacturer of solar photovoltaic modules, provider of solar energy and battery storage solutions, and developer of utility-scale solar and battery storage projects. Our geographic footprint is diversified, as our sales as well as development pipeline in various stages of development are located across North America, South America, Europe, South Africa, the Middle East, Australia and Asia. Our business operations are divided into two business segments, namely CSI Solar and Global Energy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under CSI Solar, we design, develop and manufacture solar ingots, wafers, cells, modules and other solar power and battery storage products. We conduct most of our manufacturing operations in China and Southeast Asia. Our products are used for residential, commercial and industrial solar power generation systems. We sell our solar module products primarily under our &#8220;Canadian Solar&#8221; brand name. We also deliver bankable, end-to-end, utility-scale, turnkey battery storage system solutions across various applications. These storage system solutions are complemented with long-term service agreements which include future battery capacity augmentation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During 2022, we launched the SolBank, a lithium iron phosphate (&#8220;LiFePO4&#8221;) chemistry-based battery storage enclosure with up to 2.8 MWh of usable energy capacity, specifically engineered for utility-scale applications. The SolBank is designed with liquid cooling and humidity control, active balancing BMS (&#8220;Battery Management System&#8221;) technologies, and complies with the latest international safety and compliance standards. We intend to produce SolBank on fully automated, state-of-the-art production and testing facilities. Our battery storage total annual manufacturing capacity for SolBank was 2.5 GWh in December 2022, and we plan to expand the total annual capacity to 10.0 GWh by December 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Towards the end of 2022, we also launched our residential battery storage product, the &#8220;EP Cube&#8221;, in the U.S. market and have since also launched the product in Europe and Japan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our Global Energy segment primarily comprises solar and battery storage project development and sale, O&amp;M and asset management services for operational projects, sale of electricity, and investment in retained assets. Our expertise spans from sourcing land, interconnection agreements, structuring PPAs, and obtaining permits and other requirements. Our monetization strategies vary between develop-to-sell, build-to-sell, and partial build-to-own, depending on business strategies and market conditions, with the goal of maximizing profits, accelerating cash return, minimizing capital risk, and building recurring income. While we plan to continue to monetize our current portfolio, we also intend to grow our energy business by building up our project development pipeline. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_Hlk132684597"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April 2023, we announced the rebranding of our wholly owned Global Energy subsidiary as Recurrent Energy. Recurrent Energy, previously our North American utility-scale solar and energy storage project developer, now encompasses all our global development and services businesses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2023, our solar project backlog, which refers to late-stage projects that have passed their Cliff Risk Date and are expected to be built in the next one to four years, totaled approximately 4.9 gigawatt peak (&#8220;GWp&#8221;) with 422 megawatt peak, or MWp, in North America, 936 MWp in Europe, the Middle East and Africa (&#8220;EMEA&#8221;), 2,397 MWp in Latin America, 971 MWp in China, 149 MWp in Japan and 3 MWp in Asia Pacific excluding China and Japan. A project&#8217;s Risk Cliff date is the date on which the project passes the last high-risk development stage and varies depending on the country where it is located. This is usually after the projects have received all the required environmental and regulatory approvals, and entered into interconnection agreements and PPAs or feed-in tariff (&#8220;FIT&#8221;) agreements. Significant majority of projects in backlog are partially or fully contracted with secured PPA or FIT agreements, and the remaining projects are reasonably assured of securing PPAs in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2023, our solar project advanced pipeline totaled 6.9 GWp. In addition to our solar project backlog and solar project advanced pipeline, as of January 31, 2023, we had 1,775 MWp of solar projects in construction; and a portfolio of solar projects in operation totaling 574 MWp. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2023, our battery storage project development pipeline totaled 46.9 GWh, including 2,868 MWh of battery storage development backlog and 320 MWh of battery storage projects in construction. As of January 31, 2023, we had 280 MWh net of battery storage in operation, representing a 20% equity interest in the 1,400 MWh Crimson battery storage project in California. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2023, our battery storage solutions turnkey pipeline totaled 22.6 GWh, which includes both contracted and in construction projects, projects at different stages of the negotiation process, and 2.3 GWh of projects which we manage under long term service agreement (&#8220;LTSA&#8221;, operational battery storage projects delivered by us that are under multi-year long-term service agreements and generate recurring earnings).See &#8220;&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Solar Project Development&#8221; and &#8220;&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Operating Solar Power and Battery Storage Plants and Sale of Electricity&#8221; for a description of the status of our solar and battery storage projects in operation. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that we offer one of the broadest crystalline silicon solar power product lines in the industry. Our product lines range from modules of medium power output to high efficiency, high-power output mono-crystalline modules, as well as a range of specialty products. We currently sell our solar power and battery storage products to a diverse customer base in various markets worldwide, including the U.S., Canada, Germany, Spain, the Netherlands, South Africa, China, Japan, India, Thailand, Australia, Brazil and the U.K. Our customers are primarily distributors, system integrators, project developers and installers/EPC companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We employ a flexible vertically integrated business model that combines internal manufacturing capacity with direct material purchases of ingots, wafers and cells. We believe this approach has benefited us by allowing us to grow in a capital-light manner, while giving us significant flexibility to respond to short-term demand changes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">32.2 GW of total annual solar module manufacturing capacity, approximately 4.4 GW of which is located in Southeast Asia and the rest in China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">19.8 GW of total annual solar cell manufacturing capacity, approximately 4.2 GW of which is located in Southeast Asia and the rest in China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">20.0 GW of total annual wafer manufacturing capacity located in China; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">20.4 GW of total annual ingot manufacturing capacity located in China.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We enter into investment agreements to add vertically integrated manufacturing capabilities. For example, in January 2023, we entered into a multi-year investment agreement with the municipal government of Yangzhou City in Jiangsu Province, China to add 14 GW of annual wafer and cell capacity as phase I of a three-phase plan, expected to commence production in the second half of 2023. We target to expand our solar module, solar cell, wafer and ingot total annual manufacturing capacities to 75.0 GW, 60.0 GW, 50.0 GW and 50.4 GW, respectively, by March 2024, of which 50.0 GW, 50.0 GW, 35.0 GW and 20.4 GW, respectively, is targeted for December 2023.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We intend to use substantially all of the silicon ingots that we manufacture to supply our own silicon wafer plants, substantially all of the silicon wafers that we manufacture to supply our own solar cell plants and substantially all of the solar cells that we manufacture to produce our own solar module products. We also intend to use some of the solar modules we produce in our solar power projects. Our solar module manufacturing costs in China, including purchased polysilicon, wafers and cells, increased from 21.9 cents per watt in December 2020 to 25.2 cents per watt in December 2021, and decreased to 21.8 cents per watt in December 2022. We expect to continue to decrease the manufacturing costs for our production of wafers, cells and modules in the long run, as well as to focus on reducing our manufacturing costs by improving solar cell conversion efficiency, enhancing manufacturing yields and reducing raw material costs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our Products and Services</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Products Offered in Our CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Standard Solar Modules</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are arrays of interconnected solar cells in weatherproof encapsulation. We produce a wide variety of standard solar modules, ranging from 400W to over 675W in power and using mono-crystalline cells in several different design patterns. We introduced the industry&#8217;s first module product using 166 mm wafers, in comparison with the conventional 156.75 mm wafers. We also first introduced the highest power 665W module using 210 mm wafers in mass production. Our mainstream solar modules include CS7N (132 half-cells, 210 mm wafer, mono facial and bifacial), CS7L (120 half-cells, 210 mm wafer, mono facial and bifacial), CS6W (144 half-cells, 182 mm wafer, mono facial and bifacial), CS6L (120 half-cells, 182mm wafer, mono facial) and CS6R (108 half-cells, 182 mm wafer, mono facial). The mainstream modules are designed for residential, commercial and utility applications. The small modules are for specialty applications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched our Quartech modules in March 2013. Quartech modules use 4-busbar solar cell technology which improves module reliability and efficiency. CS6P (6 &#215; 10 cell layout) Quartech modules have power output between 255 W and 270 W, which enables us to offer customers modules with high power. We launched and started shipping Dymond modules in October 2014. Dymond modules are designed with double-glass encapsulation, which is more reliable for harsh environments and ready for 1500V solar systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched and started shipping SmartDC modules in September 2015. SmartDC modules feature an innovative integration of our module technology and power optimization for grid-tied PV applications. By replacing the traditional junction-box, SmartDC modules eliminate module power mismatch, mitigate shading losses and optimize power output at module-level. SmartDC modules also provide module-level data to minimize operational costs and to permit effective system management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2016, we launched our new Quintech SuperPower mono-crystalline modules. Quintech SuperPower mono-crystalline modules are made of cells with PERC technology and significantly improve module efficiency and reliability. CS6K (6 &#215; 10 cell layout aligned with mainstream dimensions) Quintech SuperPower mono modules have a power output between 285 W and 300 W with high efficiency and high reliability. We started commercial production of Quintech CS6K and CS6U modules in 2016. These modules have features such as 5 busbar cells, standardized module dimensions and cell and module improvements, resulting in higher wattage production and better performance. These modules are intended for broad base introduction, which covers mono-crystalline cells, multi-crystalline cells and mono-crystalline PERC cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">At the beginning of 2015, we started commercial production of Onyx cells with our in-house developed black silicon technology, Onyx technology. Onyx technology employs a nano-texturing process to make the multi-crystalline cell almost fully black, increasing cell efficiency and module wattage at the same time. We started increasing the production volume of Onyx cells in 2016, which have been incorporated into our Quartech and Quintech module families.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2016, we launched the 1500V System Voltage crystalline solar module portfolio. The 1500V System Voltage crystalline module provides a robust and cost-efficient system solution by adding more modules in a string, which decreases the number of combiner boxes, direct current homeruns and trenching. This unique product design improves the overall system performance and efficiency and reduces labor cost and installation time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, we launched the Ku module series which results in an improvement in failure redundancy with innovative cell matrix interconnection technology. The module power output is enhanced by up to 10 Watt per module while reducing the module working temperature. We developed P4 cell technology, which is multi-crystalline PERC technology. The combination of P4 cell and Ku module technologies enable us to offer customer higher wattage and more reliable multi crystalline module products. We also launched and shipped High Density Module (&#8220;HDM&#8221;) product to some markets this year. The HDM offers high wattage, high module efficiency and pleasant aesthetics for residential applications.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, we launched the BiKu modules which are bifacial designed and can generate additional electricity from the backside of the module. These modules have more shading tolerance and a much lower hot spot risk thanks to the innovative design on the bifacial cell and double glass module. At the end of 2018, we began the mass production of the HiKu module, the first commercially available multi-crystalline module exceeding 400 watts with significant levelized cost of energy, or LCOE, advantages. In 2018, we launched the HiDM module, which is an upgrade of the HDM module and uses shingled cells to increase both module wattage and efficiency. We also launched P5 technology, which is based on casted mono technology developed in house, and will boost cell and module efficiencies close to mono while retaining all the advantages of multi technology, such as LID, LeTID and lower cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we continued to expand our high-power module product portfolio based on 166 mm wafers. In July 2019, we started to mass-produce BiHiku modules. BiHiKu is a bifacial module utilizing our 166 mm P4 (multi PERC) cells which have a front side power output exceeding 400 watts. &#160;In addition to modules utilizing our 166 mm P4 (multi PERC) cells, we launched HiKu and BiHiKu modules using 166 mm P5 (casted mono) and mono PERC cells. Our CS3L (120 half-cells, 166 mm wafer) mono PERC modules can achieve power output exceeding 360 watts, which is suited for residential applications, and our CS3W (144 half-cells, 166 mm wafer) mono modules can reach wattages up to 445 watts. By August 2019, we converted 100% of our cell production capacity into PERC and by the end of 2019, over one-third of our module capacity was for HiKu and BiHiKu. For the residential market, we ramped up the all-black version of our HiDM module with appealing aesthetics and high module efficiency. &#160;Our full-cell modules such as CS6K and CS6U are gradually being phased out and replaced by Ku, BiKu and HiDM modules. In 2019, we also officially phased out all the double glass mono-facial modules due to the introduction of the more competitive bifacial modules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we continued to launch high power modules using bigger wafers. In July 2020, we introduced CS3Y (156 half-cells, 166 mm wafer) module to the market. The power wattage of the HiKu series modules is further enhanced to 490W to accommodate the needs of our customers. Several new technologies were first used in this new module and were further used in the HiKu6 and HiKu7 modules launched later. Smaller gap between cells brings the blank area down by 70% on the module surface, and helps to increase the module efficiency by 0.3%. Hetero ribbon (&#8220;HTR&#8221;) and flexible welding process further facilitates the smart interconnection without causing additional microcracks, especially on bigger modules. In November 2020, we began mass production of CS6W (144 half-cells, 182 mm wafer) module. The module power of CS6W is up to 550W. HiKu7, the power module with the highest power output, was then brought to market in December 2020, including HiKu7L (120 half-cells, 210 mm wafer), and HiKu7N (132 half-cells, 210 mm wafer). The module power of HiKu7L reaches 595W while HiKu7N reaches 665W. 210 mm wafer based modules HiKu7 has been our standard offering since 2020. For the residential market, we introduced HiDM-all black modules and HiKu3L-all black module with appealing aesthetics. We also introduced HiKu-Lite module with less weight for loading-limited installation locations. We are among the first few companies to supply light weight modules in Japan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we expanded our manufacturing capacity for the HiKu6 (182 mm wafers) and HiKu7 (210 mm wafers) series modules. We invested in a research and production pilot line for Heterojunction (&#8220;HJT&#8221;) solar cells and modules, which uses in-house developed N-type mono-silicon ingots and wafers. Based on our high efficiency HJT cells, we introduced 6R-H-AG (108 half-cells, 182 mm wafer) with module power up to 440W to cater to the residential market. To satisfy residential customers who frequently experience strong wind loads, we introduced a mechanically enhanced version of CS3N (132 half-cells, 166 mm wafer) in 2021. Also, as modules with larger wafers (182 mm and 210 mm) were gaining market share, we developed CS6R (108 half-cells, PERC technology, 182 mm wafers) for the global residential market in 2021. CS6R has module power up to 420W and was introduced in 2022. Furthermore, we embarked on the development of N-type wafer-based modules with TOPCon technology. Our in-house TOPCon manufacturing capability will be integrated from N-type ingot growth, wafering, cells to modules. We started to deliver the 182mm cell based TOPCon modules in April 2023, and the 210 mm cell based TOPCon modules are expected to be commercially available later in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2022, we successfully established a pilot line for TOPCon cells and produced the first piece of TOPCon cell with an average cell efficiency of up to 24% and a yield over 98% by September 2022. With mass production, the cell efficiency reached 25%, which is 1.3% higher than the average efficiency of PERC cells in the market. We named our new module products, TOP(Bi)HiKu6 and TOP(Bi)HiKu7, which includes the 182 mm cell based bifacial TOPBiHiKu6 (555W-570W) and monofacial TOPHiKu6 (420W-575W) modules, and the 210 mm cell based bifacial TOPBiHiKu7 (615W-690W) modules. All certifications and reliability tests were completed in December 2022. We started to deliver the 182 mm cell based TOPCon modules in April 2023 and will commence mass production of the 210 mm cell based TOPCon modules later in 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The TOPCon modules will solidify our product and technology leadership and further increase customers&#8217; return on investment. Firstly, temperature coefficient of our TOPCon modules is as low as -0.29%/&#8451;, making them perform better under hot environments compared to mainstream module products. Secondly, they do not suffer from boron-oxygen related LID (&#8220;Light Induced Degradation&#8221;), resulting in less power degradation. Thirdly, the power degradation of the TOPCon modules was only 1.0% after 2,000 hours of damp and heat (DH2000) test, compared to 1.9% degradation of PERC modules under similar tests. Furthermore, the bifaciality of TOPCon bifacial modules can reach up to 85%, with a significant power gain of around 2% compared to PERC bifacial modules under similar field conditions.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, we developed a steel frame module based on (monofacial and bifacial) CS6W and CS7N for utility-scale markets due to the lower carbon footprint compared to aluminum frame modules. We have an inhouse-designed steel frame with special cross-section structure to improve cost-performance ratio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the goal of carbon neutrality, the commercial and industrial roof market has rapidly developed. In this market, customers need not only a photovoltaic module but also an integrated system solution. In June 2022, we initiated the development of BIPV (&#8220;Building Integrated Photovoltaic&#8221;) products and have completed the design of all components of the whole system, including a customized tin roof, PV module, and special designed clamp that have advantages in both better appearance and higher reliability. We expect to commence construction of the pilot project for our BIPV system in China in May 2023, and we expect this system to be launched later in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our standard solar modules are designed to endure harsh weather conditions and to be transported and installed easily. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Utility-scale Battery Storage</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our utility-scale battery storage offering includes proprietary products, technology and integrated solutions focused on delivering high performance, safe and reliable battery storage solutions to enable utilities, independent power producers, and energy investors and users achieve energy savings, while maintaining power reliability and resilience. Our battery storage solutions are utilized across the various market sectors, including high voltage grid scale, commercial and industrial business, and residential homes. Battery storage helps to provide the balance of energy delivery with energy consumed, including absorption of excess energy in the systems and release for when it is needed. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Battery storage demand is growing for various utility grid opportunities and applications including energy arbitrage, reserve capacity, flexible peaking and resource adequacy, as well as grid frequency regulation and voltage control. We have successfully introduced our high-energy and high-power storage power block with integrated lithium-ion phosphate batteries designed to meet market demand for 1 to 4 hours of battery storage duration. Our turn-key offering includes the integrated battery, power conversion systems and the energy management system. We also offer comprehensive services and capabilities with these project installations, including consulting and project engineering, procurement, and construction (&#8220;EPC&#8221;) management. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, we support our installed projects using our capabilities to offer contracted long term services contract commitments that include operation and maintenance, capacity augmentation, system performance level, warranty, and other services throughout the operational phase of the projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">To leverage our significant growth and advancement into the global battery storage market, we are investing significantly into our developing our own battery storage proprietary products, technologies, and manufacturing. For example, in 2021, we started designing and developing proprietary DC battery storage systems, including battery modules and packs, under the &#8220;SolBank&#8221; product brand name. During 2022, we launched the SolBank, a LiFePO4 chemistry-based battery storage enclosure with up to 2.8 MWh of usable energy capacity, specifically engineered for utility-scale applications. Our battery storage total annual manufacturing capacity for SolBank was 2.5 GWh in December 2022, and we plan to expand the total annual capacity to 10.0 GWh by December 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Residential Battery Storage </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In late 2022, we launched our residential battery storage product, EP Cube, in the U.S. market and have since also launched the product in Europe and Japan. EP Cube is our residential all-in-one energy storage solutions that allow users to increase the efficiency of their self-consumption solar PV installations by storing, managing and using the electricity generated with their own PV system.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar System Kits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A solar system kit is a ready-to-install package consisting of solar modules produced by us and components, such as inverters, racking system and other accessories, supplied by third parties. We began selling solar system kits in 2010. In 2022, we sold them primarily to customers in China, Japan and Brazil. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Power Electronic Products</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our power electronic products include on-grid inverters, storage PCS, system accessories, and smart energy management platforms. We design, develop, and manufacture power electronic products, aiming to provide our customer cost-effective, reliable, one-stop smart energy solutions. Our inverter products cover a power range from 3 kW to 125 kW, which are suitable for residential, C&amp;I, and ground-mounting applications. The 110 kW to 125 kW series is targeted for the C&amp;I applications due to its higher power rating, modular IGBT integrated design, and patented thermal management design. To date, we have sold more than 3GW of inverters cumulatively. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">EPC Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our EPC services are a complete turnkey solutions for utility scale PV projects, including system design, procurement, installation, system testing and commissioning. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We provide EPC services in China to ground-mounted solar projects, as well as to large-scale distributed system projects for C&amp;I customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Long-term service agreements (LTSA)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are managing 2.3 GWh of projects under LTSA, which are operational battery storage projects delivered by us that are under multi-year long-term service agreements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Products and Services Offered in Our Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and Battery Storage Project Development and Sale</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, build and sell solar and battery storage projects. Our Global Energy business develops projects primarily in the U.S., Canada, Japan, China, the EU, the U.K., Brazil, Mexico, Chile, Colombia, Australia and Taiwan. Our global project development activities include sourcing land, interconnection agreements, structuring PPAs, obtaining permits and other requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have experienced continued pipeline expansion and strong project development. As of January 31, 2023, we had a total global solar pipeline of 24.7 GWp and an energy storage project development pipeline of 46.9 GWh.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We actively pursue suitable buyers for our solar and battery storage projects. See &#8220;&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Solar Project Development&#8221; for a description of the status of our solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Solar Power Plants and Sale of Electricity</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate certain of our solar power plants and generate income from the sale of electricity. The electric power generated by our solar power projects will generally be sold under long-term PPAs with public utilities, licensed suppliers, corporate offtakers, and commercial, industrial or government end users. As of January 31, 2023, we had a fleet of solar power plants in operation with an aggregate gross capacity of approximately 574 MWp. Furthermore, we increasingly hold and accumulate assets through investment vehicles in order to better capture asset value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">O&amp;M Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, we provided O&amp;M services in North America, Europe, Japan and Australia. O&amp;M services include monitoring, inspections, repair and replacement of project equipment and site management and administrative support services for solar projects in operation. We have deployed a number of unique technologies including semi-automated module washing, autonomous vegetation management, machine learning technologies in predictive maintenance and drone inspection. We continue to invest in developing these technologies and other areas of our service offering.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Asset Management Services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, we provided asset management services primarily in North America and Japan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Supply Chain Management</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our CSI Solar segment depends on our ability to obtain a stable and cost-effective supply of polysilicon, solar ingots, wafers and cells. Our silicon wafer agreements set forth price and quantity information, delivery terms and technical specifications. While these agreements usually set forth specific price terms, most of them also include mechanisms to adjust the prices, either upwards or downwards, based on market conditions. Over the years, we have entered into a number of long-term supply agreements with various silicon and wafer suppliers in order to secure a stable supply of raw materials to meet our production requirements. Under our supply agreements with certain suppliers, and consistent with historical industry practice, we make advance payments prior to scheduled delivery dates. These advance payments are made without collateral and are credited against the purchase prices payable by us. In 2022, we purchased all of our silicon raw materials used in our solar modules from third parties. We have entered into long-term supply purchase agreements, primarily for silicon raw materials. We plan to continue to diversify our external polysilicon and wafer suppliers. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We purchase solar cells from a number of international and local suppliers primarily in China, in addition to manufacturing our own solar cells and having toll manufacturing arrangements with our solar cell suppliers. Our solar cell agreements set forth price and quantity information, delivery terms and technical specifications. These agreements generally provide for a period of time during which we can inspect the product and request the seller to make replacements for damaged goods. We generally require the seller to bear the costs and risks of transporting solar cells until they have been delivered to the location specified in the agreement. As we expand our business, we expect to increase our solar cell manufacturing capacity and diversify our solar cell supply channel to ensure we have the flexibility to adapt to future changes in the supply of, and demand for, solar cells. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For risks relating to the long-term agreements with our raw material suppliers, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our CSI Solar segment supplies part of the solar modules used in our Global Energy segment. We leverage on our scale of operations and have increasingly consolidated our procurement operations. With centralized procurement, we believe we are able to secure more competitive arrangements with our major suppliers for our project construction, thereby enhancing our ability to compete on cost given the large procurement quantities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Manufacturing, Construction and Operation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We assemble our solar modules by interconnecting multiple solar cells by tabbing and stringing them into a desired electrical configuration. We lay the interconnected cells, laminate them in a vacuum, cure them by heating and package them in a protective lightweight anodized aluminum frame or steel frame. We seal and weatherproof our solar modules to withstand high levels of ultraviolet radiation, moisture and extreme temperatures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We mostly use automated equipment to enhance the quality and consistency of our finished products and to improve the efficiency of our manufacturing processes. Key equipment in our manufacturing process includes automatic laminators, simulators and solar cell testers. The design of our assembly lines provides flexibility to adjust the ratio of automated equipment to skilled labor in order to maximize quality and efficiency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar and battery storage projects in the U.S., Canada, Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia, Australia and Taiwan. We engage in all aspects of the development and operation of solar and battery storage projects, including project selection, design, permitting, engineering, procurement, construction, installation, monitoring, operation and maintenance. For the solar and battery storage projects that we construct, we have the option of either using our own team, hiring third-party contractors, or a combination of both.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our solar and battery storage projects development process primarily consists of the following stages:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Market due diligence and project selection.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> &#160;We search for project opportunities globally with the goal of maintaining a robust and geographically diversified project portfolio. Our business team closely monitors the global solar and battery storage projects market and gathers market intelligence to identify project development opportunities. Our development team prepares market analysis reports, financial models and feasibility studies to guide us in evaluating and selecting solar and battery storage projects. As we consider undertaking new solar and battery storage projects, we weigh a number of factors including location, local policies, political and regulatory environment, financing costs and potential returns.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Financing</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. &#160;We typically include financing plans for our projects in our financial models and feasibility studies. We finance our projects through our working capital and debt financing from local banks or international financing sources that require us to pledge project assets or provide parent guarantees.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Permitting and approval</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. &#160;We either obtain the permits and approvals necessary for solar and battery storage projects ourselves or we acquire projects that have already received the necessary permits and approvals. The permitting and approval process for solar and battery storage projects varies from country to country and often from region to region within a country.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Project design, engineering, procurement and construction.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Our engineering team generally designs solar and battery storage projects to optimize performance while minimizing construction and operational costs and risks. The engineering design process includes the site layout and electrical design as well choosing the appropriate technology, in particular module, inverter and battery storage system configuration. We generally use solar modules and battery storage products produced by us and by third-party manufacturers, and procure inverters and other equipment from third-party suppliers.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we have operating solar projects in Brazil, Japan, Argentina, China and Mexico. After a project is connected to the grid, we regularly inspect, monitor and manage the project site with the intention to maximize the utilization rate, rate of power generation and system life of the project.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate a monitoring center in Guelph, Ontario, Canada, which adopts the global monitoring platform (&#8220;CSEye&#8221;) to monitor the operational performance data in real time, to automatically receive alerts about exceptions, and to automate the reporting of performance, technician work orders, warranty claims, spare parts, health and safety incidences, manage system alarms and reports, all of which can be accessed through cloud applications. Our proprietary algorithms analyze the performance of the self-owned and third party power plants that we operate and maintain on a daily basis and identify potential problems. For example, they raise alarms when inverters or strings are under-performing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Quality Control and Certifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have registered our quality control system according to the requirements of ISO9001:2008 standards. T&#220;V Rheinland Group, a leading international service company that documents the safety and quality of products, systems and services, audits our quality systems. We inspect and test incoming raw materials to ensure their quality. We monitor our manufacturing processes to ensure quality control and we inspect finished products by conducting reliability and other tests.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also maintain various international and domestic certifications for our solar modules. For example, we have obtained IEC6121561730 certifications for sales of our modules in Europe, UL61730 certifications for sales of our modules in North America, and other necessary certifications for sales of our modules in China, Japan, Korea, India, Brazil, Australia, Colombia, Israel, Italy, Great Britain and Indonesia, etc. The IEC certification is issued by Verband Deutscher Elektrotechniker, or VDE, and the UL certification by Canadian Standards Association, or CSA. Our module products satisfy the latest standards, including IEC 61215, IEC61730, UL61730 and regional regulations, and have achieved high California Energy Commission, or CEC, PVUSA test condition ratings. Further, our module products have passed additional extended stress program qualifications such as salt mist testing, ammonia testing, PID testing, as well as extra-standard or multiple times testing programs with many variants from PVEL or VDE. We also continuously improve all required steps of silicon, ingot, wafer, cell and module to maintain competitiveness of carbon footprint certification for the French market special tender requirements. In 2022, we obtained Italy Environmental Product Declaration certification, or EPD, which focuses on the assessment of carbon emissions, energy consumption, and waste generation of a solar module&#8217;s whole life cycle, following ISO14040, ISO14044, ISO14025 and EN15804 for Italy market. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our PV test laboratory is accredited by CNAS according to ISO17025 quality management standard, and has been approved into various Data Acceptance Program, namely by CSA, VDE, and the China General Certification, or CGC, in China. The PV test laboratory allows us to conduct some product certification testing in-house, which decreases time-to-market and certification costs, as well as exhaustive product and component reliability research to drive improvements in product durability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales, Marketing and Customers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, certain information relating to our total net revenues derived from our customers categorized by their geographic locations. The information presented below is based on the location of customers&#8217; global or regional headquarters, as appropriate:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:37.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Region</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;for&#160;percentages)</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,620,840</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,139,070</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,739,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.7</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,221,105</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,279,594</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,793,651</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37.4</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe and others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 634,550</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 858,505</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,935,180</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.9</span></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,476,495</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 5,277,169</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 7,468,610</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our primary customers are distributors, system integrators, project developers and installers/EPC companies. A small number of customers have historically accounted for a significant portion of our net revenues. In 2020, 2021 and 2022, the top five customers of the CSI Solar segment by net revenues collectively accounted for approximately 15.8%, 14.0% and 13.0%, respectively, of our total net revenues. Sales to our largest customer in these years accounted for 3.9%, 3.9% and 4.9%, respectively, of our total net revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We market and sell solar modules worldwide for residential, commercial and utility-scale solar energy projects and solutions. We primarily sell our products to distributors and large-scale installers through our own, home-grown sales teams, who operate throughout Europe, the Americas, the Middle East and the Asia-Pacific regions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our marketing activities include brand sponsorship, social media discussions and digital marketing. Our teams also develop channel marketing programs to support our customers in their marketing of our business and products, in addition to providing them with various services such as product training, new product briefing, and sales training. Furthermore, our marketing team focuses heavily on public relations and crisis management to safeguard our public image. By working closely with our sales teams and other leading solar research companies, our marketing team provides up-to-date market information on a constant basis, supporting the efforts of our sales team. Our marketing staff is located throughout the Americas, China, Europe, Japan and Australia.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell our standard solar module products primarily under three types of arrangements: sales contracts to distributors; sales to systems integrators, installers/EPC companies and project developers; and OEM/tolling manufacturing arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We target our sales and marketing efforts for our specialty solar products at companies in selected industry sectors, including the automotive, telecommunications and LED lighting sectors. As standard solar modules increasingly become commoditized and technology advancements allow solar power to be used in more off-grid applications, we intend to increase our sales and marketing efforts on our specialty solar products and capabilities. Our sales and marketing team works with our specialty solar products development team to take into account changing customer preferences and demands to ensure that our sales and marketing team is able to effectively communicate to customers our product development changes and innovations. We intend to establish additional relationships in other market sectors as the specialty solar products market&#160;expands.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we expand our manufacturing capacity and enhance our brand name with our system solutions offering, we continue to develop new customer relationships in a wider range of geographic markets to further decrease single market dependency. Since 2013, we significantly increased our total number of buying customers and achieved leading market share in North America, Canada, Japan, South-Africa and Brazil, which we maintained and grew further. In 2021, we started to produce and sell our own CSI single-phase inverter portfolio to complement the already established and growing overall CSI branded inverter sales. We were one of the leading turnkey EPC PV-system providers in Australia in 2018 and 2019 and a key system kits/packages and turnkey system provider in Brazil since 2018. In the U.S., we have been recognized as a top 10 system/inverter supplier since 2019. We have shifted away from the full EPC service model and are now offering and helping our customers with system design and system optimization simulation and support. In 2022, we have successfully launched our first CSI developed and manufactured 3-phase string inverter for commercial and small utility-scale applications and we plan to further grow our own CSI string inverter portfolio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In general, we are continuously growing our direct sales channel to sell modules and other solar system components (as system packages or as stand-alone components) directly to EPC, developer as well as contractor and installer, to lower customer concentration and to reduce payment risks and demand fluctuation risks. In order to access small contractors and installers which we do not directly serve, we maintain a strong sales channel and business relationship with key distribution partners. In parallel, we have expanded our key account and utility-scale sales channel and gained market share as we benefited from a global growth in demand for mid-scale to large-scale solar power plants, enabled through our high efficiency large format module portfolio for LCOE optimized large commercial and utility-scale project usage. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar System Kits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A solar system kit is a ready-to-install package consisting of solar modules produced by us and components, such as inverters, racking system and other accessories, supplied by third parties. In 2022, we sold approximately 2.1 GW of system kits primarily in China, Japan and Brazil. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Storage Solutions</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We leverage our vast customer and supply chain network to offer competitive solutions for stand-alone battery storage offerings or &#8220;Photovoltaic + Storage&#8221; hybrid integrated solutions. We also continue to prioritize our R&amp;D and investments into battery storage product and technology development to further our advancement into downstream product, technology, and manufacturing as well as upstream project integrated battery storage solutions. As a result, we have launched in 2022, our CSI developed utility-scale battery storage solution, SolBank, with up to 2.8 MWh of usable energy capacity per unit. This solution is specifically engineered for utility-scale grid connected battery capacity storage installations in stand-alone projects or hybrid projects, in conjunction with renewable energy generation equipment such as wind or solar power technologies. In addition, CSI has launched its own residential battery storage system, EP Cube, focusing on residential and small commercial battery storage installations of up to 120 kWh. With this solution, we expect generated solar power can be stored for usage during subsequent electricity peak rate periods, for peak consumption shaving, and for independent or resilient power supply in case of emergencies and grid outages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of January 31, 2023, our battery storage solutions turnkey pipeline totaled 22.6 GWh, which includes both contracted and in construction projects, projects at different stages of the negotiation process, and 2.3 GWh of projects which we manage under long term service agreement (&#8220;LTSA&#8221;, operational battery storage projects delivered by us that are under multi-year long-term service agreements and generate recurring earnings).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar power and battery storage plants primarily in the U.S., Canada, Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia, Australia and Taiwan. We also provide O&amp;M and assets management services. We sell our projects to large utility companies or grid operators. Customers for our O&amp;M and asset management services include solar project developers and owners.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In order to continue to grow our Global Energy segment, we conduct market due diligence, routinely meet with industry operators and interested investors, and attend industry conferences and events to identify project development opportunities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar Project Development</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of January 31, 2023, our total project pipeline was 24.7 GWp, consisting of 1.8 GWp under construction, 4.9 GWp of backlog, 6.8 GWp of advanced pipeline, and 11.2 GWp of earlier stage pipeline. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Backlog projects are late-stage projects that have passed their Risk Cliff date and are expected to start construction in the next 1-4 years. A project&#8217;s risk cliff date is the date on which the project passes the last high-risk development stage and varies depending on the country where it is located. This is usually after the projects have received all the required environmental and regulatory approvals, and entered into interconnection agreements, feed-in tariff (&#8220;FIT&#8221;) arrangements and PPAs. Significant majority of projects in backlog are contracted (i.e., have secured a PPA or FIT), and the remaining are reasonably assured of securing PPAs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Advanced pipeline projects are mid-stage projects that have secured or have more than 90% certainty of securing an interconnection agreement. Early-stage Pipeline projects are early-stage projects controlled by Canadian Solar that are in the process of securing interconnection. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table presents our total project pipeline. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:8.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:7.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="11" style="vertical-align:bottom;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Project Pipeline&#160;by&#160;Region as of January 31, 2023 (in MWp)*</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">In</b></p></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advanced</b></p></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Early-Stage</b></p></td><td style="vertical-align:bottom;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Region</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">North America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 422</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,310</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,324</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 7,056</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Latin America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,397</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 510</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 5,215</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EMEA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 89</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 936</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,509</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,803</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 7,337</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 243</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia Pacific excluding Japan and China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 135</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,058</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 2,196</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 250</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 971</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,475</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 2,696</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,775</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 4,878</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 6,865</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 11,225</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 24,743</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Note: Total project pipeline represents the gross MWp size of the projects owned by us and our non-controlling interest.</i></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Solar Power and Battery Storage Plants and Sale of Electricity</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition to our project backlog, we had a portfolio of solar power plants in operation totaling 574 MWp as of January 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our total portfolio of solar power plants in operation as of January 31, 2023 was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:3.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:23.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="9" style="vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Solar Power Plants in Operation (in MWp)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Latin</b></p></td><td style="vertical-align:bottom;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Asia Pacific excluding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">America</b></p></td><td style="vertical-align:bottom;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Japan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Japan and China</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">China</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 140</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 574</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Note: Solar power plants in operation represents the proportionate net MWp owned by us</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Storage </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Project</i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"> Development</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have been actively developing utility-scale solar plus battery storage hybrid projects, as well as stand-alone battery storage projects. Since early 2021, nearly all our projects under development include the co-hosting of battery storage facilities with solar power plants on the same piece of land. By using a single interconnection point for each project to serve the solar and battery storage energy load, we expect to significantly enhance the efficiency and the value of our battery storage development pipeline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, our track record includes several storage tolling agreements with a variety of power purchasers, including community choice aggregators, investor-owned utilities, universities, public utility districts, and development services agreements to retrofit operational solar projects with battery storage, many of which were previously developed by us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The table below sets forth our storage project development backlog and development pipeline as of January 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:53.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="11" style="vertical-align:bottom;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Storage Project Backlog and Development Pipeline by Region as of January 31, 2023 (in MWp)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advanced</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Early-Stage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">In</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Development</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Development</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Region</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">construction</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">North America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,098</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,382</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 19,480</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Latin America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,650</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 970</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 4,920</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EMEA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 110</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,620</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,999</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 12,729</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 19</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia Pacific excluding Japan and China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,640</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 2,118</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 7,600</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 320</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 2,868</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 8,368</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 35,310</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 46,866</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of January 31, 2023, we had 280 MWh net of battery storage in operation, representing a 20% equity interest in the 1,400 MWh Crimson battery storage project in California.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Customer Support and Service</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We typically sell our standard solar modules with a fifteen year or twenty-five year warranty against defects in materials and workmanship and a twenty-five to thirty-year linear power performance warranty that guarantees the actual power output of our modules. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We warrant our battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. We have obtained warranties from our battery cell manufacturer suppliers to back up a portion of our warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have also entered into similar workmanship warranties with our suppliers to back up our warranties.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As part of our energy business, before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases for solar power projects, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract price. In certain instances, a bonus payment may be received if the energy generation performance test performs above expectations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our customer support and service function handles technical inquiries and warranty-related issues. In recent years, we expanded our capacity in these areas to better enable us to handle our customers&#8217; questions and concerns in a timely and professional manner.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have agreements with a group of insurance companies to reduce some of the risks associated with our warranties. See &#8220;&#8212;Insurance&#8221; below. Our customer support and service function will continue to expand and improve services we provide to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Competition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market for solar power and battery storage products is competitive and evolving. We compete with American companies, such as First Solar, and Asia-based companies such as Longi, Trina, Jinko, JA Solar and Hanwha Q Cells. We compete with battery storage companies, such as Sungrow and BYD. Some of our competitors are developing or producing products based on alternative solar technologies, such as thin film PV materials, that may ultimately have costs similar to, or lower than, our projected costs. Solar modules produced using thin film materials, such as cadmium telluride and copper indium gallium selenide technology, generally have lower conversion efficiency but do not use silicon for production, compared to our crystalline silicon solar module products, and as such are less susceptible to increases in the costs of silicon. Some of our competitors have also become vertically integrated, from upstream polysilicon manufacturing to solar system integration. In addition, the solar power market in general competes with other sources of renewable and alternative energy as well as conventional power generation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that the key competitive factors in the market for solar power and battery storage products include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">price;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the ability to deliver products to customers on time and in the required volumes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">product quality and associated service issues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">nameplate power or capacity and other performance parameters such as power tolerances;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">value-added services such as system design and installation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">value added features such as those that make solar power and battery storage products easier or cheaper to install;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">additional system components such as mounting systems, delivered as a package or bundle;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">brand equity and any good reputation resulting from the above items, including the willingness of banks to finance projects using modules produced by a particular supplier;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">customer relationships and distribution channels; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the aesthetic appearance of solar power and battery storage products.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the immediate future, we believe that our ability to compete depends on our ability to deliver cost-effective products in a timely manner and to develop and maintain a strong brand name based on high quality products and strong relationships with downstream customers. Our competitiveness also depends on our ability to effectively manage our cash flow and balance sheet and to maintain our relationships with the financial institutions that fund solar and battery storage projects. The solar industry is facing an accelerated market concentration by large companies. We believe that such industry concentration will benefit our Company in the long-term. We believe that the key to competing successfully in the long-term is to produce innovative, high quality products at competitive prices and develop an integrated sales approach that includes services, ancillary products, such as mounting systems and inverters, and value-added product features. Our goal is to offer our customers solar power and battery storage products that deliver the lowest LCOE or Levelized Cost of Storage (&#8220;LCOS&#8221;), and we focus in particular on high-priced markets and segments, such as the distributed generation market segment which includes commercial, industrial and residential end market applications. Additionally, we believe that a good marketing program and the strong relationships that we are building with customers and suppliers will support us in this competitive environment.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy business is a capital-intensive business with numerous industry participants. We face competition from a large and diverse group of local and international project developers, financial investors and certain utility companies. These competitors vary in terms of size, geographic focus, financial resources and operating capabilities. We compete in a diversified and complicated landscape since the commercial and regulatory environments for solar and battery storage project development, sale and operation vary significantly from region to region and country to country. While local policy frameworks on battery storage project development remain relatively new, many new entrants are seizing on the market opportunity. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our primary competitors are local and international developers and operators of solar and battery storage projects. We believe the key competitive factors in the global solar and battery storage project development industry include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">vertical integration with upstream manufacturing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">permit and project development experience and expertise;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reputation and track record;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">relationship with government authorities and knowledge of local policies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">strong internal working capital and good relationship with banks and international organizations that enhance access to external financing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">experienced technicians and executives who are familiar with the industry and the implementation of our business plans;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">expertise and experience in managing construction and operations.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We cannot, however, guarantee that some of our competitors do not or will not have advantages over us in terms of greater operational, financial, technical, management or other resources in particular markets or in general.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we develop and construct and, in limited cases, operate and maintain solar and battery storage projects in various regions including the U.S., Canada, Japan, China, the EU, the U.K., Brazil, Mexico, Argentina, Chile, Colombia, Australia and Taiwan. We compete to supply energy to potential customers with a limited number of utilities and providers of distributed generation in these markets. If we wish to enter into new PPAs for our solar and battery storage projects upon termination of previous PPAs, we compete with conventional utilities primarily based on cost of capital, generation located at customer sites, operations and management expertise, price (including predictability of price), green attributes of power, the ease by which customers can switch to electricity generated by our energy systems and our open architecture approach to working within the industry, which facilitates collaboration and project acquisitions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For further discussion of the competitive risks that we face, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Because the markets in which we compete are highly competitive and evolving quickly, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy business, we may not be able to compete successfully and we may not be able to maintain or increase our market share.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Insurance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain property risk insurance policies with reputable insurance companies to cover our equipment, facilities, buildings and inventories. The coverage of these insurance policies includes losses due to natural hazards and losses arising from unforeseen accidents. Our manufacturing plants in China and elsewhere are covered by business interruption insurance. However, significant damage or interruption to any of our manufacturing plants, whether as a result of fire or other causes, could still have a material and adverse effect on our results of operations. We also maintain commercial general liability (including product liability) coverage. We obtained credit insurance primarily from China Export &amp; Credit Insurance Corporation (&#8220;Sinosure&#8221;) and PICC Property and Casualty Company Limited (&#8220;PICC&#8221;). Credit insurance is designed to offset the collection risk of our account receivables for certain customers within the credit limits approved by the insurers. Risks related to marine and air for the export of our materials and products are covered under cargo transportation insurance. We also maintain directors and officers&#8217; liability insurance. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties on solar module products. The insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We believe that our warranty insurance improves the marketability of our products and our customers are willing to pay more for products with warranties backed by insurance.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental Matters</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Except as disclosed in the &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits and passed relevant assessments necessary to conduct the business currently carried on by us at our existing manufacturing facilities. We have also conducted environmental studies in conjunction with our solar and battery storage projects to assess and reduce the environmental impact of such projects. Our major manufacturing operations are certified under ISO14001 Environmental and ISO45001 Occupational Health and Safety standards, which required that we implement and operate according to various procedures that demonstrate waste reduction, energy conservation, injury reduction and other environmental, safety and health objectives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have finished establishing our internal ISO14064:2018 Green House Gas (&#8220;GHG&#8221;) quantification and reporting system under guidance of 3rd party Soci&#233;t&#233; G&#233;n&#233;rale de Surveillance (SGS), to identify, quantify and report our GHG emissions and removals at the organization level, setting up solid ground for continuous GHG emissions reduction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our products must comply with the environmental regulations of the jurisdictions in which they are installed. We make efforts to ensure that our products comply with the EU Regulation (&#8220;EC&#8221;) No&#160;1907/2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (&#8220;REACH&#8221;). Our system solutions product lines, including string inverters, also comply with the European Union&#8217;s RoHS (Restriction of Hazardous Substances) Directive 2011/65/EU and its amendments. Note that Solar PV modules are exempted from the European Restriction of Hazardous Substances (&#8220;RoHS&#8221;) legislation as part of the decision from the European Commission to ensure achievement of energy renewable targets in its article 2. We also strictly adhere to Toxicity Characteristic Leaching Procedure (&#8220;TCLP&#8221;) testing of our photovoltaic module portfolio to monitor the presence of any toxic metal substances (arsenic, barium, cadmium, chromium, lead, mercury, selenium, silver) according to TCLP Standard EPA Test Method 1311, as issued by the U.S. Environmental Protection Agency (&#8220;EPA&#8221;) under the Toxic Substances Control Act (&#8220;TSCA&#8221;) for landfill disposal of modules. We adopted a new advanced TCLP sampling method developed by Arizona State University to improve sampling accuracy and testing results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our manufacturing operations are subject to regulation and periodic monitoring by local environmental protection authorities. Also, various licenses, permits, and approvals are required for our solar and battery storage project developments within our energy business. If we fail to comply with present or future environmental laws and regulations, we could be subject to fines, suspension of production or cessation of&#160;operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are committed to achieving the goal of powering our global operations renewable energy in this decade. To achieve this goal, we will reduce our electricity and energy consumption while increasing the use of renewable energy. These initiatives may be subject to policy, market or cost barriers in the locations where we operate. We will also reduce our energy intensity by leveraging our expertise and strength in product technologies, manufacturing process know-how, and energy savings while we continue to grow our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, as one of the world&#8217;s largest solar and energy storage project developers, we are committed to proactively minimizing any adverse environmental and ecological impact that our project development activities may have, while we develop projects and monitor progress and results. Early in the project development process, we integrate the evaluation of environmental and ecological impacts, as well as community engagement into our internal approval process for each solar and battery storage project we develop. These efforts have helped us to minimize project delays related to environmental and ecological impacts or community engagement, as these factors were already considered during the project planning phase. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We evaluate and provide disclosures on our climate-related risks and opportunities in accordance with the TCFD, 100% of our revenues are generated from the sale of products and services related to clean renewable energy, which is crucial to achieving the global decarbonization goals established in the Paris Agreement. To manage the environmental impacts of our manufacturing activities, we have established an Environmental Management System to measure these impacts and set up 5-year rolling targets on environmental metrics to reduce the impacts.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental, Social and Governance Initiatives</span><b style="font-weight:bold;"> </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We incorporate ESG factors across our business and strategic decision-making process and continue to make efforts to improve our practices to ensure long-term sustainability. Our three key focus areas are: </p><div style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-left:18pt;margin-top:0pt;padding-left:10.8pt;text-align:justify;text-indent:-10.8pt;"><span style="display:inline-block;font-size:10pt;min-width:10.8pt;text-indent:0pt;white-space:nowrap;">&#9679;</span><i style="font-size:10pt;font-style:italic;">Environmental.</i><span style="font-size:10pt;"> We are committed to providing a safe and enriching work environment for employees and contractors and strive to reduce the environmental impact of our business activities. We track greenhouse gas emissions and manufacturing intensity on energy, water and waste across our facilities. As a result, we have meaningfully reduced greenhouse gas emissions and energy, water and waste intensity during the manufacturing of solar PV modules. In addition, we research, develop and implement new technologies to enhance product efficiency and reduce the environmental impact of our production processes. We have also established rolling 5-year key performance indicator (&#8220;KPI&#8221;) targets for key metrics that are integrated into employee KPIs and compensation plans. Moreover, we have established a sustainability program to manage the sustainability risks associated with the growth opportunities, which is overseen by the Sustainability Committee. </span></div><div style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-left:18pt;margin-top:0pt;padding-left:10.8pt;text-align:justify;text-indent:-10.8pt;"><span style="display:inline-block;font-size:10pt;min-width:10.8pt;text-indent:0pt;white-space:nowrap;">&#9679;</span><i style="font-size:10pt;font-style:italic;">Social Responsibility.</i><span style="font-size:10pt;"> We are an equal opportunities employer, and we strive to cultivate a diverse and inclusive culture and create lasting positive impact on society and the communities in which we operate. To promote diversity and inclusion, we monitor diversity and inclusion performance across all our human capital management areas by tracking our hiring practices including improving the balance of women, people of ethnic minority and people with disabilities in our hiring, expanding our recruiting channels to attract a more diverse range of candidates, establishing several employee resource groups to provide institutional for reaching professional career goals, and providing unconscious bias training across our global operations. We care about our employees&#8217; training and development and have implemented extensive skills and leadership training programs, including our Canadian Solar education courses and programs, which aims to help our employees gain a broader understanding of our business, driver innovation, and stimulate more effective collaboration. Our Canadian Solar education courses and programs also help further develop our Global Energy employees&#8217; expertise across disciplines and provide these employees with learning resources covering its key business functions. &#160;In 2022, we have designed and launched 40 courses on key workstreams, such as project development, permitting, asset management, financing, sales management, order management and operations, supply chain management, marketing, technical services and support. See &#8220;Item 6. Directors, Senior Management and Employees&#8212;D. Employees.&#8221; We also respect and recognize employees&#8217; rights and freedom to associate and bargain collectively. With employee safety being our top priority, we have implemented the ISO45001 occupational health and safety management system environmental management system (&#8220;ISO14001&#8221;), to ensure that hazards in the workplace are systematically identified and evaluated and that relevant control measures are put in place. Our rigorous safety policies and procedures have helped us maintain a low rate of safety-related incidents. In addition, we strive to be a responsible corporate citizen in the communities where we operate by responding quickly to COVID-19 and developing a response plan to provide guidance to all offices internationally, and abiding to a strict code of business conduct and ethics and expecting no less from our business partners, including our suppliers. We also cultivate long-term relationships with local organizations to ensure we are able to fully integrate solar and battery storage projects into existing energy infrastructure and surrounding communities. &#160;</span></div><div style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-left:18pt;margin-top:0pt;padding-left:10.8pt;text-align:justify;text-indent:-10.8pt;"><span style="display:inline-block;font-size:10pt;min-width:10.8pt;text-indent:0pt;white-space:nowrap;">&#9679;</span><i style="font-size:10pt;font-style:italic;">Corporate Governance.</i><span style="font-size:10pt;"> Our board of directors is responsible for managing and supervising the business and affairs of our Company, and has a broad range of skills and industry knowledge to oversee management performance to ensure the success of our business and create long-term value for stakeholders. We continuously make efforts to improve the diversity of our board of directors and strive to further improving diversity at the board level and meet the NASDAQ New Rule 5605(f) for Diverse Board Representation in the specified time frame, including based on gender, nationality, ethnicity, age and expertise. Moreover, we are committed to upholding the highest standards of business ethics by establishing a framework of governance documents and guidelines, and conducting business ethics awareness and compliance training for our employees on a regular basis. Furthermore, we promote equity, diversity and inclusion, as we believe a diverse workforce will enrich the human capital of our organization. By implementing best practices locally across our business operations from manufacturing to sales and project development, we are committed to ensuring that all employees and persons related to our business are treated fairly, respectfully, and with dignity.</span></div><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, we aim to establish a sustainable, efficient and healthy supply chain that meets our needs and the interests of our stakeholders. We maintain a procurement management strategy which follows a centralized procurement approach, controlled at the group level and supported by each division. We also require all our suppliers to adhere to our Supplier Code of Conduct, which sets forth our standards on human rights, environmental protection, health, safety and business ethics. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are committed to achieving the goal of powering our global operations with renewable energy in this decade. To achieve this goal, we will reduce our electricity and energy consumption while increasing the use of renewable energy. These initiatives may be subject to policy, market or cost barriers in the locations where we operate. We will also reduce our energy intensity by leveraging our expertise and strength in product technologies, manufacturing process know-how, and energy savings while we continue to grow our business.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, as one of the world&#8217;s largest solar power and energy storage project developers. We are committed to proactively minimizing any adverse environmental and ecological impact that our project development activities may have, while we develop projects and monitor progress and results. Early in the project development process, we integrate the evaluation of environmental and ecological impacts, as well as community engagement into our internal approval process for each solar and battery storage project we develop. These efforts have helped us minimize project delays related to environmental and ecological impacts or community engagement, as these factors were already considered during the project planning phase.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We evaluate and provide disclosures on our climate-related risks and opportunities in accordance with the TCFD, 100% of our revenues are derived from clean, renewable energy, which is crucial to achieving the global decarbonization goals established in the Paris Agreement. To manage the environmental impacts of our manufacturing activities, we have established an Environmental Management System to measure these impacts and set up 5-year rolling targets on environmental metrics to reduce the impacts. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental, Social Responsibility and Corporate Governance Policies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have adopted a suite of environmental, social responsibility and corporate governance policies to provide a framework for our sustainability commitments, which are publicly available on our website. Our Environment, Occupational Health and Safety Policy provides for the principles and guidelines for the protection of the environment, and the health and safety of our employees and others who are affected by our business. To better fulfill our social responsibilities, we also maintain our Labor and Human Rights Policy, Equal Employment Opportunity Policy, Anti-Modern Slavery Policy, Supplier Code of Conduct, and Conflict Minerals Policy. In addition, to maintain the highest standards of conduct and ethics in the way that we conduct our business, we have introduced the following corporate governance policies: Code of Business Conduct and Ethics, Whistleblower Policy, Insider Trading Policy, Related-Party Transactions, Prohibition Against Giving Bribes, and Prohibition Against Accepting Bribes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Government Regulations </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">This section sets forth a summary of certain significant regulations or requirements that affect our business activities in China or our shareholders&#8217; right to receive dividends and other distributions from&#160;us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Renewable Energy Law and Other Government Directives</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February&#160;2005, China enacted its Renewable Energy Law, which became effective on January&#160;1, 2006 and was revised in December&#160;2009. The revised Renewable Energy Law, which became effective on April&#160;1, 2010, sets forth policies to encourage the development and use of solar energy and other non-fossil energy sources and their on-grid generation. It also authorizes the relevant pricing authorities to set favorable prices for the purchase of electricity generated by solar and other renewable power generation systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The law also sets forth the national policy to encourage the installation and use of solar energy water-heating systems, solar energy heating and cooling systems, solar PV systems and other solar energy utilization systems. It also provides financial incentives, such as national funding, preferential loans and tax preferences for the development of renewable energy projects subject to certain regulations of the relevant authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November&#160;2005, the NDRC promulgated the Renewable Energy Industry Development Guidance Catalogue, in which solar power figured prominently. In January&#160;2006, the NDRC promulgated two implementation directives with respect to the Renewable Energy Law. In January&#160;2007, the NDRC promulgated another related implementation directive. These directives set forth specific measures for setting the price of electricity generated by solar and other renewable power generation systems, for sharing additional expenses, and for allocating administrative and supervisory authority among different government agencies at the national and provincial levels. They also stipulate the responsibilities of electricity grid companies and power generation companies with respect to the implementation of the Renewable Energy&#160;Law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August&#160;2007, the NDRC promulgated the Medium and Long-Term Development Plan for the Renewable Energy Industry. This plan sets forth national policy to provide financial allowance and preferential tax regulations for the renewable energy industry. The Outline of the Thirteenth Five-Year Plan for National Economic and Social Development of the PRC, which was approved by the National People&#8217;s Congress in March&#160;2016, the Thirteenth Five-Year Plan for Renewable Energy Development, which was promulgated by the NDRC in December&#160;2016, and the Thirteenth Five-Year Plan for Solar Power Generation, which was promulgated by the National Energy Administration in December&#160;2016 also demonstrates a commitment to promote the development of renewable energy to enhance the competitiveness of the renewable energy industry, including the solar energy industry. In December 2021, the State Council promulgated the Fourteenth Five-Year Plan Comprehensive Work Plan for Energy Conservation and Emission Reduction, which encourages the application of wind, solar, biomass and other renewable energy in agricultural production and rural life and<span style="font-size:11pt;"> </span>promotes the integrated construction of building photovoltaics.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">China&#8217;s Ministry of Housing and Urban-Rural Development (formerly, the Ministry of Construction) also issued a directive in June 2005 which seeks to expand the use of solar energy in residential and commercial buildings and encourages the increased application of solar energy in different townships. In November 2005, China&#8217;s Ministry of Housing and Urban-Rural Development promulgated the Administrative Provisions on Energy Conservation for Civil Constructions which encourages the development of solar energy. In August 2006, the State Council issued the Decision on Strengthening the Work of Energy Conservation which encourages the development of solar energy and other renewable energy. In addition, on April 1, 2008, the newly revised PRC Energy Conservation Law came into effect. Among other objectives, this law encourages the installation of solar power facilities in buildings to improve energy efficiency. In July 2009, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated &#8220;the Urban Demonstration Implementation Program of the Renewable Energy Building Construction&#8221; and &#8220;the Implementation Program of Acceleration in Rural Application of the Renewable Energy Building Construction&#8221; to support the development of the new energy industry and the new energy-saving industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March&#160;8, 2011, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Further Application of Renewable Energy in Building Construction, which aims to raise the percentage of renewable energy used in&#160;buildings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August&#160;21, 2012, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Improving Policies for Application of Renewal Energy in Building and Adjusting Fund Allocation and Management Method, which aims to promote the use of solar energy and other new energy products in public facilities and residences, further amplifying the effect of the policies for application of renewable energy in&#160;buildings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June&#160;2014, the General Office of the State Council issued its Notice on Printing and Distributing the Action Plan for the Energy Development Strategy (2014-2020), which requested accelerating the development of solar power generation, including promoting the construction of photovoltaic base construction, among&#160;others.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2016, the NDRC and National Energy Administration issued the Notice on Printing and Distributing the Action Plan for Energy Technology Revolution and Innovation (2016-2030), which sets forth the focus, the main direction, the timetable and the route of energy technology innovation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November&#160;2017, the NDRC issued the Opinions on Comprehensively Deepening the Reform of the Price Mechanism, which requested improving the price mechanism of renewable energy, including adopting the decrement mechanism on the on-grid benchmark price of new energy resources such as wind power and photovoltaic power.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2021, National People&#8217;s Congress approved the Outline of the Fourteenth Five-Year Plan for National Economic and Social Development and the Long-term Goals for 2035 of the PRC, in which renewable energy industry was supported.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2022, the National Development and Reform Commission (&#8220;NDRC&#8221;) and the National Energy Administration (&#8220;NEA&#8221;) issued the Fourteenth Five-Year Plan for a Modern Energy System, which emphasizes climate commitment, energy security and energy transition, reflected by the released targets on the primary energy mix, flexible power sources, the electrification rate, and new technologies. In addition, power reforms will focus on the market and pricing mechanisms to enable the growth and integration of renewables on an enlarged scope.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In May 2022, the Implementation Plan for Promoting the High-Quality Development of New Energy in the New Era of the NDRC and the NEA was formulated by the State Council. The plan promotes step up efforts aimed at accelerating the construction of a clean, low-carbon, safe and highly efficient energy system. The plan promotes the construction of large-scale photovoltaic bases in certain areas, the integration of new energy development and utilization with rural revitalization, the application of new energy in industrial enterprises and industrial parks, and construction of household photovoltaic, among others.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2022, nine government departments including the NDRC, the NEA and the MOF jointly issued the Fourteenth Five-Year Plan for Renewable Energy Development, which proposed that during the Fourteenth Five-Year Plan period, in appropriate areas, photovoltaic power generation base development will be implemented, and distributed photovoltaic development will be comprehensively promoted.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In September 2022, the NDRC and the Comprehensive Department of the NEA issued the Notice on Matters related to Promoting the Healthy Development of the photovoltaic industry Chain, to encourage the photovoltaic manufacturing to increase the consumption of green electricity. Polysilicon production enterprises are encouraged to directly consume green electricity from photovoltaic for production and manufacturing.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Environmental Regulations</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we have expanded our ingot, silicon wafer and solar cell manufacturing capacities, we have begun to generate material levels of noise, wastewater, air emissions and other industrial waste. Additionally, as we expand our internal solar components production capacity, our risk of facility incidents that would negatively affect the environment also increases. We are subject to a variety of governmental regulations related to the storage, use and disposal of hazardous materials. The major environmental laws and regulations applicable to us include the PRC Environmental Protection Law, which became effective in 1989, as amended and promulgated in 2014, the PRC Law on the Prevention and Control of Noise Pollution, which became effective in 1997, as amended and promulgated in 2018, the PRC Law on the Prevention and Control of Air Pollution, which became effective in 1988, as amended and promulgated in 1995, 2000, 2015 and 2018, the PRC Law on the Prevention and Control of Water Pollution, which became effective in 1984, as amended and promulgated in 1996, 2008 and 2017, the PRC Law on the Prevention and Control of Solid Waste Pollution, which became effective in 1996, as amended and promulgated in 2004, 2013, 2015, 2016 and 2020, the PRC Law on Evaluation of Environmental Affects, which became effective in 2003, as amended and promulgated in 2016 and 2018, the PRC Law on Promotion of Clean Production, which became effective in 2003, as amended and promulgated in 2012, and the Regulations on the Administration of Construction Project Environmental Protection, which became effective in 1998, as amended and promulgated in&#160;2017.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PRC subsidiaries are located in Suzhou, China, which is adjacent to Taihu Lake, a nationally renowned and protected body of water. As a result, production at these subsidiaries is subject to the Regulations on the Administration of Taihu Basin, which became effective on 2011, the Regulation of Jiangsu Province on Preventing Water Pollution in Taihu Lake, which became effective in 1996 and was further revised and promulgated in 2007, 2010, 2012, 2018 and 2021, and the Implementation Plan of Jiangsu Province on Comprehensive Treatment of Water Environment in Taihu Lake Basin, which was promulgated in February&#160;2009 and amended in 2013. Because of these regulations, the environmental protection requirements imposed on nearby manufacturing projects, especially new projects, have increased noticeably, and Jiangsu Province has stopped approving construction of new manufacturing projects that increase the amount of nitrogen and phosphorus released into Taihu Lake, except for those satisfy certain applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Admission of Foreign Investment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulation governing foreign ownership of solar power businesses in the PRC is the Catalogue of Encouraged Industries for Foreign Investment. Under the current catalogue, which was amended in October 2022 and became effective on January 1, 2023, the solar power related business is classified as an &#8220;Encouraged Industries for Foreign Investment.&#8221; Companies that operate in encouraged foreign investment industries and satisfy applicable statutory requirements are eligible for preferential treatment, including exemption from customs of certain self-used equipment and priority consideration in obtaining land use rights provided by certain local governments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">While the 2004 catalogue only applied to the construction and operation of solar power stations, the 2007 catalogue expanded its application also applies to the production of solar cell manufacturing machines, the production of solar powered air conditioning, heating and drying systems and the manufacture of solar cells, and the 2011 catalogue, the 2015 catalogue and the 2017 catalogue, the 2019 catalogue, the 2020 catalogue and the current 2022 catalogue also cover production of power generation glass for thin film batteries, glass for solar illuminators, and photovoltaic power generation glass used in construction, manufacturing of complete sets of equipment or key equipment for new energy power generation: equipment for photovoltaic power generation, and recycling of decommissioned waste photovoltaic modules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Administration of Foreign Invested Companies</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The establishment, approval, registered capital requirement and day-to-day operational matters of wholly foreign-owned enterprises, are regulated by the Wholly Foreign-Owned Enterprise Law of the PRC, effective in 1986 and amended in 2000 and 2016, and the Implementation Rules of the Wholly Foreign-owned Enterprise Law of the PRC, effective in 1990 and amended in 2001 and 2014. The establishment, operation and management of corporate entities in China are governed by the Company Law of the PRC, or the Company Law, effective in 1994 and amended in 1999, 2004, 2005, 2013 and 2018. The Company Law is applicable to our PRC subsidiaries unless PRC laws on foreign investment stipulate otherwise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2019, the Foreign Investment Law was promulgated, effective on January 1, 2020, at which time the Wholly Foreign-owned Enterprise Law will be repealed. Regulation for Implementing the Foreign Investment Law of the People&#8217;s Republic of China took effect on January 1, 2020. Foreign- invested enterprises that were established in accordance with Wholly Foreign-owned Enterprise Law before the implementation of Foreign Investment Law may retain their original organizational forms and other aspects for five years.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Income Tax and VAT</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as HNTEs are entitled to a 15% enterprise income tax rate, provided that they satisfy other applicable statutory requirements. Further, enterprises which engage in businesses within the scope of the Catalogue of Encouraged Industries in Western Regions promulgated by the NDRC, or Western Catalogue, are entitled to a 15% enterprise income tax rate provided that such enterprises satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our PRC subsidiaries, such as CSI New Energy Holding Co., Ltd., or CSI New Energy Holding, Canadian Solar Manufacturing (Luoyang) Inc., or CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. and Changshu Tlian Co., Ltd were HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The EIT Law also provides that enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax residents and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. Circular&#160;82 further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and implementing regulations issued by the State Council, the PRC withholding tax rate of 10% is generally applicable to interest and dividends payable to investors from companies that are not &#8220;resident enterprises&#8221; in the PRC, to the extent such interest or dividends have their sources within the PRC. If our Canadian parent entity is deemed a PRC tax resident under the EIT Law based on the location of our &#8220;de facto management body,&#8221; dividends distributed from our PRC subsidiaries to our Canadian parent entity could be exempt from Chinese dividend withholding tax. However, in that case, dividends from us to our shareholders may be regarded as China-sourced income and, consequently, be subject to Chinese withholding tax at the rate of 10%, or at a lower treaty rate if applicable. Similarly, if we are considered a PRC tax resident, any gain realized by our shareholders from the transfer of our common shares is also subject to Chinese withholding tax at the rate of 10% if such gain is regarded as income derived from sources within the PRC. It is unclear whether any dividends that we pay on our common shares or any gains that our shareholders may realize from the transfer of our common shares would be treated as income derived from sources within the PRC and subject to PRC&#160;tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the Provisional Regulation of the PRC on Value Added Tax amended in 2008, 2016 and 2017 and its implementation rules, which became effective in 2009 and were amended in 2011, all entities and individuals that are engaged in the sale of goods, processing, repairs and replacement services, the sales of services, intangible assets or real estate, and the importation of goods in China are required to pay VAT. Gross proceeds from sales and importation of goods and sales of labor services are generally subject to VAT at a rate of 17%, with exceptions for certain categories of goods that are taxed at a rate of 11%. Gross proceeds from sales of real estate are subject to VAT at a rate of 11%. Gross proceeds from sales of services and intangible assets are generally subject to VAT at a rate of 6%, with exceptions for certain categories of services or intangible assets that are taxed at a rate of 17% or 11%. When engaging in exportation of certain goods or cross-border sales of certain services or intangible assets, the exporter or the seller is entitled to a refund of a portion or all of the VAT that it has already paid or&#160;borne.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2018, Ministry of Finance and State Administration of Taxation jointly announced that as of May&#160;1, 2018, if the VAT taxpayer is subject to VAT taxable sales or imported goods, the original 17% tax rate or the original 11% tax rate shall be adjusted to 16% or 10%, respectively.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">71</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2019, Ministry of Finance, State Administration of Taxation and General Administration of Customs jointly announced that as of April&#160;1, 2019, if the VAT general taxpayer is subject to VAT taxable sales or imported goods, the original 16% tax rate shall be adjusted to 13%; if the original 10% tax rate is applied, the tax rate shall be adjusted to&#160;9%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Foreign Currency Exchange</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Foreign currency exchange regulation in China is primarily governed by the Foreign Currency Administration Rules, which became effective in 1996 and were amended in 1997 and 2008, and the Settlement, Sale and Payment of Foreign Exchange Administration Rules (1996), or the Settlement Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, the Renminbi is convertible for current account items, including the distribution of dividends, interest payments, trade and service-related foreign exchange transactions. Conversion of the Renminbi for most capital account items, such as security investment and repatriation of investment, however, is still subject to limitation and requires the approval by or registration with&#160;SAFE.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, SAFE began to reform the foreign exchange administration system and issued the Notice on Reforming the Administrative Approach Regarding the Settlement of the Foreign Exchange Capitals of Foreign-invested Enterprises, or Circular&#160;19, on March&#160;30, 2015, which allows foreign invested enterprises to settle their foreign exchange capital on a discretionary basis according to the actual needs of their business operation and allows a foreign-invested enterprise with a business scope including &#8220;investment&#8221; to use the RMB capital converted from foreign currency registered capital for equity investments within the PRC. On June&#160;9, 2016, SAFE issued the Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or Circular&#160;16. Compared to Circular&#160;19, Circular&#160;16 provides that discretionary foreign exchange settlement applies to foreign exchange capital, foreign debt offering proceeds and remitted foreign listing proceeds, and the corresponding RMB obtained from foreign exchange settlement are not restricted from extending loans to related parties or repaying the inter-company loans (including advances by third&#160;parties).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February&#160;13, 2015, SAFE promulgated the Circular on Further Simplifying and Improving the Policies Concerning Foreign Exchange Control on Direct Investment, or SAFE Circular No.&#160;13, which delegates the authority to enforce the foreign exchange registration in connection with the inbound and outbound direct investment under relevant SAFE rules to certain banks and therefore further simplifies the foreign exchange registration procedures for inbound and outbound direct investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On January&#160;18, 2017, SAFE promulgated the Circular on Further Improving Reform of Foreign Exchange Administration and Optimizing Genuineness and Compliance Verification, which sets out various measures that relaxes the policy restriction on foreign exchange inflow to further enhance trade and investment facilitation and that tightens genuineness and compliance verification of cross-border transactions and cross-border capital&#160;flow.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividend Distribution </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulations governing distribution of dividends paid by Foreign Investment Law and its implementation rules both became effective in 2020. The Company Law became effective in 1994 and was amended in 1999, 2004, 2005, 2013 and 2018. The EIT Law became effective in 2008 and was amended in 2017, 2018, and the implementation rules of EIT Law became effective in 2008 and was amended in 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under these laws, foreign-invested enterprises in China may pay dividends only out of their accumulated profits, if any, determined in accordance with PRC accounting standards and regulations. In addition, a wholly foreign invested enterprise in China is required to set aside at least 10% of its after-tax profits determined in accordance with PRC accounting standards each year to its general reserves until the accumulative amount of such reserves reach 50% of its registered capital. These reserves are not distributable as cash dividends. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">72</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Employment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">There are multiple laws and regulations governing the employment relationship, including wage and hour requirements, working and safety conditions, social insurance, housing funds and other welfare. The PRC Labor Law which became effective in 1995 and amended in 2009 and 2018, the Labor Contract Law of the People&#8217;s Republic of China, which became effective in 2008, and was later revised in 2012, its Implementing Regulation and the amendment thereunder, which became effective in 2008 and 2013, respectively, permit workers in both state-owned and private enterprises in the PRC to bargain collectively. The PRC Labor Law and the PRC Labor Contract Law provide for collective contracts to be developed through collaboration between the labor unions (or worker representatives in the absence of a union) and management that specify such matters as working conditions, wage scales, and hours of work. The PRC Labor Contract Law and its Implementing Regulation impose certain requirements with respect to human resources management, including, among other things, signing labor contracts with employees, terminating labor contracts, paying remuneration and compensation and making social insurance contributions. In addition, the PRC Labor Contract Law requires employers to provide remuneration packages that meet the relevant local minimum standards. The PRC Labor Contract Law has enhanced rights for the nation&#8217;s workers, including permitting open-ended labor contracts and severance payments. It requires employers to provide written contracts to their workers, restricts the use of temporary labor and makes it harder for employers to lay off employees. It also requires that employees with fixed-term contracts be entitled to an indefinite-term contract after a fixed-term contract is renewed twice or the employee has worked for the employer for a consecutive ten-year period. According to the Interim Provisions on Labor Dispatching, which came into effect in 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of workers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under applicable PRC laws, rules and regulations, including the Social Insurance Law promulgated by the Standing Committee of the National People&#8217;s Congress and effective in 2011 and amended in 2018, the Rules on Implementing the Social Insurance Law issued by Ministry of Human Resource and Social Security and effective in 2011, the Interim Regulations on the Collection and Payment of Social Security Funds promulgated by the State Council and effective as of 1999, as amended in 2019, the Interim Measures Concerning Maternity Insurance promulgated by the Ministry of Labor and effective in 1995, the Regulations on Occupational Injury Insurance promulgated by the State Council and effective in 2004 and amended in 2010, and the Regulations on the Administration of Housing Accumulation Funds promulgated by the State Council and effective in 1999, as amended in 2019, employers are required to contribute, on behalf of their employees, to a number of social security funds, including funds for basic pension insurance, unemployment insurance, basic medical insurance, occupational injury insurance, maternity leave insurance, and to housing accumulation funds. These payments are made to local administrative authorities and any employer who fails to contribute may be fined and ordered to remediate on payments within a stipulated time period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Enforceability of Civil Liabilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. is a corporation governed by the laws of the province of Ontario, Canada with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia through our operating subsidiaries in which we have equity ownership. Through the equity ownership in our subsidiaries, we primarily conduct our manufacturing operations in China and Southeast Asia, and have made certain investments in solar power system and project assets in China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A majority of our directors and officers are nationals and residents of countries other than the United States (principally Canada, mainland China and Hong Kong) and a substantial portion of the assets of these persons are located outside the United States. As a result, it may not be possible for you to effect service of process within the United States upon those persons. Furthermore, it may not be possible for you to enforce against us or them, in the United States, judgments obtained in U.S. courts, because all or a substantial portion of our assets and the assets of those persons are located outside the United States. In addition, our constituent documents do not contain provisions requiring that disputes, including those arising under the securities laws of the United States, between us, our officers, directors and shareholders, be arbitrated. As a result, it may be difficult for a shareholder to effect service of process within the United States upon us or such persons, or to enforce against us or them judgments obtained in United States courts, including judgments predicated upon the civil liability provisions of the securities laws of the United States or any state in the United States.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">There are defenses that can be raised to the enforceability, in original actions in Canadian courts, of liabilities based upon the U.S. federal securities laws and to the enforceability in Canadian courts of judgments of U.S. courts obtained in actions based upon the civil liability provisions of U.S. federal securities laws, such that the enforcement in Canada of such liabilities and judgments is not certain. Therefore, it may not be possible to enforce in Canada those actions against us, our directors and officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">There is uncertainty as to whether the courts of the PRC would:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">recognize or enforce judgments of United States courts obtained against us or our directors or officers predicated upon the civil liability provisions of the securities laws of the United States or any state in the United States; or</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">73</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">entertain original actions brought in each respective jurisdiction against us or our directors or officers predicated upon the securities laws of the United States or any state in the United States. </span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The recognition and enforcement of foreign civil judgments are provided for under the PRC Civil Procedures Law. PRC courts may recognize and enforce foreign civil judgments in accordance with the requirements of the PRC Civil Procedures Law based either on treaties or arrangements between the PRC and the country where the judgment is made or on reciprocity between jurisdictions, among others. Currently, China does not have any treaties or other arrangements that provide for the reciprocal recognition and enforcement of foreign civil judgments with the United States or Canada. As a result, it is generally difficult to recognize and enforce in China a civil judgment rendered by a court in either of these two jurisdictions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition to the aforesaid substantial uncertainties, the foreign shareholders seeking the enforcement of a foreign judgment in the PRC courts could incur substantial legal and other costs that may be material to the shareholders. Shareholders could potentially spend a considerable amount of time and other resources to go through the recognition and enforcement procedure, which may be a significant burden for the shareholders, but with no assurance of ultimate success.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">C</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Organizational Structure</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets out our significant subsidiaries, including their place of incorporation and our ownership interest:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name of entity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">interest</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Solutions Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Recurrent Energy Group Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Solar Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">79.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Cells Co., Ltd. </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang) Inc. </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Solar Technology (Xining) Co., Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Changshu) Inc. </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar (USA) Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr><tr><td style="vertical-align:bottom;width:71.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">99.999996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">%*</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">Significant subsidiaries (as defined in Rule 1-02(w) of Regulation S-X) within the scope of CSI Solar were held through CSI Solar Co., Ltd. in which CSI held a 79.59% ownership interest. Such ownership interest percentage may differ when calculated on different bases of accounting, e.g. PRC GAAP.</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman Bold';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">D</td><td style="padding:0pt;"><b style="font-family:'Times New Roman Bold';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Property, Plants and Equipment</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of our material properties, including information on our manufacturing facilities and office buildings as of the date of this annual report on Form 20-F: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Canadian Solar Sunenergy (Baotou) Co., Ltd. has obtained the land use right of a piece of land in Baotou of Inner Mongolia of approximately 225,000 square meters, on which we have built ingots manufacturing facilities with a floor area of approximately 18,000 square meters. The production of ingots manufacturing commenced in May 2017. We have also started the construction of other facilities producing mono ingots with a floor area of approximately 97,000 square meters on the same land. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Solar Technology (Xining) Co., Ltd. has obtained a land use right of a piece of land in Xining, Qinghai province of approximately 200,000 square meters in May 2021. We have obtained land use right certificate in July 2021. We plan to build approximately 185,000 square meters (Phase I and Phase II) of ingots manufacturing facility on such land. We are building Phase I manufacturing facility of approximately 107,000 square meters at present, expect to obtain property ownership certificate of Phase I before June 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Luoyang Manufacturing has a land use right of a piece of land of approximately 35,000 square meters in Luoyang, Henan province (Phase I), on which we have built wafer manufacturing facilities of approximately 6,761 square meters. The certificates for property ownership were granted in June 2008. In the same year of 2008, CSI Luoyang Manufacturing obtained the land use right to an adjacent piece of land of approximately 80,000 square meters (Phase II), on which we have built manufacturing facilities of approximately 30,000 square meters. The floor area of Phase II is approximately 30,000 square meters. The certificates for property ownership were granted in September 2013. Subsequently in 2016, CSI Luoyang Manufacturing obtained the land use right to another piece of land of approximately 160,000 square meters (Phase III), on which we have constructed </span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">74</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"></td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">manufacturing facilities with the floor area of approximately 39,000 square meters. We obtained the certificates for property ownership of Phase III in March 2018.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Wafer (FuNing) Co., Ltd. which was founded in November, 2017, has leased 3 wafer manufacturing facilities in Funing Development Zone, Jiangsu Province with a floor area of approximately 24,000 square meters in total for four years since April 2021. Such leased facilities have completed equipment installation and started production in June 2021. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Solar Manufacturing (Funing) Co., Ltd. has leased cell manufacturing facilities of approximately 27,000 square meters on a piece of land of approximately 67,000 square meters (Phase I) in Funing, Jiangsu Province since 2015. The right to approximately 21,000 square meters facilities has been acquired on December 15, 2022. The other 6,000 square meters is expected to be transferred in 2023. In 2016, CSI Solar Manufacturing (Funing) obtained the land use right to a piece of land of approximately 133,000 square meters (Phase II and Phase III), on which we have built cell manufacturing facilities with a total floor area of approximately 26,000 square meters. The commercial operations have commenced since then and we obtained the certificates for property ownership of Phase II and Phase III cell manufacturing facilities in August 2018. In 2017, CSI Solar Manufacturing (Funing) obtained the land use right of approximately 34,000 square meters for the construction of Phase IV facilities, on which and former land, we are building manufacturing facilities with a total floor area of approximately 60,259.01 square meters and has obtain the certificate of property ownership on March 11, 2022 which consists of a consolidated land use right of Phase II and phase III with approximately 167,000 square meters and all built facilities of approximately 86,000 square meters.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Cells (Yancheng) Co., Ltd. has the land use right to a piece of land of approximately 134,000 square meters (Phase I) located in National Yancheng Economic Technical Development Zone of Yancheng City, Jiangsu Province. The floor area of cell manufacturing facilities (Phase I) is approximately 63,000 square meters. A part of the cell manufacturing facilities has completed construction and commenced operations since September 2018 and the entire Phase I facilities commenced operations in May 2019. In the same year of 2019, we made an advanced payment to purchase the Phase II land of approximately 64,000 square meters and have obtained the land use right in September 2020. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Changshu Manufacturing has the land use right to two pieces of land of approximately 40,000 square meters and 180,000 square meters, respectively, in Changshu City of Jiangsu Province, on which we have built module manufacturing facilities with a total floor area of approximately 165,000 square meters. We have obtained certificates of property ownership for all of CSI Changshu Manufacturing&#8217;s facilities. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">CSI Modules (DaFeng) Co., Ltd. obtained the land use right to a piece of land of approximately 200,000 square meters in Yan-Cheng Da-Feng Economic Development District of Yancheng City, Jiangsu Province in 2017. The module production facility of approximately 78,000 square meters (Phase I) completed construction and production began in September 2018. We obtained the certificate of property ownership for Phase I in January 2020. On the same piece of land, we have built manufacturing facilities with a total floor area of approximately 67,000 square meters (Phase II) in May 2021, and obtained the certificate of property ownership in August 2021.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. obtained the land use right to a piece of land of approximately 165,000 square meters in Jiaxing City of Zhejiang Province in 2018 on which we have constructed module manufacturing facilities with floor area of approximately 125,000 square meters (Phase I) by the end of 2020. We are presently building a manufacturing facility with floor area of approximately 101,000 square meters (Phase II).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Canadian Solar Sunenergy (SuQian) Co., Ltd. has leased approximately 183,000 square meters of module manufacturing facilities for four years in Suqian City, Jiangsu Province commencing from Nov 28, 2020. Half of the facility has been started in production by the end of 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In Thailand, Canadian Solar Manufacturing (Thailand) Co., Ltd. has a land of 179.2 Rai (approximately 287,000 square meters) with the ownership certificate obtained. A module manufacturing facility of approximately 30,000 square meters and a cell manufacturing facility of approximately 19,000 square meters were built and production commenced in the third quarter of 2016 and in April 2017, respectively. The construction of another cell manufacturing facility with a floor area of approximately 18,000 square meters and a module manufacturing facility with a floor area of approximately 15,000 square meters were completed and the production commenced in the third quarter of 2019. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In Vietnam, we lease approximately 16,000 square meters of module manufacturing facilities in Haiphong City, Vietnam since 2015. The lease was renewed for three years commencing August 7, 2018, then further renewed for another three years commencing August 7, 2021. Production began in 2015.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In the United States, Recurrent Energy, LLC and Canadian Solar (USA) Inc. lease, in aggregate, approximately 22,000 square meters of office space in Austin, TX, Walnut Creek, CA, New York City, NY and San Francisco, CA. </span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">75</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">In January 2023, we entered into an investment agreement with the municipal government of Yangzhou City in Jiangsu Province, China to add 14 GW of annual wafer and cell capacity as phase I of a three-phase plan, expected to commence production in the second half of 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We construct and operate solar power systems in Brazil, Argentina, China and EU, and most of our solar power systems were built or being constructed on leased land. Approximately 1,425 hectares of land were leased for these solar power systems, with lease term ending between 2037 and 2056.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Except as disclosed in the &#8220;Item 3. Key Information&#8212;D. Risk Factors-Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits necessary to conduct the business currently carried on by us at our existing manufacturing facilities. For more details, see &#8220;B. Business Overview&#8212;Environmental Matters.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_10c60142_cbb8_4a2f_a0be_7c8e5877f0ba"></a><a id="ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4A&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">UNRESOLVED STAFF COMMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_578cfe26_2341_4e93_adbc_54e7738e7db9"></a><a id="ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;5&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our consolidated financial statements and the related notes thereto included elsewhere in this annual report on Form 20-F. This discussion may contain forward-looking statements based upon current expectations that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of various factors, including those set forth under &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8221; or in other parts of this annual report on Form 20-F. For discussion of 2020 and 2021 items and year-over-year comparisons between 2021 and 2020 that are not included in this annual report on Form 20-F, refer to &#8220;Item 5. &#8212;Operating and Financial Review and Prospects&#8221; found in our Form 20-F for the year ended December 31, 2021, that was filed with the Securities and Exchange Commission on April 28, 2022 and as amended on October 18, 2022.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">In November 2021, we completed the transfer of the China Energy business from CSI Solar to the Global Energy segment to avoid any potential competition between us and our CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. The scope of the transfer includes all of the project development and ownership business in China. Refer to &#8220;Item 5. Operating and Financial Review and Prospects&#8212;A. Operating Results&#8212;Segment Reporting&#8221; for further details.</i></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">A</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Results</b></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Factors Affecting Our Results of Operations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The most significant factors that affect our financial performance and results of operations&#160;are:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar power products pricing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">costs of silicon raw materials and solar ingots, wafers and cells relative to the selling prices of&#160;modules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">energy storage products pricing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">renewable energy incentives and government grants;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the availability of financing for solar and battery storage projects and the interest rate environment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">industry and seasonal demand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impact of assets impairment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar and battery storage project development and sale;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">foreign exchange and hedging.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar Power Products Pricing</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2004, all of our net revenues were generated from sales of specialty solar modules and products. In 2004, we began selling standard solar modules. In 2021, we generated 68.8% of our net revenues from our sales of solar power products. In 2022, we generated 81.3% of our net revenues from our sales of solar power products.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">76</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are priced based on the actual flash test result or the nameplate capacity of our modules, expressed in watts-peak. The actual price per watt is affected by overall demand for modules in the solar power market and increasingly by the total power of the module. Higher-powered modules usually command slightly higher prices per&#160;watt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We price our standard solar modules based on the prevailing market price at the time we enter into sales contracts with our customers, taking into account the size of the contract, the strength and history of our relationship with the customer and the costs of silicon raw materials and solar ingots, wafers and cells. In 2019 and 2020, the average selling price of our standard solar modules was approximately $0.29 and $0.25 per watt, respectively; in 2021 and 2022, it increased to approximately $0.28 and $0.30 per watt, respectively. Despite the increase in 2022, we expect the average selling price of our standard solar modules to continue to decline.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Costs of Silicon Raw Materials and Solar Ingots, Wafers and Cells Relative to the Selling Prices of&#160;Modules</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We produce solar modules, which are an array of interconnected solar cells encased in a weatherproof frame, and products that use solar modules. Solar cells are the most important component of solar modules. Our solar cells are currently made from mono-crystalline solar wafers through multiple manufacturing steps. Solar wafers are the most important material for making solar cells. Solar ingots are the most important material for making solar wafers. If we are unable to procure silicon raw materials and solar ingots, wafers and cells at reduced prices in line with the decreasing selling prices of our solar modules, our revenues and margins could be adversely impacted, either due to higher manufacturing costs than our competitors or write-downs of inventory, or both. Our market share could decline if our competitors are able to offer better pricing than we&#160;do.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Storage Products Pricing</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy storage offering consists of utility-scale battery storage solutions and residential battery storage products. In 2021 and 2022, we generated $222.7 million and $440.7 million of our revenues from sales of energy storage products, respectively. In 2022, we generated 5.9% of our net revenues from our sales of energy storage products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Utility-scale battery storage solutions includes proprietary products, technology and integrated solutions focused on delivering high performance, safe and reliable battery storage solutions to enable utilities, independent power producers, and energy investors and users achieve energy savings, while maintaining power reliability and resilience.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">EP Cube is our residential all-in-one energy storage solutions that allow users to increase the efficiency of their self-consumption solar PV installations by storing, managing and using the electricity generated with their own PV system. EP Cube is a flexible and smart solution that optimizes costs and reduces users&#8217; reliance on the electrical grid, at a time of elevated electricity prices.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our energy storage products are priced based on the actual storage capacity, expressed in watts-hour. The actual price per watt-hour is affected by market demand, the total storage capacity of the product and the cost of materials. Energy storage products with higher storage capacity usually command slightly higher prices per&#160;watt-hour.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Renewable Energy Incentives and Government Grants</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Over the past few years, the cost of solar energy has generally declined and the industry has become less dependent on government incentives. However, governments in some of our largest markets have expressed their intention to continue supporting various forms of &#8220;green&#8221; energies, including solar power, as part of broader policies towards the reduction of carbon emissions. The governments in many of our largest markets, including the U.S. and a number of the states of the EU (including, but not limited to, Italy, France, Germany, Spain and Poland) continue to provide incentives and policy support schemes for investments in solar power that will directly benefit the solar industry. In particular, in the United States, renewable energy projects currently benefit from various federal, state and local governmental incentives, such as ITCs, PTCs and Renewable Portfolio Standards (&#8220;RPS&#8221;) programs, accelerated tax depreciation, and other incentives provided for under the Inflation Reduction Act of 2022 (&#8220;IRA&#8221;), signed into law on August 16, 2022. The IRA provisions is further expected to expand the ITC to include stand-alone energy storage projects and introduce the ability of asset owners to transfer tax credits created under the IRA to third parties, which is expected to help address the lack of sufficient tax equity capacity. We believe that the near-term growth of the market still depends in large part on the availability and size of such government subsidies and economic incentives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For a detailed discussion of the impact of government subsidies and incentives, possible changes in government policy and associated risks to our business, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery storage power, which could cause demand for our products to decline.&#8221; and &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and&#160;Customers.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">77</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">The Availability of Financing for Solar and Battery Storage Projects and the Interest Rate Environment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Most solar and battery storage projects, including our own, require financing for development and construction with a mixture of equity and third-party funding. A high cost of capital may materially reduce the internal rate of return for solar and battery storage projects and therefore put downward pressure on the prices of solar systems, solar modules and battery storage systems, which typically comprise a major part of the cost of solar and battery storage projects. Furthermore, solar and battery storage projects compete for capital with other forms of fixed income investments such as government and corporate bonds. Some classes of investors compare the returns of solar and battery storage projects with bond yields and expect a similar or higher internal rate of return, adjusted for risk and liquidity. Higher interest rates could increase the cost of existing funding and present an obstacle for future funding that would otherwise spur the growth of the solar power and battery storage industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">An increase in interest rates or a decrease in funding of capital projects within the global financial market could make it difficult to fund solar power and battery storage systems and potentially reduce the demand for solar modules and battery storage systems and/or reduce the average selling prices for solar modules and battery storage systems, which may materially and adversely affect our business, results of operations, financial condition and prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For a detailed discussion of the impact of the availability and cost of debt or equity for solar and battery storage projects and our customers&#8217; ability to finance the purchase of our products or to construct solar and battery storage projects, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power and battery storage products and services, hamper our expansion and materially affect our results of&#160;operations.&#8221; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Industry and Seasonal Demand</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business and revenues depend on the demand for solar power. Although solar power technology has been used for several decades, the solar power market has only started to grow significantly in the past few years. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power and battery storage products and services may decline, which may reduce our revenues and earnings.&#8221; Industry demand is affected by seasonality. Demand tends to be lower in winter, when adverse weather conditions can complicate the installation of solar power systems, thereby decreasing demand for solar modules. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recently, national or regional interconnection capacity and interconnection queue backlog in the U.S. and certain countries are becoming more constrained and longer, respectively. In addition, the variability in value of solar electricity generated between low value periods and high value periods have significantly increased. As a result, solar power plants and systems will increasingly incorporate battery storage in order to shift the feed of electricity into the grid to benefit from peak demand periods and overcome limitations in grid transmission capacity. The current electricity and capacity market design and rules may not adequately compensate for the integration of battery storage systems, and as such may hinder, slow down or limit the growth rate of solar adoption and implementation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Impact of Assets Impairment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For our property, plant and equipment, solar power systems, investments in affiliates, and project assets, if their fair value is less than their carrying value or their carrying value cannot be recoverable, we need to record an impairment loss. We had impairment loss of $62.4 million for our property, plant and equipment, investments in affiliates, and project assets in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business development and operation involve numerous risks and uncertainties which could lead to the assets&#8217; impairment. These risks and uncertainties include what have been discussed in &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221; </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">78</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar and Battery Storage Project Development and Sale</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our Global Energy segment accounted for 11.0% of our net revenues in 2022. The majority of these revenues came from the sale of solar and battery storage projects. We plan to grow our volume of project sales while holding and accumulating assets in order to better capture value of our project assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our revenues from the Global Energy segment are affected by the timing of the completion and our timing and strategy of monetization of solar and battery storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212;Solar Project Development&#8221; for a description of the development pipeline of our solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power and battery storage project development and sale involve numerous risks and uncertainties. For a detailed discussion of these risks and uncertainties, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our future success depends partly on our ability to expand the development pipeline of our energy business in several key markets, which exposes us to a number of risks and uncertainties&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Antidumping, Countervailing and Other Duty Costs and True-up Charges</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have been in the past, and may be in the future, subject to antidumping and countervailing duty rulings and orders. In particular, we have been subject to antidumping and countervailing duty rulings in the U.S., the EU, &#160;and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item&#160;8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S., the EU, the U.K. and Canada are important markets for us. Ongoing proceedings relating to, and the imposition of any new, antidumping and countervailing duty rulings and orders or safeguard measures in these markets may result in additional costs to us and/or our&#160;customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, we booked the benefits of antidumping and countervailing duty provision reversals of $2.4&#160;million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Foreign Exchange and Hedging</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of our sales were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Brazilian reals, Japanese yen, South African rand, Australian dollars and British pounds. The majority of our costs and expenses were denominated in Renminbi, primarily related to purchases of silicon, solar wafers and cells, and other raw materials, including PV glass, aluminum, silver metallization paste, solar module back sheet, ethylene vinyl acetate, encapsulant, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. The majority of our cash and cash equivalents and restricted cash is denominated in Renminbi and U.S. dollars. The relative value of the U.S. dollars that turned stronger in 2022 had an unfavorable effect on our ASP in certain markets and contributed a favorable impact in manufacturing cost denominated in Renminbi and Thai baht. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Segment Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We use the management approach to determine operating segments. The management approach considers the internal organization and reporting used by our chief operating decision maker for making decisions, allocating resources and assessing performance. We have identified our chief executive officer as our chief operating decision maker, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance for&#160;us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2020, we reached a strategic decision to pursue a listing of our subsidiary, CSI Solar, in China. The scope of the transfer includes all of the project development and ownership business in China. From November 2021, we completed the transfer of the China Energy assets from CSI Solar to the Global Energy segment to avoid any potential competition between ourselves and our CSI Solar subsidiary, as part of the CSI Solar carve-out listing process.<span style="font-size:11pt;"> </span>As a result, we report our financial performance, including revenue, gross profit and income from operations, based on the following two reportable business segments:</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">79</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#8217;s battery storage system integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility-scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, carries out our global project development activities for both solar and battery storage project development, which include sourcing land, interconnection agreements, structuring power purchase agreements (PPAs) and other permits and requirements. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn, and minimizing capital risk.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Impact of COVID-19</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of our business, including our operations, customers, suppliers and projects. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global supply chain, shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. As a result, investors may have a reduced appetite for equity investment in the near term; credit markets may become unsettled in the near term; and project installation activities may see delays.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We continue to take mitigation strategies to reduce the adverse impact of COVID-19 to our business. For our CSI Solar business, we closely monitor market changes; secure orders by leveraging our channel strength and brand loyalty; adjust production plans by, for example, increasing the amount of &#8220;build-to-order&#8221; production and reducing &#8220;build-to-stock&#8221; production; tightening credit controls to reduce potential credit losses; and accelerating R&amp;D and product development to improve our product offerings ahead of an eventual market recovery. For our Global Energy business, we closely monitor market changes; renegotiate PPA execution dates; leverage our global footprint to ensure access to financing; and start construction on critical projects to sell later. We will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.&#8221; for further discussion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview of Financial Results</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We evaluate our business using a variety of key financial measures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenues generated from our CSI Solar segment accounted for 78.7% and 89.0% of our net revenues in 2021 and 2022, respectively. &#160;Our revenues from our CSI Solar segment are affected primarily by average selling prices per watt and unit volumes shipped of solar power products, as well as the average selling price per watt-hour and unit volumes shipped of battery storage solutions products, all of which depend on product supply and demand. Our revenues from sales to customers are recorded net of sales taxes, goods and services taxes, value added taxes, and estimated returns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our Global Energy segment accounted for 21.3% and 11.0% of our net revenues in 2021 and 2022, respectively. Our revenues from our Global Energy segment are affected primarily by the timing of the completion and our timing and strategy of monetization of solar and battery storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Global Energy Segment&#8212; Battery Storage Project Development&#8221; for a description of the status of our solar and battery storage projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Revenue recognition for our Global Energy segment is not necessarily linear in nature due to the timing of when all relevant revenue recognition criteria for the sale of our solar and battery storage projects have been met. During 2022, our Global Energy segment </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">80</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">recognized $761.7 million of revenue from the sale of solar and battery storage projects. Our revenue recognition policies for the Solar and battery storage projects development are described in &#8220;&#8212;Critical Accounting Estimates&#8212;Revenue.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our CSI Solar segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">high purity and solar grade silicon materials;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar cells;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">silicon wafers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">other materials for the production of solar cells or modules such as metallic pastes, glass, aluminum frames, ethylene vinyl acetate (&#8220;EVA&#8221;, an encapsulant used to seal the module), junction boxes and polymer back&#160;sheets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">materials used in inverters and energy storage production, such as IGBT module, magnetic components, sheet metal customization components, lithium iron phosphate battery cells and storage inverters;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">production labor, including salaries and benefits for manufacturing personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">warranty costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overhead, including utilities, production equipment maintenance, and other support expenses associated with the manufacture of our solar power&#160;and energy storage products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">depreciation and amortization of manufacturing equipment and facilities, which are increasing as we expand our manufacturing capabilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">solar power project EPC services; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">antidumping, countervailing and other duty costs and true-up charges.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, we typically sold our standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, we increased our guarantee for defects in materials and workmanship to six years. In 2011, we increased our guarantee for defects in materials and workmanship to ten years. In 2019, we increased our guarantee for defects in materials and workmanship up to twelve years. In 2022, we increased our guarantee for defects in materials and workmanship up to fifteen years or twenty-five years for certain module types, and we warrant that, for a period of 25 years, our Ku/HiKu modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have provided warranty against decline in performance for our bifacial module and double glass module products for 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In resolving claims under the workmanship guarantee, we have the option of remedying the defect through repair, refurbishment or replacement of equipment. In resolving claims under the performance warranty, we have the right to repair or replace solar modules at our&#160;option.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We warrant our battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. We have obtained warranties from our battery cell manufacturer suppliers to back up a portion of our warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe our warranty periods are consistent with industry practice. Due to the long warranty period, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be subject to unexpected warranty and product quality expenses that may not be adequately covered by our insurance policies.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">81</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. We currently take a 1% warranty provision against our revenue from sales of solar power&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up a portion of our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. The warranty insurance is renewable annually. See &#8220;&#8212;Critical Accounting Estimates&#8212;Warranties.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, we booked the benefits of antidumping and countervailing duty provision reversals of $2.4 million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our Global Energy segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquiring solar and battery storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">acquiring and developing solar power and battery storage project sites, including interconnection fees and permitting costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">interest capitalized for solar and battery storage projects during construction period;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">operating and maintaining solar power systems, including depreciation of solar power systems;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">impairment of project assets.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar and battery storage projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have entered into similar workmanship warranties with our suppliers to back up our warranties. We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and&#160;warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Before commissioning solar and battery storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases for solar power projects, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit/Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our gross profit is affected by a number of factors, including but not limited to the success of and contribution from both of our operating segments, the average selling price of our solar power and battery storage products, our product mix, loss on firm purchase commitments under long-term supply agreements, our ability to cost-effectively manage our supply chain, write-down of inventories, tariffs, taxes and AD/CVD, the timing of completion of construction of our solar and battery storage projects, the timing and pricing of project sales and financing, wholesale electricity price, and impairment of project assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our operating expenses include selling and distribution expenses, general and administrative expenses, research development expenses and other operating income, net. Our operating expenses increased in 2021 and 2022. We expect our operating expenses to increase as our net revenues grow in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Selling and Distribution Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Selling and distribution expenses consist primarily of transportation and customs expenses for delivery of our products, salaries and benefits, sales commissions for our sales agents, advertising, promotional and trade show expenses, and other sales and marketing expenses. Our selling and distribution expenses increased in 2021 and 2022. We expect that as we increase our sales volumes in the </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">82</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">future, our selling and distribution expenses will increase as we incur more transportation and customs costs, hire additional sales personnel, target more markets, launch more products, and initiate additional marketing programs to reach our goal of continuing to be a leading global brand.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">General and Administrative Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">General and administrative expenses consist primarily of salaries and benefits for our administrative and finance personnel, consulting and professional service fees, government and administration fees, insurance fees and impairment of long-lived assets. Our general and administrative expenses increased in 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Development Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses consist primarily of costs of raw materials used in our research and development activities, salaries and benefits for research and development personnel and prototype and equipment costs related to the design, development, testing and enhancement of our products and our silicon reclamation program. Refer to &#8220;C. Research and Development&#8221; for further details of our research and development activities. In 2021 and 2022, our research and development expenses accounted for 1.1% and 0.9%, respectively, of our total net revenues. &#160;We expect that our research and development expenses will increase as we devote more efforts to research and development in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Operating Income, Net</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other operating income, net, primarily consists of government grants received, gains or losses on disposal of solar power systems and property, plant and equipment, and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Interest expense consists primarily of interest incurred with respect to our short and long-term borrowings from banks and other lenders, and the convertible senior notes issued by us in September 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gain (Loss) on Change in Fair Value of Derivatives</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into foreign currency derivatives to hedge part of the risks of our expected cash flows, mainly in Renminbi, Euros, Canadian dollars and South African rand, commodity hedge to manage part of risks of rising raw material costs, and interest rate swap to hedge the part of risks of floating interest rate. In 2021, we had a gain on the change in fair value of derivatives of $23.8 million, which included a $22.8 million gain on change in fair value of foreign currency derivatives, net and a $1.0 million gain in change in fair value of commodity hedge, net. In 2022, we had a loss on the change in fair value of derivatives of $44.5 million, which included a $40.5 million loss on change in fair value of foreign currency derivatives, net and a $4.0 million loss in change in fair value of commodity hedge.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Benefit (Expense)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We recognize deferred tax assets and liabilities for temporary differences between the financial statement and income tax bases of assets and liabilities. Valuation allowances are provided against deferred tax assets when management cannot conclude that it is more likely than not that some portion or all deferred tax assets will be realized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are governed by the OBCA and are registered to carry on business in Ontario, with a permanent establishment in Ontario. This subjects us to Canadian federal and Ontario provincial corporate income taxes. Our combined tax rate was 26.5% for each of the years ended 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles with a uniform enterprise income tax rate of 25%. Certain of our PRC subsidiaries, such as CSI New Energy Holding Co., Ltd., or CSI New Energy Holding, Canadian Solar Manufacturing (Luoyang) Inc., or CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. &#160;and Changshu Tlian Co., Ltd were HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Under the EIT Law and implementing regulations issued by the State Council, the PRC withholding tax rate of 10% is generally applicable to interest and dividends payable to investors that are not &#8220;resident enterprises&#8221; in the PRC, to the extent such interest or </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">83</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">dividends have their sources within the PRC. In prior years, we assumed all of the undistributed earnings of our PRC subsidiaries to be indefinitely reinvested in China, and, consequently, we have made no provision for withholding taxes for those amounts. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Share-based Compensation Expenses</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under our share incentive plan, as of December&#160;31, 2022, we had outstanding:</p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">26,291&#160;stock options; and</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">116,500&#160;restricted shares; and</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;">3,189,376 restricted share units.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a description of the stock options, restricted share units and restricted shares granted, including the exercise prices and vesting periods, see &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share Incentive Plan.&#8221; We recognize share-based compensation to employees as expenses in our statement of operations based on the fair value of the equity awards on the date of the grant. The compensation expense is recognized over the period in which the recipient is required to provide services in exchange for time-based equity&#160;awards, and is recognized at the occurrence of certain contingent events (such as the successful carve-out IPO of CSI Solar) for performance-based equity awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have made an estimate of expected forfeitures and recognize compensation costs only for those equity awards that we expect to vest. We estimate our forfeitures based on past employee retention rates and our expectations of future retention rates. We prospectively revise our forfeiture rates based on actual history. Our share-based compensation expenses may change based on changes in actual forfeitures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2022, we recorded share-based compensation expenses of $9.4 million, compared to $8.8 million for the year ended December 31, 2021. &#160;We have allocated these share-based compensation expenses to our cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses, depending on the job functions of the individuals to whom we granted the restricted share units.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, the allocation of our share-based compensation expenses both in absolute amounts and as a percentage of total share-based compensation expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:36.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:16.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:16.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:36.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;for&#160;percentages)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share&#8209;based compensation expenses included in:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,044</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,046</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Selling and distribution expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,284</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,285</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,878</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 602</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Total share</b><b style="font-weight:bold;">&#8209;</b><b style="font-weight:bold;">based compensation expenses</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 8,808</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">%&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 9,370</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We expect to incur additional share-based compensation expenses as we expand our&#160;operations and complete the carve-out IPO of CSI Solar.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See note 2(al) Recently issued accounting pronouncements in the notes to our consolidated financial statements, included herein. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">84</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Results of Operations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth a summary, for the periods indicated, of our consolidated results of operations and each item expressed as a percentage of our total net revenues. Our historical results presented below are not necessarily indicative of the results that may be expected for any future&#160;period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;year&#160;ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:18.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:15.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="11" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:37.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in&#160;thousands&#160;of&#160;$,&#160;except&#160;percentages)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,277,169</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,468,610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">CSI Solar segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,371,603</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,975,612</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,124,083</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 821,525</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (218,517)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (328,527)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.4)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,367,857</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 82.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,205,474</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 83.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">CSI Solar segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,689,126</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,824,855</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 78.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 930,099</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 660,161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (251,368)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (279,542)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 909,312</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,263,136</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">CSI Solar segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 682,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,150,757</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Global Energy segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 193,984</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 161,364</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32,851</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (48,985)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Selling and distribution expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 398,650</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 558,926</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 308,942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 342,129</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,407</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69,822</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (47,068)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (63,802)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 718,931</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 907,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 190,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,061</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expenses)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (58,153)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.1)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (74,266)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,615</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,785</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (44,489)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign exchange gain (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (47,234)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77,689</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Investment income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,634</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 858</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (51,917)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 407</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before income taxes and equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,464</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,468</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (35,844)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (73,353)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,256</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,440</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 109,876</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 298,555</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Net income attributable to non&#8209;controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,628</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:59.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 95,248</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 239,968</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk98789598"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Year Ended December&#160;31, 2022 Compared to Year Ended December&#160;31, 2021 </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues. </i>Our total net revenues increased $2,191.4 million, or 41.5%, from $5,277.2 million in 2021 to $7,468.6 million in 2022. The increase was due to higher solar module shipments recognized in revenue from 14.3 GW to 21.1 GW, an increase in the average selling price of our solar modules, an increase in revenue contribution in utility-scale battery storage business, partially offset by decreased sale of solar and battery storage projects. Revenue contribution from Americas region increased 23% from $2,279.6 million in 2021 to $2,793.6 million in 2022 with expansion in the U.S. and Brazil, Asia region increased 28.1% from $2,139.1 million in 2021 to $2,739.8 million in 2022 with expansion in China, and Europe and others region increased 125.4% from $858.5 million in 2021 to $1,935.2 million in 2022 with expansion in Spain, U.K. and Germany.</p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i>. Revenues increased by 59.6% from $4,371.6 million in 2021 to $6,975.6 million in 2022. Solar modules revenues were $3,546.8 million in 2021 and $5,744.8 million in 2022, increased by 62.0%, of which 50.4% was attributable to an increase in volume of shipments and 11.6% was attributable to an increase in the average selling price of our solar modules. Our solar system kits revenues increased by 78.1% from $302.1 million in 2021 to $538.2 million in 2022.</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">85</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">Our utility-scale battery storage solutions business revenues significantly increased 135.6% from $222.7 million in 2021 to $524.5 million in 2022. Our residential battery storage revenue was $0.7 million in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">Our solar module shipments recognized in revenue for 2022 were 21.1 GW, an increase of 47.2% from 14.3 GW for 2021. Within these shipments, 0.7 GW and 0.9 GW represented sales to Global Energy segment in 2022 and 2021, respectively. Shipments to Asian region increased by 3.1 GW to 9.7 GW for 2022, from 6.6 GW for 2021. Shipments to European and other regions increased by 2.2 GW to 5.4 GW for 2022, from 3.2 GW for 2021. Shipments to the Americas region increased by 1.5 GW to 6.0 GW for 2022, from 4.5 GW for 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">The average selling price of our solar modules increased from $0.28 per watt in 2021 to $0.30 per watt in 2022. The increase was driven by higher raw material and supply chain costs, coupled with our improved ASP in premium markets as we deliver greater system-value to our customers.</p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i>. Revenues decreased by $302.6 million, or 26.9%, from $1,124.1 million in 2021 to $821.5 million in 2022. The decrease in sales of solar and battery storage projects revenues was due to a $288.0 million decrease in sales in the U.S., a $220.4 million decrease in sales in Japan and a $113.8 million decrease in sales in Mexico, partially offset by an increase of $264.2 million in sales in Australia and an increase of $41.6 million in sales in China.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues. </i>Our total cost of revenues increased $1,837.6 million, or 42.1%, from $4,367.9 million in 2021 to $6,205.5 million in 2022. The increase was primarily due to higher solar module shipments and higher raw material and supply chain costs in our manufacturing operations. Total cost of revenues as a percentage of total net revenues increased from 82.8% in 2021 to 83.1% in 2022.</p><table style="border-collapse:collapse;border:0;"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><span style="font-family:'Symbol';">&#183;</span></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i>. Cost of revenues increased by $2,135.8 million, or 57.9%, from $3,689.1 million in 2021 to $5,824.9 million in 2022. &#160;During 2022, cost of polysilicon continued to increase. Simultaneously, the costs of lithium accelerated higher. These costs impact was partially mitigated by manufacturing cost efficiency as we expanded in scale. Our monthly average module manufacturing cost in China, including purchased polysilicon, wafers and cells, increased to $0.236 per watt in 2022 from $0.227 per watt in 2021.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">In 2022, our results of operations continued to be impacted by the rising supply chain costs. We took actions in the first three quarters to build higher buffer inventories to improve cost certainty for our manufacturing operations and in anticipation of the higher solar module shipments outlook. We lowered our inventories towards the end of the year in anticipation of a decline in raw material costs and improvement in shipping transit times.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">Our inventories are held in our manufacturing facilities to cater to production forecast, and in transit to third-party logistical centers to facilitate shipment of solar modules to the ultimate sales destination. The inventory balances held by us represent the volumes we believe are necessary and sufficient to execute our growth strategies. We have funded our working capital increase in inventories by $181.0 million, $518.7 million and $406.3 million in 2020, 2021 and 2022, respectively, primarily through cash flows generated from operations, but also with short-term borrowings, as needed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">We continue to track supply chain constraints and cost trends, and depending on our expectation of the supply-demand imbalance from time to time, we may take steps to mitigate the potential impacts by building buffers in our materials inventory as described above, and we will ensure that our suppliers have adequate access to materials level aligned to our forecasts. Additionally, we may enter into long-term supply agreements with silicon and wafer suppliers in order to secure a stable supply of raw materials to meet our production requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">We have not experienced significant shortage in our supply chain. However, any supply chain disruption for materials and essential components of our solar power products could significantly delay the shipment of our solar power products and have a material adverse effect on our revenues, profitability and financial condition. For further discussion, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Supply chain issues, including shortages of adequate raw materials, component and equipment supply, cancellation or delay of purchase orders, inflationary pressures and cost escalation could adversely affect our business, results of operations and relationship with customers, particularly given our dependence on a limited number of suppliers of key elements like silicon wafers and cells.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 28.8pt;">For 2022, we recognized $2.4 million of reversal benefits from our provision for antidumping and countervailing duty associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the USDOC.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">. </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Cost of revenues decreased by $269.9 million, or 29.0%, from $930.1 million in 2021 to $660.2 million in 2022. The decrease corresponded to the $302.5 million decrease in solar and battery storage project sales, in particular the significant decrease of $220.4 million in Japan project sales, as Japanese projects usually carry higher development and construction costs.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">86</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit. &#160;</i>Our total gross profit increased by $353.8 million, from $909.3 million in 2021 to $1,263.1 million in 2022. Our total gross margin decreased from 17.2% in 2021 to 16.9% in 2022.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">CSI Solar Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. &#160;Gross profit increased by $468.3 million from $682.5 million in 2021 to $1,150.8 million in 2022, driven by solar module sales volume increase from 14.3 GW in 2021 to 21.1 GW in 2022. Gross margin increased from 15.6% in 2021 to 16.5% in 2022, due to an increase in solar module ASP as we passed through some of our increased costs to customers and improved our ASP in premium markets.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Energy Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. &#160;Gross profit decreased by $32.6 million from $194.0 million in 2021 to $161.4 million in 2022, driven by decrease in solar and battery storage project sales. Gross margin increased from 17.3% in 2021 to 19.6% in 2022 due to a higher proportion of high-margin project sales.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses.</i> &#160;Our operating expenses increased by $188.2 million, or 26.2%, from $718.9 million in 2021 to $907.1 million in 2022, driven by an increase in our selling and distribution expenses. Operating expenses as a percentage of our total net revenues decreased to 12.1% in 2022 from 13.6% in 2021 as we benefited from larger operating scale.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Selling and Distribution Expenses.</i> &#160;The increase of $160.2 million, or 40.2%, was primarily due to an increase of $137.5 million in shipping and handling expenses which was contributed by the increase in module shipment volume and higher transportation costs, an increase of $14.6 million in warehousing expenses, an increase of $5.2 million in personnel cost, partially offset by a decrease of $3.6 million in customer claim expenses. Selling and distribution expenses as a percentage of our net total revenues decreased from 7.6% in 2021 to 7.5% in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General and Administrative Expenses. &#160;</i>The increase of $33.2 million, or 10.7%, was primarily due to an increase of $53.9 million in long-lived asset impairment charges, an increase of $12.0 million in personnel cost, an increase of $10.5 million in legal and consulting costs, partially offset by a decrease of $27.8 million in depreciation expenses as we experienced an accelerated depreciation in 2021, and a decrease of $10.0 &#160;million from a non-recurring termination cost related to a project asset in 2021. General and administrative expenses as a percentage of our total net revenues decreased from 5.9% in 2021 to 4.6% in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Research and Development Expenses. &#160;</i>The increase of $11.4 million, or 19.5%, was due to increased research and development activities during 2022. Research and development expenses as a percentage of our total net revenues were 1.1% in 2021 and 0.9% in 2022. Refer to &#8220;C. Research and Development&#8221; for further details of our research and development activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Other Operating Income, Net. &#160;</i>Our other operating income, net, increased by $16.7 million, or 35.6% from $47.1 million in 2021 to $63.8 million in 2022. The increase was due to an increase of $21.1 million in government grants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense, Net.</i> &#160;Our interest expense, net, decreased $13.5 million, or 28.6%, in 2022. Interest expense increased by $16.1 million, or 27.7%, in 2022 as we increased our borrowings and experienced higher interest rates, particularly in U.S. dollar, Euros and Brazilian reals denominated debts. Our debt balance, including our convertible bond, increased to $2,514.8 million as of December 31, 2022 compared to $2,374.9 million as of December 31, 2021. Interest income increased by $29.6 million, or 267.5%, from $11.1 million in 2021 to $40.6 million in 2022. We benefited from $19.6 million of interest income generated by the anti-dumping and countervailing duty deposit refunds. Our interest income also increased as a result of the increase in our cash and cash equivalent and restricted cash balance to $1,969.5 million as of December 31, 2022, from $1,434.3 million as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gain (Loss) on Change in Fair Value of Derivatives, Net.</i> &#160;We recorded a loss of $44.5 million on change in fair value of derivatives in 2022, compared to a gain of $23.8 million in 2021. The loss recorded in 2022 was due to a loss of $40.5 million on change in fair value of foreign currency derivatives, net led by a stronger U.S. dollar environment, and a loss of $4.0 million on change in fair value of aluminum and silver commodity hedge. The gain recorded in 2021 was due to a gain of $22.8 million on change in fair value of foreign currency derivatives, net and a gain of $1.0 million on change in fair value of commodity hedge, net.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Foreign Exchange Gain (Loss), net.</i> &#160;We recorded a foreign exchange gain of $77.7 million in 2022, compared to a foreign exchange loss of $47.2 million in 2021. The gain in 2022 was primarily due to the effect of a stronger U.S. dollar against Renminbi, for which we incurred a significant portion of our manufacturing costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Investment Income, net. </i>We recorded lower investment income of $0.9 million in 2022 compared to $18.6 million in 2021. During 2021, we sold our non-controlling interests in a portfolio of solar projects to our local investment partner.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Expense.</i> &#160;We recognized an income tax expense of $73.3 million in 2022, compared to an income tax expense of $35.8 million in 2021. Our effective tax rate decreased in 2022 compared to 2021 as we generated a higher proportion of our income in lower tax jurisdictions across Asia.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Equity in Earnings of Affiliates. &#160;</i>Our share of the earnings of affiliates was a net gain of $15.4 million and $7.3 million in 2022 and 2021, respectively.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">87</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Income Attributable to Non-Controlling Interests. &#160;</i>The net income attributable to non-controlling interests is the share of net income attributable to the interests of non-controlling shareholders in CSI Solar Co., Ltd and certain of our project companies in Japan, Mexico and Australia. We recorded a higher net income attributable to non-controlling interests of $58.6 million in 2022 compared to $14.6 million in 2021, as we benefited from higher net income in CSI Solar.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">B</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Liquidity and Capital Resources</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had $981.4 million in cash and cash equivalents and $988.1 million in restricted cash. We intend to fund our existing and future material cash requirements with our cash and cash equivalents, anticipated cash flow from operations and credit facilities. We believe that our current cash and cash equivalents, anticipated cash flow from operations and existing credit facilities will be sufficient to meet our anticipated cash needs for at least the next 12 months, including our cash needs for working capital, ongoing capital expenditures, investment requirements, share repurchases, as well as debt repayments. Our long-term capital expenditures funding requirement may contemplate significant manufacturing expansion plans and investments to accelerate our product technology. We also expect to benefit from government grants, investment and tax incentives, and customer advances to increase the pace and scale of our growth plan. We may also from time to time seek to refinance our outstanding debt or retire or purchase our outstanding debt through cash purchases and exchanges for securities, in the open market purchases, privately negotiated transactions or otherwise. From time to time, we may make acquisitions of, or investments in, other companies and businesses that we believe could expand our business, augment our market coverage, enhance our technical capabilities, or otherwise offer growth opportunities. Such additional financing, refinancing, repurchases, exchanges, acquisitions, or investments, if any, will depend on prevailing market conditions, our liquidity requirements, contractual restrictions, and other factors. The amounts involved may be significant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we completed a RMB1.78 billion (approximately $261.3 million on the date of transaction) capital raise for CSI Solar to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. As a result, we received $224.6 million of share purchase proceeds in 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we conducted an &#8220;at-the-market&#8221; offering program of common shares on Nasdaq, through which we sold 3,639,918 of our common shares and raised US$150.0 million in gross proceeds before deducting commissions and offering expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March 21, 2023, we announced the approval of the IPO of&#160;CSI Solar Co., Ltd. by&#160;China Securities Regulatory Commission&#160;on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the SSE).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our future cash flows and working capital needs will depend on many factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to expand and upgrade our production capacity to meet expected growth in demand for our solar modules and remain competitive in production technology. We target to expand solar module, cell, solar wafer and ingot total annual production capacity to be 75.0 GW, 60.0 GW, 50.0 GW and 50.4 GW, respectively by March 2024, of which 50.0 GW, 50.0 GW, 35.0 GW and 20.4 GW, respectively, is targeted for December 2023. As we invest in these expansions and accelerate our high efficiency wafer and cell technology roadmap, we expect our near-term capital expenditures to be intensive compared to historical levels. The prepayment for future supply of raw materials and other components will continue to increase cash outflows in the near term. We made $260.1 million and $318.8 million of prepayments to certain suppliers as of December 31, 2021 and 2022, respectively, which might increase in amount if we encounter supply chain constraints or surges in price of raw material and transportation. To alleviate our working capital needs, we require some customers to make partial prepayments. With our growth, customer prepayments have increased from $135.5 million to $334.9 million as of December 31, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our energy business requires significant investment in project assets, solar power systems and investment in affiliates related to such assets. Furthermore, our focus on growing our base of recurring revenue from retained assets and our development pipeline of solar and battery storage projects is expected to require additional investments and working capital, until the projects reach commercial operations. The development time cycles of our solar power and battery storage project development can vary substantially and take many years. As a result, we may need to make significant upfront investments of resources before the collection of any proceeds from the sale or operation of these projects. These investments include payment of interconnection and other deposits, posting of letters of credit, and incurrence of construction, equipment, permitting, legal and other expenses. Our energy business may, however, need additional cash resources due to changed business conditions and other developments including unanticipated delays in regulatory approval, construction, grid energization and supply chain challenges. If our existing bank facilities to finance the acquisition, development and construction of these solar and battery storage projects are insufficient to satisfy our cash requirements, our energy business may need to seek additional equity or debt financing, or decrease its level of investments. We also rely on our partners&#8217; capital if the projects are not wholly owned by us. Delays in completing the sale of any of our solar and battery storage projects could also impact our liquidity.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">88</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Flows and Working Capital</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of February 28, 2023, we had contractual credit facilities of approximately $3,570.4 million, of which approximately $1,661.2 million has been drawn under borrowings and $705.2 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and approximately $1,204.0 million was available for draw down upon demand.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, as of February 28, 2023, we also had uncommitted credit facilities of approximately $1,433.3 million, of which approximately $544.6 million has been drawn under borrowings and $447.9 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of February 28, 2023, we had approximately short-term borrowings of $1,102.2 million, non-recourse borrowings &#8211; current of $361.3 million, long-term borrowings of $714.2 million, and non-recourse borrowings of $28.1 million. We enter into non-recourse financing that is designed to limit cross-default risk to us. Non-recourse debt used to finance solar projects was approximately $389.5 million as of February 28, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The long-term borrowings will mature during the period from the first quarter of 2024 to the first quarter of 2037. The long-term borrowings on project assets &#8211; current, have maturity dates ranging from the third quarter of 2024 to the first quarter of 2039, which are reclassified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold in 2023. Our long-term borrowings bear a weighted average interest rate of 4.53% as of February 28, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The short-term borrowings will mature during the period from the first quarter of 2023 to the first quarter of 2024. Our short-term borrowings bear a weighted average interest rate of 5.6% as of February 28, 2023. The credit facilities contain no specific extension terms but, historically, we have been able to obtain new short-term borrowings with similar terms before they mature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2016, we obtained a syndicated three-year loan facility of JPY9.6 billion ($85.2 million) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and 13 other participating financial institutions. The facility is unsecured and is guaranteed by us. The loan proceeds may be used to develop our solar project development pipeline in Japan and for general corporate working capital purposes. In October 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9.1 billion ($88.2 million). In September 2021, we further expanded the facility to JPY10.0 billion ($89.9 million) for a term of three years, with a September 2024 maturity. In September 2022, the subsidiary amended the facility agreement to tranche 1 loan facility of JPY7.5 billion ($57.2 million) guaranteed by us and tranche 2 loan facility of JPY2.5 billion ($19.1 million) is secured by a pledge of equity interest in CSIF. As of February 28, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. obtained a five-year syndicated credit facility of $188.0 million with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd, as one of the lenders. This facility is guaranteed by us. As of February 28, 2023, the facility was fully drawn to finance the construction of our solar cell and module manufacturing facilities in Thailand and the outstanding balance was $34.6 million. Under the same facility agreement, we obtained a working capital facility of THB3.5 billion ($106.7 million) from SCB to support the operations of our manufacturing company in Thailand. This facility is guaranteed by us and THB92.5 million ($2.6 million) was drawn as of February 28, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September and October 2019, we entered into two credit facilities with syndicated financial institutions led by Rabobank and Nomura Corporate Funding Americas, LLC. (&#8220;Nomura&#8221;), which agreed to provide financing of $123.7 million and $60.0 million, respectively. The proceeds from the credit facilities were available for purchasing solar modules and other eligible equipment. In August 2021, the Nomura loan was fully repaid. &#160;The outstanding balance as of February 28, 2023 was $41.1 million and requires regularly scheduled repayment until September 2024. The outstanding credit facility is secured by the solar modules and project assets, and is guaranteed by us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August 2020, we executed a $75.0 million development loan with Nomura Securities International, Inc. In November 2021, the syndicated facility was renewed with Nomura at an expanded amount of $125.0 million that matures in November 2023. The outstanding credit facility is secured by certain project assets in the U.S. and Canada, and is guaranteed by us. As of February 28, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2020, we completed an offering of $230.0 million in aggregate principal amount of 2.50% convertible senior notes, or the Notes. We received net proceeds of approximately $223.0 million from the offering, after deducting discounts, commissions and offering expenses. The Notes will mature on October 1, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2020, we obtained a syndicated five-year non-recourse facility of AUD 289.4 million ($206.0 million) with Australia and New Zealand Banking Group Limited, or ANZ, acting as the facility agent and three other financial institutions, to finance the construction of a portfolio of solar projects in Australia. The facility is secured by the project assets and was set to mature in 2025. The loan was assumed by a buyer in connection with the sale of the portfolio in 2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">89</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2020, we established Japan Green Infrastructure Fund LP (&#8220;JGIF&#8221;), partnering with a business unit of Macquarie Group as a minority investor of JGIF and obtained a six-year mezzanine loan facility of JPY18.0 billion ($174.2 million) with Madison Pacific Trust Limited acting as the facility agent and other four financial institutions. The facility is for the development and construction of solar power projects in Japan. In January 2023, we cancelled the unused commitment of JPY15.9 billion ($122.2 million) under the facility agreement. As of February 28, 2023, the outstanding non-recourse balance was $15.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2021, we obtained a syndicated project finance loan facility of JPY24.5 billion with Nomura Capital Investment Co., Ltd. acting as lead arranger and 5 other participating financial institutions (Societe Generale, The Shizuoka Bank, Shinhan Bank, ING Bank and OCBC) to construct our 100 MWp Azuma Kofuji project in Japan. The project finance loan is secured and will mature in November 2023. As of February 28, 2023, the outstanding non-recourse balance was $143.6 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2021, we issued JPY8.1 billion ($73.2 million) of non-recourse green project bonds to construct a portfolio of projects in Japan. The project bonds are secured by project assets and will mature in 2039. As of February 28, 2023, the outstanding balance was $31.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2021, Sunmex Renovables, S.A. De C.V., our 51% owned subsidiary, obtained a $60.0 million project finance loan facility with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;). The facility has been partially drawn for the construction of the El Mayo project in Mexico. As of February 28, 2023, $28.0 million was drawn. We have provided a guarantee on the outstanding balance through a letter of credit. The non-controlling interests of the subsidiary maintained its pro rata contribution through shareholder loans of $39.9 million as of February 28, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In May 2021, we secured a &#8364;50.0 million ($61.1 million) credit facility with Banco Santander, S.A. (&#8220;Santander&#8221;). The facility comprises of a term loan of &#8364;25.0 million and a revolving credit facility of &#8364;25.0 million and is guaranteed by us. The facility will mature in May 2024. As of February 28, 2023, the loan and the revolving credit facility outstanding balance was $26.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July 2021, we secured a BRL500.0 million ($95.9 million) financing facility with BTG Pactual and Ita&#250; BBA to support the equity contribution for the development and construction of our solar projects in Brazil. The facility is guaranteed by us and will mature in December 2023. As of February 28, 2023, the outstanding balance was $88.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. entered into a RMB580 million ($90.9 million) long term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property and plant, and is guaranteed by CSI Solar, and matures in November 2028. As of February 28, 2023, RMB386.6 million ($55.6 million) was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2021, we registered a &#8364;100.0 million ($113.4 million) medium term note program on Spain&#8217;s alternative fixed-income market (&#8220;MARF&#8221;). Any payment under the notes will be guaranteed by us. In December 2021, we completed a &#8364;30.0 million ($34.1 million) fixed rate notes issuance due on December 2026. In February 2023, we renewed this &#8364;100.0 million medium term note program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2021, we entered into a letter of credit facility of $50.0 million with Ita&#250; BBA to support the projects awarded and participating in PPA auctions in LATAM, to issue new guarantees for projects in LATAM and support for funding projects in Mexico. As of February 28, 2023, $41.3 million was utilized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2021 and 2022, Canadian Solar Sunenergy (Baotou) Co., Ltd. entered into credit facilities in the aggregate of RMB880 million ($126.4 million) with six banks. Credit facilities of RMB580 million ($83.3 million) is guaranteed by CSI Solar, and the remaining RMB300 million ($43.1 million) is secured by certain property, plant and equipment, and is guaranteed by Canadian Solar Manufacturing (Luoyang) Inc and CSI Solar. As of February 28, 2023, RMB654.1 million ($94.1 million) was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2022, we entered into a letter of credit facility of $50.0 million with Credit Agricole to support our global project development. As of February 28, 2023, $41.3 million was utilized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June 2022, we entered into a letter of credit facility with syndicated financial institutions led by Nomura Corporate Funding Americas, LLC and with issuing bank Co&#246;peratieve Rabobank U.A., New York Branch pursuant to which the lenders provide letters of credit up to $100.0 million to support our North American project development. As of February 28, 2023, $24.9 million was utilized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November 2022, we entered into a $50.0 million revolving credit facility with ING Bank, N.V., Singapore Branch. The facility is guaranteed by us and mature in November 2023. As of February 28, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2021 and February 2023, CSI Cells (Yancheng) Co., Ltd. entered into credit facilities in the aggregate of RMB910 million ($130.9 million) with various banks. The credit facilities facility of RMB710 million ($102.1 million) is unsecured and is guaranteed by CSI Solar. The remaining RMB200 million ($28.8 million) is secured by certain property, plant and equipment, and is guaranteed by CSI Solar. &#160;As of February 28, 2023, RMB581.6 million ($83.7 million) was drawn.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">90</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Most of our long-term borrowings and credit facilities contain covenants, primarily interest and debt coverage ratios, loan to equity value of designated project ratios, debt to asset ratios, and minimum equity requirements. We are, and expect to remain, in compliance with these covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We often offer credit terms to our customers ranging from 30 days up to 90 days with advance payments ranging from 5% to 20% of the sale prices. These advances from customers amounted to $135.5 million and $334.9 million as of December 31, 2021 and 2022, respectively. We have increased and may continue to increase our credit term sales to certain creditworthy customers after careful review of their credit standings and acceptance of export credit insurance primarily by Sinosure and PICC, or other risk mitigation channels such as local credit insurance or factoring.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth a summary of our cash flows for the periods indicated:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the year ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in&#160;thousands&#160;of&#160;$)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (408,254)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 916,631</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (429,570)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (630,488)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash provided by financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 614,071</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 428,639</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (205,433)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 535,221</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,639,715</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,434,282</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,434,282</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,969,503</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Operating Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Net cash provided by operating activities is net income adjusted for certain non-cash items and changes in assets and liabilities. In 2022, the cash provided by operating activities increased by $1,324.9 million compared to 2021, contributed by higher net income, favorable non-cash adjustments, and improvement in working capital. In particular, we lowered our inventories relative to the scale of our module business towards the end of 2022 in anticipation of a decline in raw material costs and improvement in shipping transit times. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Investing Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Net cash used in investing activities consists primarily of capital expenditures and investments in affiliates. &#160;Our capital expenditure was $627.1 million in 2022 compared to $428.7 million in 2021, as we executed our plan to increase manufacturing capacity and vertical integration. Our investments in affiliates were $19.4 million in 2022 compared to $54.0 million in 2021. In 2021, we invested to own a 20.0% equity stake in the Crimson battery storage project in California.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Financing Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net cash provided by financing activities was $428.6 million in 2022 compared to $614.1 million in 2021. In 2021, we raised $148.5 million net proceeds from issuance of common shares in connection with our at-the-market equity offering program. In 2022, we increased our financing cash flows from short-term and long-term borrowings by an aggregate of $462.3 million. In comparison, our total borrowings on consolidated balance sheet increased by $140.7 million from $2,116.5 million in 2021 to $2,257.2 million in 2022 as the increase in financing cash flows from borrowings was partially offset by the debt deconsolidation associated with our solar project sales throughout 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For disclosures related to interest rates, refer to &#8220;Item 5. Operating and Financial Review and Prospects&#8212;A. Operating Results.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Material Cash Requirements </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our material cash requirements as of December 31, 2022 and any subsequent interim period primarily include our long-term and short-term borrowings obligations, purchase obligations, convertible notes obligation, operating and finance lease obligations, financing liability obligations, and interest obligations related to our borrowings, convertible notes and financing liability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our purchase obligations arise in the normal course of business, consisting of binding purchase orders for inventories and capital expenditures. As of December 31, 2022, our commitments for the purchase of inventories, primarily silicon raw materials, were $5.0 billion, of which $1.9 billion is expected to be paid in 2023. Our capital expenditures were primarily to maintain and increase our ingot, wafer, cell and module manufacturing capacity. We made capital expenditures of $428.7 million and $627.1 million in 2021 and 2022, respectively. As of December 31, 2022, our commitments for the purchase of property, plant and equipment were $300.3 million, of which $267.8 million is expected to be paid in 2023. As of December 31, 2022, our commitments for the purchase of services for solar power system were $56.1 million, of which $50.6 million is expected to be paid in 2023.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">91</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had $813.4 million of long-term borrowings and $1,443.8 million of short-term borrowings outstanding. Principal payments required on long-term borrowings outstanding as of December 31, 2022 are $639.9 million in 2024, $83.6 million in 2025, $31.8 million in 2026, $22.4 million in 2027 and $35.7 million in 2028 and thereafter. Long-term borrowing may have fixed or variable interest rates. For long-term debt with variable-rate interest, we estimate the future interest payments based on projected market interest rates for various floating-rate benchmarks received from third parties. Interest payments expected to be paid on long-term borrowing outstanding at December 31, 2022 are $41.4 million in 2023, $28.4 million in 2024, $5.8 million in 2025, $3.9 million in 2026, $2.9 million in 2027 and $20.4 million in 2028 and thereafter. Interest payments expected to be paid on short-term debt outstanding at December 31, 2022 are $47.8 million. The rising interest rate environment may materially affect our estimate of interest payments in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had convertible notes with principal amount of $230.0 million outstanding, bearing an annual interest rate of 2.5%, which will mature on October 1, 2025. Assuming no conversion, interest payments required on convertible notes as of December 31, 2022 are $5.8 million in each of 2023 and 2024, and $5.5 million in 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had financing liability of $49.1 million that is expected to be repaid in 2023. As of December 31, 2022, we had $65.5 million of operating lease liabilities, of which $10.8 million is expected to mature in 2023. As of December 31, 2022, we had $30.4 million of finance lease liabilities, of which $15.5 million is expected to mature in 2023. Our financing liabilities as of December 31, 2022 are expected to result in interest obligation of $1.9 million to be paid in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In their normal course of business, our subsidiaries provide letters of credit through their banks for purposes including, but not limited to, guarantees for accounts payable, debt service reserves, capital reserves, construction completion and performance. Letters of credit provided by our subsidiaries as of December 31, 2022 were $303.1 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the timing of increases in, or delays in the regulatory determinations, of tariffs, taxes and duties could affect the cash flows and results of operations of our businesses. We have been in the past, and may be in the future, subject to antidumping and countervailing duty rulings and orders. In particular, we have been subject to antidumping and countervailing duty rulings in the U.S., the EU and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; for further information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have contingent contractual obligations in the ordinary course of developing solar and battery storage projects. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We have substantial indebtedness and may incur substantial additional indebtedness and increased cost of indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations.&#8221; These obligations are designed to cover potential risks and only require payment if certain targets are not met or certain contingencies occur. The risks associated with these obligations include change of control, construction cost overruns, subsidiary default, political risk, tax and sale indemnities, energy delivery, sponsor support and liquidated damages. While we do not expect that we will be required to fund any material amounts under these contingent contractual obligations in future, many of the events which would give rise to such obligations are beyond our control. We can provide no assurance that we will be able to fund our obligations under these contingent contractual obligations if we are required to make substantial payments thereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSI Solar plans to primarily invest its proceeds from the STAR Listing in a range of capacity support and expansion projects. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Even if the STAR Listing is completed, we may not achieve the results contemplated by our business strategy (including with respect to use of proceeds from that offering). In addition, it is difficult to predict the effect of the proposed STAR Listing on our common shares.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Net Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our PRC subsidiaries are required under PRC laws and regulations to make appropriations from net income as determined under accounting principles generally accepted in the PRC, or PRC GAAP, to non-distributable reserves, which include a general reserve, staff welfare and bonus reserve. The general reserve is required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The boards of directors of our PRC subsidiaries determine the staff welfare and bonus reserves. The general reserves are used to offset future extraordinary losses. Our PRC subsidiaries may, upon a resolution of their boards of directors, convert their general reserves into capital. The staff welfare and bonus reserves are used for the collective welfare of the employees of the PRC subsidiaries. In addition to their general reserves, our PRC subsidiaries are required to obtain approval from the local government authorities prior to decreasing and distributing any registered share capital to their shareholders. Accordingly, both the appropriations to general reserve and the registered share capital of our PRC subsidiaries are considered as restricted net assets. These restricted net assets amounted to $658.2 million as of December 31, 2022.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">92</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations in China are subject to certain restrictions on the transfer and use of cash within our company. Transfers of cash between our PRC subsidiaries and the Canadian parent company are restricted to normal trade business payments and any further capital contribution from the Canadian parent company may only be made under China&#8217;s existing foreign currency regulations. Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, certain government authorities, including the Ministry of Commerce or its local counterparts, must approve these capital contributions. These limitations could affect the ability of our Chinese subsidiaries to obtain foreign exchange through equity financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, all of the undistributed earnings of approximately $592.7 million attributable to our PRC subsidiaries are considered to be indefinitely reinvested so that no provision of withholding taxes has been provided in our consolidated financial statements. Our PRC subsidiaries are required to make appropriations of at least 10% of net income, as determined under PRC GAAP, to a non-distributable general reserve. After making this appropriation, the balance of the undistributed earnings is distributable. Should our PRC subsidiaries subsequently distribute their distributable earnings, they are subject to applicable withholding taxes to the PRC State Administration of Tax.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">C</b></span><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Development</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We conduct research and development activities in the following areas: i) ingot growth and wafering, ii) cells, iii) modules, iv) system performance analysis, v) energy solution products, vi) reliability testing and analysis and vii) battery storage products. </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Ingot growth and wafering is focused on developing advanced crystallization and sawing technologies to produce high quality mono wafers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Solar cell research is focused on developing new high efficiency solar cells and advanced solar cell processing technologies.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Module development is focused on module innovations, developing new module designs and technologies for leading wattage, efficiency, reliability and system-level performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">System performance analysis provides system-level performance evaluation and LCOE and LCOS benchmarking for our various new products and innovations.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Research and development on energy solution products is aimed at developing high quality inverters and battery storage systems for utility, commercial and residential applications.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Changshu Photovoltaic Testing Laboratory (&#8220;CPTL&#8221;) located in Changshu, China is a fully ISO17025 accredited testing facilities for conducting certification per IEC61215/61730/62804 standards as well as extensive reliability research on PV modules and components. Since 2010, the laboratory has been approved by VDE and CSA certification bodies under their data approval programs. The laboratory is engaged in research collaboration with leading research institutes to accelerate market penetration of incremental and rupture PV technologies, by allowing state-of-the-art reliability evaluation and performance characterization. The team focuses on enabling products with longer service lifetime and lower degradation rates, through the use of data science and extensive characterization platforms.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had 223 employees engaged in research, product development and engineering.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our research and development activities are generally focused on the following items: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing Czochralski (&#8220;CZ&#8221;) mono pulling technologies compatible to 182 mm and 210 mm ingot size with competitive cost structure;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing novel diamond wire sawing technology compatible with 182 mm and 210 mm mono ingot;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">continuously improving the conversion efficiency of existing solar cells and reducing cost through process and material improvement and innovation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing new cell structures and technologies for higher efficiencies and performance;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">continuously improving the wattage of existing solar modules and reducing cost through process and material improvement and innovation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing new modules with improved design and assembly methods to have higher power output, module-level efficiency, reliability and system-level performance;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">93</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">designing and developing customized solar modules and products to meet customer requirements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">designing and developing power electronics such as inverters;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">designing and developing battery storage systems;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">testing, data tracing and analysis for system-level performance and reliability for our various products and innovations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing data-based accurate reliability models to guide future materials and design innovations and commercialize long lifetime and long degradation solar modules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">establishing highly accelerated reliability testing and innovative characterization methods to fasten large scale commercialization of our product innovations.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the future, we expect to focus on the following research and development initiatives that we believe will enhance our competitiveness. As we continue to move into the downstream energy business, we have strengthened the capabilities of our engineering staff and increased investment in the system areas.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Ingot and wafer</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. We have developed CZ pulling technologies compatible with 182 mm and 210 mm ingot growth and related diamond wire sawing process for thin wafers. We have developed not only P-type mono wafers for PERC cells, but also N-type wafer for our HJT and TOPCon cell production. R&amp;D activities in this area are focused on continuously improving the cost and quality performance of the mono wafers. We plan to reduce the thickness of P-type wafers from about 150 um to 140 um, N-type HJT wafers from about 150 um to 130 um or 110 um, and N-type TOPCon wafers from 140 um to 130 um. Additional R&amp;D activities focus on consuming less energy and materials in the CZ pulling and diamond wire sawing, for instance, increasing the pulling speed, improving the success rate of seeding and neck growth in the CZ pulling, and reducing the diamond wire diameter while improving the A rate of diamond wire sawing.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">High efficiency cells</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. For current cell capacity, most of our mono PERC cells are based on 182 mm and 210 mm large size wafers. Our research and development efforts for existing products focus on improving the conversion efficiency of cells and reducing the cost to be more competitive in the industry. We have focused our research and development initiatives for new products on N-type HJT cell, TOPCon cell, and other technologies such as interdigitated back contact (&#8220;IBC&#8221;) cell. To explore the next generation technology beyond PERC, we invested in HJT and TOPCon technologies. The development of HJT cell technologies started in March 2021. We now offer one of the most efficient HJT cells in the market. We have launched HJT module products in mid 2022 for high-end roof-top application. We launched TOPCon products in late 2022, having achieved TOPCon module efficiency of 22.4%. We began mass production of TOPCon from the ingot to cell and module in February 2023. With these advanced technologies, we can significantly lower the LCOE on the system level and improve our products&#8217; market competitiveness.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Competitive solar module products.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Our R&amp;D team including the module R&amp;D, processing, testing and reliability, makes our products highly competitive in the market. We pioneered the introduction and volume production of cells and modules using 182 mm and 210 mm wafers, with HiKu6 modules using 182 mm cells mass produced at the beginning of 2021 and HiKu7 modules using 210 mm cells mass produced in the first half of 2021. By the end of 2022, our HiKu7 PERC module has reached wattages of 670W, and the module efficiency of 21.57%. Through the optimization of design, process, quality control and testing methods, the annual degradation rate of our modules has been reduced significantly over the past ten years, enabling warranty conditions improvement from 0.7% per year to 0.45% per year for our reliability leading BiHiKu7 modules. Our main R&amp;D activities at module level are the continuous improvement of module wattage, reliability, system-level performance and cost reduction. For new products, we successfully launched HJT cell based modules in 2022, and have been making significant progress on our development of 182 mm and 210 mm TOPCon cell based modules. We started mass production of 182 mm bifacial TOPCon modules in February 2023. In 2021, we launched lightweight modules for loading-limited roofs. In 2022, we developed a BIPV system with innovative metal roof and installation method and this system will enter the market in 2023. In the future, we may develop modules for seawater floating systems, IBC modules and PV systems integrated with roads.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Energy solution products</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Our energy solution products developed are mainly single-phase solar, three-phase solar and hybrid storage inverters, as well as battery storage systems for utility, commercial, residential applications, for both front and behind the meter applications. Our string inverter products will be certified and will be available broadly in many regions globally. We continue to advance our solar system kits which are &#8216;ready-to-install&#8217;, consisting of solar modules, inverters, racking system, battery storage and other accessories. These kits are deployed in significant markets globally.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Power electronic products.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Our power electronics products include a full range of inverters for mass production to cater to various applications. Our 5 product series or platforms include the residential 3-5 kW inverter, the residential 7-9 kW inverter, the lower-</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">94</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"></td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">voltage C&amp;I 15-25 kW inverter, the mid-wattage wattage C&amp;I 40-60 kW inverter and the higher-wattage C&amp;I 75-125 kW inverter. We started our R&amp;D focus on the residential inverter application since 2017 and delivered our inverter product to the market in 2019. We built 3 GW of production lines in our Suzhou facility during 2021. To date, we have passed the CQC NB/732004, IEC 62109, IEC 61727, EN50549-1 and EN50549-2 certifications for part or all of our 5 product series. We have cumulatively shipped over 3 GW of Canadian Solar inverters by 2022. &#160; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Utility-scale battery storage products.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Our R&amp;D on battery storage products includes energy storage battery pack and system products development, testing and certification. The design of the energy storage pack and system started in May 2021 and the final product, SolBank, have been deployed in July 2022. The SolBank system is our first utility-scale battery storage product, adopting advanced technologies of high energy density (201 kWh/m</span><sup style="font-family:'Times New Roman','Times','serif';font-size:7.5pt;font-style:normal;font-weight:normal;line-height:100%;top:0pt;vertical-align:top;">2</sup><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) LFP batteries, liquid cooling, active balancing BMS and fire safety measures. The SolBank product has passed UL9540A, UL1973, UL9540 and UN38.3 certifications for North America, IEC 62619, IEC 63056, IEC 62477-1, IEC 60730-1, IEC/EN 60204-1 certifications for Europe, and GB/T 36276 certification for China. Our energy storage testing center has begun operation in August 2021, with battery cell, pack and system testing capabilities. The packing and system assembly production line operation is expected to start in mid 2023. A pilot plant has been constructed to make and test prismatic battery cells of 305Ah capacity.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Residential battery storage products.</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> Our EP Cube offerings comprise a flexible whole-home energy storage solution that includes the Smart Gateway, hybrid inverter and battery module. The solution is available in 9.9-, 13.3-, 16.6-, 19.9-kWh capacities, with scalability up to 119.9 kWh with six units connected in parallel. EP Cube provides reliable power backup, integrates a self-designed hybrid inverter and supports up to 16 Amp 4 MPPT connections to store electricity generated by a photovoltaic (PV) system. It automatically stores electricity from the grid during off-peak times through authorized settings. With a 24/7 monitoring function, it can detect outages and energize the home seamlessly when the power supply is disrupted. </span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">D</b></span><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Trend Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other than as disclosed elsewhere in this annual report on Form 20-F, we are not aware of any trends, uncertainties, demands, commitments or events that are reasonably likely to have a material adverse effect on our net revenues, income, profitability, liquidity or capital resources, or that caused the disclosed financial information to be not necessarily indicative of future operating results or financial conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">E</b></span><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Critical Accounting Estimates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our significant accounting policies are set out in &#8220;Note 2. Summary of Principal Accounting Policies&#8221; to our consolidated financial statements included elsewhere in this annual report on Form 20-F, which have been prepared in accordance with U.S. GAAP. The preparation of these financial statements requires us to make estimates and judgments that affect the reported amount of assets and liabilities, revenues and expenses and related disclosure of contingent assets and liabilities at the date of our audited consolidated financial statements. Actual results may differ from these estimates under different assumptions or conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Critical accounting estimates are those that reflect significant judgments or uncertainties, and which could potentially result in materially different results under different assumptions and conditions. We have described below what we believe are our most critical accounting estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are not aware of any specific event or circumstance that would require updates to our estimates and judgments or require us to revise the carrying value of our assets or liabilities as of the date of issuance of this Form 20-F. These estimates may change as new events occur and additional information is obtained. Actual results could differ materially from these estimates under different assumptions or conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Revenue </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We recognize our sales of solar and battery storage projects at a point in time when customers obtain control of the solar and battery storage projects. Our solar and battery storage projects are often held in separate legal entities or trusts which are formed for the special purpose of constructing the solar and battery storage projects, which we refer to as &#8220;project companies&#8221;. There is judgment used to determine whether deconsolidation of the project companies is appropriate upon transfer of equity interest to customers, and whether if revenue should be recognized upon deconsolidation and satisfaction of performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Long-lived Assets, Project Assets and Solar Power Systems Impairment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our solar power systems, property, plant and equipment are stated at cost less accumulated depreciation and identified impairment losses. We assess our solar power systems, property, plant and equipment for impairment whenever events or changes in circumstances </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">95</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">indicate that the carrying amount of such assets may not be recoverable, and these assessments require significant judgment and estimates in determining whether such events or changes have occurred. We consider factors such as asset group utilization, process technology, changes in machinery and equipment technology, temporary idling of capacity and the expected timing of placing this capacity back into production for the impairment on our property, plant and equipment. We examine a number of factors such as changes in environmental, permitting, capital cost, market pricing or regulatory conditions that may impact the solar power system assets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We review project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable and consider a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Factors such as changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions, which may cause the costs of the project to increase or the selling price of the project to decrease, are considered when evaluating project assets for impairment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We recognize impairment based upon planned change in equipment use, project or investment specific factors, history of losses and current economic conditions. In 2022, we recorded impairment loss of $60.3 million, $1.7 million and nil on our property, plant and equipment, project assets and solar power systems, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Taxes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are subject to the income tax laws and regulations of the many jurisdictions in which we operate. These tax laws and regulations are complex and involve uncertainty and judgment on how to interpret and apply tax laws and regulations in determining the provision for income taxes for financial reporting purposes. In addition, the various jurisdictions may enact tax legislation that could significantly affect our ongoing operations. For example, tax authorities could impose rate changes along with additional corporate tax provisions that would disallow or tax perceived base erosion or profit shifting. We make these estimates and judgments primarily in the calculation of tax credits and the differences in the timing of recognition of revenue and expense for tax reporting and financial statement purposes, and the calculation of interest and penalties related to uncertain tax positions. Changes in these estimates and judgments may result in a material increase or decrease to our tax provision, which would be recorded in the period in which the change occurs. We must also assess the likelihood that we will be able to recover our deferred tax assets against future sources of taxable income and reduce the carrying amount of deferred tax assets by recording a valuation allowance if, based on all available evidence, it is more likely than not that all or a portion of such assets will not be realized. However, the ultimate realization of our deferred tax assets is subject to a number of variables, including our future profitability within relevant tax jurisdictions. Accordingly, our valuation allowances may increase or decrease in future periods. As of December 31, 2022, we believe valuation allowance of $43.5 million is required. The valuation allowance is determined, in part, on our ability to utilize such tax benefits by either carrying back or forward based on the profitability within the relevant tax jurisdictions, including estimated tax profitability, tax planning and earnings repatriation in future periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Warranties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">We provide warranties on the solar power products and balance of systems we sell against defects in materials, workmanship and performance degradation, which vary depending on the type of products. We also warrant our battery storage products for a specific amount of time against performance or manufacturing defects. We have established procedures to monitor the trend of warranty support, replacement and repair costs, historical claims experience, failure rates expectations from our quality review or other assumptions, and may revise our estimates as necessary. We have further determined our expected future product performance through quality and reliability testing and actual field operating performance. In 2022, we provided warranty provision of $68.4 million. As of December 31, 2022, accrued warranty liability was $76.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">96</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e59c3eaa_c4be_4815_bd57_54e988f88f2a"></a><a id="ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;6&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Directors and Senior Management</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth information regarding our directors and executive officers as of the date of this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:56.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Age</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:56.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Position/Title</b></p></td></tr><tr><td style="vertical-align:top;width:32.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chairman of the Board, President and Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:32.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Harry E. Ruda</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew (Luen Cheung) Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lap Tat Arthur Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">63</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lauren C. Templeton</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:56.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leslie Li Hsien Chang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:56.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Karl E. Olsoni</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:56.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">59</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director and President of CSI Solar</p></td></tr><tr><td style="vertical-align:top;width:32.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director and Chief Financial Officer</p></td></tr><tr><td style="vertical-align:top;width:32.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jianyi Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Senior Vice President, General Counsel and Chief Compliance Officer</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr. Shawn (Xiaohua) Qu</i> founded Canadian Solar Inc. in Guelph, Ontario, Canada in 2001 and has been the chairman and chief executive officer of our Company since then. Canadian Solar went public on the Nasdaq in 2006 and is one of the world&#8217;s largest solar technology and renewable energy companies, with approximately 18,500 employees globally. We are a leading manufacturer of solar photovoltaic modules, provider of solar energy and battery storage solutions, and developer of utility-scale solar and battery storage projects with a geographically diversified pipeline in various stages of development. Over the past 22 years, our products and services have benefited thousands of customers in over 160 countries, and provided clean electricity to millions of households. Prior to founding Canadian Solar, Dr. Qu worked at ATS Automation Tooling Systems in Canada and its subsidiary Photowatt International in France. Before that, Dr. Qu was a Research Scientist at Ontario Hydro (now Ontario Power Generation). Dr. Qu received a BSc degree from Tsinghua University, an MSc degree in Physics from the University of Manitoba and a PhD degree in Materials Science from the University of Toronto. Dr. Qu continued working as a postdoctoral researcher at the University of Toronto, focusing on semiconductor optical devices and photovoltaic cells. Dr. Qu has been a fellow of Canadian Academy of Engineering since 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr. Harry E. Ruda</i> has served as an independent director of our company since July 2011. He is the Director of the Centre for Advanced Nanotechnology, the Stanley Meek Chair in Nanotechnology and Professor of Applied Science and Engineering at the University of Toronto, Canada. From 1982 to 1984, he developed one of the first theories for electron transport in selectively doped two-dimensional electron gas heterostructures, while working as an IBM post-doctoral fellow. From 1984 to 1989, he was a senior scientist at 3M Corporation, developing some of the first models for electronic transport and optical properties of wide bandgap II-VI semiconductors. Dr. Ruda joined the faculty of the University of Toronto in 1989 in the Materials Science and Engineering and Electrical and Computer Engineering Departments. His research interests focus on the fabrication and modeling of semiconductor nanostructures with applications in the fields of optoelectronics, energy and sensing. Dr. Ruda was one of the founders of a Canadian National Centre of Excellence in Photonics. He has served on the National Science and Engineering Council of Canada and on other government panels, including those of the Department of Energy, Environmental Protection Agency, National Science Foundation in the U.S. and the Royal Academy of Engineering and Engineering Physical Sciences Research Council in the United Kingdom. Dr. Ruda is a Fellow of the Royal Society of Canada, a Fellow of the Institute of Physics, a Fellow of the Institute of Nanotechnology, and a Fellow of the Canadian Academy of Engineering. He obtained his Ph.D. in semiconductor physics from the Massachusetts Institute of Technology in 1982.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">97</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Andrew (Luen Cheung) Wong</i> has served as an independent director of our company since August 2014. He has also served as a director of Chubb Life Insurance Company Ltd. since 2008, and is an independent director and the vice-chairman of Huazhong In-vehicle Holdings Company Limited, which is listed in Hong Kong Stock Exchange. Previously, Mr. Wong served as a director and a member of the audit committee, nomination and remuneration committee of China CITIC Bank Corporation Limited, a company listed on The Stock Exchange of Hong Kong, between 2013 and 2018. Mr. Wong was the director of Intime Retail (Group) Co. Ltd., a company listed on The Stock Exchange of Hong Kong, between 2013 and 2014, and was the director and a member of audit committee, risk management committee, nomination and remuneration committee of China Minsheng Bank, a company listed on The Stock Exchange of Hong Kong, from 2006 to 2012. From 1982 to 2006, Mr. Wong held senior positions at the Royal Bank of Canada, the Union Bank of Switzerland, Citicorp International Limited, a merchant banking arm of Citibank, Hang Seng Bank Limited and DBS Bank Limited, Hong Kong. Mr. Wong was awarded the National Excellent Independent Director by the Shanghai Stock Exchange in 2010 and received the Medal of Honour (Hong Kong SAR) from the Hong Kong SAR Government in 2011. Mr. Wong obtained his Bachelor of Social Sciences (Honours) degree from the University of Hong Kong in 1980 and a Master of Philosophy degree from Hong Kong Buddhist College in 1982.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Lap Tat Arthur Wong </i>has served as an independent director of our company since March 2019. Mr. Wong currently serves as an independent director and chair of the audit committee of the following companies: Daqo New Energy Corp. (NYSE: DQ) and Microvast Holdings, Inc. (NASDAQ: MVST). From November 2014 to February 2023, Mr. Wong served as an independent director and chair of the audit committee at China Maple Leaf Educational Systems Limited (HKSE: 1317). From March 2020 to March 2022, Mr. Wong also served as an independent director at Tarena International, Inc. (NASDAQ: TEDU). From 2008 to 2018, Mr. Wong served as the Chief Financial Officer of Asia New Energy Holdings Pte. Ltd, Nobao Renewable Energy Holding Ltd., GreenTree Inns Hotel Management Group, Inc. and Beijing Radio Cultural Transmission Company Limited, sequentially. From 1982 to 2008, Mr. Wong held various positions with Deloitte Touche Tohmatsu (Deloitte) in Hong Kong, San Jose and Beijing, with his last position as a partner in Deloitte&#8217;s Beijing office. Mr. Wong received a Higher Diploma in Accountancy from Hong Kong Polytechnic University and a Bachelor of Science degree in Applied Economics from University of San Francisco. He is a member of the American Institute of Certified Public Accountants; a fellow of the Association of Chartered Certified Accountants; and a fellow of the Hong Kong Institute of Certified Public Accountants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Ms. Lauren C. Templeton</i> has served as an independent director of our company since January 2020. Ms. Templeton is the founder and President of Templeton &amp; Phillips Capital Management, LLC, a global investing boutique located in Chattanooga, Tennessee. She is also an independent director and member of the audit committee of Fairfax Financial Holdings Limited, a financial holding company engaged in property and casualty insurance and reinsurance and associated investment management, and its publicly-traded subsidiary, Fairfax India Holdings Corporation. Ms. Templeton serves on a number of non-profit organizations, including serving as Chairperson of the Board of Trustees of the John Templeton Foundation. She is a member of the Templeton World Charities Foundation and the Templeton Religion Trust. She also serves on the Board of Overseers at the Atlas Economic Research Foundation. Ms. Templeton is the former President of the Southeastern Hedge Fund Association, based in Atlanta, Georgia. She is also the co-author of &#8220;Investing the Templeton Way: The Market Beating Strategies of Value Investing&#8217;s Legendary Bargain Hunter&#8221;, which has been translated into nine languages. Ms. Templeton holds a Bachelor of Arts Degree in Economics from the University of the South, Sewanee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Leslie Li Hsien Chang </i>has been serving as an independent director of our company since September 2020 and has been serving as a director of CSI Solar since December 2020. Mr. Chang is currently an independent nonexecutive director, chairman of the audit committee, and a member of the remuneration committee and nomination committee of Huzhou Gas Company Limited (HKSE: 6661). Mr. Chang has been serving as Senior Advisor to CITIC Capital (Holdings) Limited since 2014. Prior to that, Mr. Chang served as a senior corporate executive and board director at several companies listed on the Hong Kong Stock Exchange. He joined CITIC Pacific limited (now known as CITIC Limited) as General Manager, Finance in 1994 and later became the Executive Director and Deputy Managing Director of the company responsible for the Group&#8217;s financial management, accounting, and treasury functions. Mr. Chang also served as the Executive Director and Chief Executive Officer of HKC (Holdings) Limited; Executive Director and Vice Chairman of China Renewable Energy Investment Limited; Alternate Director on the board of Cathay Pacific Airways Limited and Independent Non-Executive Director of Pou Sheng International (Holdings) Limited, among other roles. Mr. Chang started his career after graduating from George Mason University business school in 1984 and joined the New York Office of KPMG. He became a partner of the firm specializing in the financial services industry and served as the Director of the Chinese Practice. Mr. Chang served as a certified public accountant in the State of New York and member of the American Institute of Certified Public Accountants, Chartered Global Management Accountants, and the Hong Kong Institute of Certified Public Accountants.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">98</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Karl E. Olsoni</i> has been serving as an independent director of our company since June 2020 and was a strategic advisor to the Board of Directors between January 2020 and June 2020. Mr. Olsoni has more than 30 years of international energy sector experience. He has served as a director of the SDCL EDGE Acquisition Corporation (NYSE: SEDA), a publicly traded special purpose acquisition company focused on energy efficiency and decentralized energy solutions, since May 2022. He is currently an Operating Partner with Quinbrook Infrastructure Partners, an infrastructure fund manager investing in clean energy infrastructure in the United States, the United Kingdom and Australia. He is also a Partner with the kRoad group of companies which invest in battery storage, waste transformation and e-mobility. He previously served as Managing Director of the Clean Energy and Infrastructure team at Capital Dynamics where he and his partners raised and invested approximately $1 billion in clean energy infrastructure projects. Mr. Olsoni was formerly Chief Financial Officer and Senior Vice President of PPM Energy Inc. (now Iberdrola Renewables/Avangrid), a US-based energy company, and Chief Financial Officer of Koch Materials, Inc., a unit of the Koch Industries, Inc. Before that, he spent 16 years with the Southern Company where, among other things, he was part of the original management team that built the Southern Company&#8217;s independent power and merchant energy business (Southern Energy, Inc., later Mirant, Inc. and NRG Energy, Inc.) into one of the largest independent power producers in the world. Mr. Olsoni holds a Bachelor of Arts degree in Economics from George Washington University and an MBA from the College of William and Mary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Yan Zhuang </i>has been serving as a director of our company since September 2020. He is also the President of CSI Solar, and has been serving as a director of CSI Solar since September 2020. He has served various leadership roles, most recently as our president and chief operating officer, and previously as acting chief executive officer, senior vice president and chief commercial officer, senior vice president of global sales and marketing, and prior to that as our vice president of global sales and marketing. He was an independent director of our company from September 2007 to June 2009. Mr. Zhuang has worked in corporate branding, sales and marketing positions with, or provided consulting services to, a variety of multinational companies for over 20 years. In 2008, he founded and became a director of INS Research and Consulting. Mr. Zhuang was the head of Asia for Hands-on Mobile, Inc., a global media and entertainment company with operations in China, South Korea and India, from 2006 to 2007. He previously served as its senior vice president of business operations and marketing in Asia. Before joining Hands-on Mobile, Inc., he held various marketing and business operation positions with Motorola Inc., including as its Asia Pacific regional director of marketing planning and consumer insight. Mr. Zhuang holds a bachelor&#8217;s degree in electrical engineering from Northern Jiaotong University, China, a Master of Science degree in applied statistics from the University of Alberta, Canada and a Master of Science degree in marketing management from the University of Guelph, Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr.&#160;Huifeng Chang</i> has served as our senior vice president and chief financial officer since May&#160;2016, and as a director of our company since September 2020. Mr. Chang is also an independent director, chair of the nominating committee, and a member of the audit and compensation committees of Scienjoy Holding Corporation (NASDAQ: SJ). He is also an independent director and a member of the audit committee of Denali Capital Acquisition Corp. (NASDAQ: DECAU). He has 19 years of experience in capital markets, financial investment and risk management. Before joining us, Dr.&#160;Chang was the co-head of Sales&#160;&amp; Trading at the U.S.&#160;subsidiary of China International Capital Corp (&#8220;CICC&#8221;) from 2010 to 2015. Prior to that, he was the CEO of CSOP Asset Management based in Hong Kong from early 2008 to 2010, investing funds from China in the international markets. From 2000 to 2008, Dr.&#160;Chang was vice president and an equity proprietary trader at Citigroup Equity Proprietary Investments in New&#160;York. Before going to New&#160;York, Dr.&#160;Chang worked at Kamakura Corp in Hawaii as a risk consultant to banks in Asia. He received a Ph.D. in soil physics and MBA from University of Hawaii in the early 1990s, M.S. degree from Academia Sinica in 1987 and B.S. degree from Nanjing Agricultural University in&#160;1984.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Executive Officer</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr.&#160;Jianyi Zhang</i> joined us at the end of February&#160;2016 as senior vice president and chief legal officer, and was appointed as chief compliance officer in May&#160;2016 and as corporate secretary in November 2019. After graduation from Washington University School of Law, Mr.&#160;Zhang worked at Troutman Sanders&#160;LLP as an associate from June&#160;1993 to September&#160;1994. Thereafter, he formed a law firm Su&#160;&amp; Zhang in Los Angeles, California. He rejoined Troutman Sanders&#160;LLP as an associate in April&#160;1995, became a partner in September of 1999 and worked in that position until December&#160;2001. From January&#160;2002 to June&#160;2005, Mr.&#160;Zhang worked at Walmart Stores,&#160;Inc. first as a senior corporate counsel II and then as senior assistant general counsel. From July&#160;2005 to February&#160;2016, he served, consecutively, as senior advisor to Chinese law firms of Jingtian&#160;&amp; Gongcheng Law Firm, Runbo Law Firm, East Associates Law Firm and East&#160;&amp; Concord Partners in Beijing. Mr.&#160;Jianyi Zhang received his B.A. degree and M.A. degree from the University of Helsinki, Finland in 1982 and 1983, respectively. After graduation from the University of Helsinki in 1983, Mr.&#160;Zhang worked at the Chinese Foreign Ministry until September&#160;1989. Thereafter, he went to study at Washington University School of Law in St.&#160;Louis, Missouri and received his J.D.&#160;degree in&#160;1992.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">99</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Duties of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the OBCA, Canadian Solar Inc.&#8217;s directors are required to manage, or to supervise the management of, the business and affairs of our company. Pursuant to the OBCA, every director and officer of Canadian Solar Inc. in exercising his or her powers and discharging his or her duties to us shall act honestly and in good faith with a view to our best interests and shall exercise the care, diligence and skill that a reasonably prudent person would exercise in comparable circumstances. A shareholder has the right to seek damages if a duty owed by our directors is breached.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The functions and powers of our board of directors include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">convening shareholder meetings and reporting to shareholders at such meetings;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">declaring dividends and authorizing other distributions to shareholders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">appointing officers and determining the term of office of officers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">exercising the borrowing powers of our company and mortgaging the property of our company;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">approving the issuance of shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Every director and officer of Canadian Solar Inc. has a duty to comply with the OBCA and the regulations made thereunder and with our articles and by-laws. No provision in a contract or in the articles or by-laws of Canadian Solar Inc. or a resolution of our board of directors relieves a director or officer from the duty to act in accordance with the OBCA and the regulations made thereunder or relieves him or her from liability for a breach thereof.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, a director will not be liable for breaching his or her duty to act in accordance with the OBCA in certain circumstances if the director exercised the care, diligence and skill that a reasonably prudent person would have exercised in comparable circumstances, including reliance in good faith on:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">financial statements of our company represented to him or her by an officer of our company or in a written report of the auditor of our company to present fairly the financial position of our company in accordance with generally accepted accounting principles;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">an interim or other financial report of our company represented to him or her by an officer of our company to present fairly the financial position of our company in accordance with generally accepted accounting principles;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a report or advice of an officer or employee of our company, where it is reasonable in the circumstances to rely on the report or advice; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a report of a lawyer, accountant, engineer, appraiser or other person whose profession lends credibility to a statement made by any such person.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B &#160; &#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Compensation of Directors and Executive Officers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We paid our directors and executive officers aggregate cash remuneration, including salaries, bonuses and benefits in kind, of approximately $8.2 million for 2022. Of this amount, we paid approximately $0.4 million to our six independent directors and approximately $7.8 million to our executive officers. The total amount set aside or accrued by us and our subsidiaries to provide pension, retirement or similar benefits for our directors and executive officers was approximately $0.1 million in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March&#160;2006, we adopted a share incentive plan, or the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The purpose of the Plan is to promote the success and enhance the value of our company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of our operations is largely dependent.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">100</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of restricted shares, options and restricted share units under the Plan to the sum of (i) 2,330,000 plus (ii) the sum of (a) 1% of the number of our outstanding common shares on the first day of each of 2007, 2008 and 2009 and (b) 2.5% of our outstanding common shares on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten-year period. As a result, the Plan will expire on, and no awards may be granted after June 30, 2029. As of January 31, 2023, the maximum number of common shares which may be issued pursuant to all awards of restricted shares, options and restricted share units under the Plan was 22,160,000 common shares, of which 566,190 restricted shares, 3,283,393 options, and 9,426,026 restricted share units (in each case net of forfeitures) have been awarded, leaving 8,884,391 common shares available to be issued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following describes the principal terms of the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Types of Awards.</i> &#160;We may make the following types of awards under the Plan:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">restricted shares, which are common shares that are subject to certain restrictions and may be subject to risk of forfeiture or&#160;repurchase;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">options, which entitle the holder to purchase our common shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">restricted share units, which entitle the holder to receive our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Plan Administration.</i> &#160;The Compensation Committee of our board of directors administers the Plan, except with respect to awards made to our non-employee directors, where the entire board of directors administers the Plan. The Compensation Committee or the full board of directors, as appropriate, determines the provisions, terms, and conditions of each&#160;award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Award Agreement.</i> &#160;Awards are evidenced by an award agreement that sets forth the terms, conditions and limitations for each&#160;award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Eligibility.</i> &#160;We may grant awards to employees, directors and consultants of our company or any of our related entities, which include our subsidiaries and any entities in which we hold a substantial ownership interest. We may, however, grant options that are intended to qualify as incentive share options only to our&#160;employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Acceleration of Awards upon Corporate Transactions.</i> &#160;Outstanding awards will accelerate upon a change-of-control where the successor entity does not assume our outstanding awards. In such event, each outstanding award will become fully vested and immediately exercisable, the transfer restrictions on the awards will be released and the repurchase or forfeiture rights will terminate immediately before the date of the change-of-control transaction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Exercise Price and Term of Options.</i> &#160;In general, the Compensation Committee determines the exercise price of an option and sets out the price in the award agreement. The exercise price may be a fixed or variable price related to the fair market value of our common shares. If we grant an incentive share option to an employee who, at the time of that grant, owns shares representing more than 10% of the voting power of all classes of our share capital, the exercise price cannot be less than 110% of the fair market value of our common shares on the date of that grant and the share option is exercisable for no more than five years from the date of that&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The term of an award may not exceed ten years from the date of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Vesting Schedule.</i> &#160;In general, the Compensation Committee determines the vesting schedule.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">101</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Shares</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table summarizes, as of January 31, 2023, the restricted shares that we had granted under the Plan to our employees and certain individuals as a group. We have not granted any restricted shares to our directors and executive officers. The restricted shares granted in May 2006 vested over a two-year period beginning in March 2006. The vesting periods for all other restricted shares are indicated in the notes below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Twelve individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 330,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 330,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hanbing Zhang<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July&#160;28, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">One individual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">One individual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">June&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:60.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Restricted Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The wife of Dr. Shawn Qu.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest on accelerated termination.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a two-year period from the date of grant.</span></td></tr></table><div style="margin-top:12pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">102</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following table summarizes, as of January 31, 2023, the options that we had granted under the Plan to our directors and certain other individuals. The options granted to our independent directors vest immediately. Unless otherwise noted, all other options granted vest over a four-year period (one-quarter on each anniversary date) from the date of grant, and exercise prices are equal to the average of the trading prices of the common shares for the five trading days preceding the date of grant.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:20.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($&#160;per</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercised</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</b></p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March&#160;12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Harry E. Ruda</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.31</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;14, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.03</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;11, 2012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;7, 2013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">September&#160;24, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June&#160;26, 2008</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;23, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Directors as a Group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 286,547</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 244,468</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 23,300</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 18,779</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Employees:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Hanbing Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">July 28, 2006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March 12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 27, 2010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May&#160;20, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,369,731</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,948,034</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,421,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">2.12 to 46.28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various dates from May 30, 2006 to June 7, 2013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various dates from May 29, 2016 to June 6, 2023 </p></td></tr><tr><td style="vertical-align:bottom;width:20.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Total Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 4,728,390</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,257,102</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,444,997</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 26,291</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest immediately upon the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Exercise price equal to the average of the trading prices of the common shares for the 20&#160;trading days preceding the date of&#160;grant.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">103</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Share Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes, as of January 31, 2023, the restricted share units that we had granted under the Plan to our directors, executive officers and certain other individuals.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 8, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,706</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,706</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 75,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 75,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March 16, 2012</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March 9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,951</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,951</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">November 6, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77,289</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77,289</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">November 5, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,018</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,018</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 83,805</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 83,805</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">November 10, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,690</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,691</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,691</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">November 9, 2019</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,874</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,981</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">December 30, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 250,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,845</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,923</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,923</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,499</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,949</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,987</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 130,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 8, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,045</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,045</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March 16, 2012</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March 9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,988</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,988</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,845</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,874</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,981</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 130,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">104</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Harry E. Ruda</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew (Luen Cheung) Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 7, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2018</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">105</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lap Tat Arthur Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 559</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 559</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March 8, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lauren C. Templeton</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Karl E. Olsoni</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,412</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,587</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">106</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leslie Li Hsien Chang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 908</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 588</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 693</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 883</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 969</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 843</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 942</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 989</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Directors as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,714,531</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 943,603</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;">&#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Executive Officer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jianyi Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,934</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,934</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,845</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,499</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,949</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,987</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 120,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;"> </b>&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Executive Officer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 223,623</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 81,576</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;">&#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">107</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:48.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:48.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hanbing Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">1,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,538</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;8, 2011</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5,482</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,482</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;20, 2011</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">21,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March&#160;16, 2012</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">18,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">March&#160;9, 2013</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">2,796</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;4, 2014</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">2,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,344</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;3, 2015</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,717</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">5,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,275</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;17, 2017</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">4,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,204</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">3,661</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,746</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,249</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,624</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">May 23, 2020</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,975</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">August 22, 2020</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">September 22, 2020</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,766,263</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(5)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,155,111</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,783,919</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">Various dates from May 8, 2011 to October 1, 2021</p></td></tr><tr><td style="vertical-align:top;width:48.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 422,867</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(7)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,198</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,368</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:15.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">Various dates from March 13, 2022 to November 16, 2022</p></td></tr><tr><td style="vertical-align:top;width:48.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Restricted Share Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 11,226,313</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 6,253,995</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,800,287</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a one-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over a four-year period from the date of grant, except the August 22, 2020 grants which vest over a four-year period from May 1, 2021. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest over an eight-quarter period from date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest immediately upon the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(5)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">13,844 restricted share units granted on May 8, 2011 vested over one-year period from the date of grant. 126,036 restricted share units granted on August 11, 2013 vested immediately upon the date of grant. Vesting of 1,326,000 restricted share units granted on June 2, 2021 is contingent on the successful carve-out IPO of CSI Solar Co., Ltd (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO). The other restricted share units granted vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(6)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vesting contingent on the successful carve-out IPO of CSI Solar Co., Ltd (50% vesting on the IPO date, then 25% vesting each on the first and second anniversaries of the IPO).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(7)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vesting of 205,000 restricted share units granted on October 25, 2022 is contingent on certain performance condition (50% vesting on achieving the performance condition, then 25% vesting each on the first and second anniversaries of the achievement). The other restricted share units granted vest over a four-year period from the date of grant.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We grant each of our independent directors restricted share units quarterly in advance on the first day of July, October, January and April in each year of service. The number of restricted share units granted quarterly is determined by dividing $30,000 by the average of the closing price of our common shares on each of the five trading days preceding the date of the grant. Each restricted share unit will entitle those directors to receive one of our common shares upon vesting. These restricted share units vest on the earlier of the date that the director ceases to be a member of our board of directors for any reason and three years after the grant date. We agree to issue common shares to those directors as soon as practicable, and in any event within 60 days, after the granted restricted share units vested.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Deferred Compensation Plans </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In 2021, we adopted two nonqualified deferred compensation plans for eligible employees, one plan for Global Energy business and the other for CSI Solar. The plans provide eligible employees and directors with an opportunity to defer a portion of their compensation to be held by us under two separate grantor trusts. Assets of the plans are held by an independent trustee for the sole </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">108</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">benefit of the participating employees. The amount of nil and $0.7 million was contributed to the trustee in 2021 and 2022, respectively, and the plans are not subject to the requirements of Employee Retirement Income Security Act of 1974 (ERISA). &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C &#160; &#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Board Practices</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our board of directors held five (5) meetings and passed thirty two (32) resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Terms of Directors and Executive Officers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our officers are appointed by and serve at the discretion of our board of directors. Our current directors have not been elected to serve for a specific term and, unless re-elected, hold office until the close of our next annual meeting of shareholders or until such time as their successors are elected or&#160;appointed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Board Diversity </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;background:#ffffff;"><tr style="height:1pt;"><td style="vertical-align:middle;width:46.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:11.63%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td><td style="vertical-align:middle;width:18.44%;margin:0pt;padding:0pt 5.15pt 0pt 5.15pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"></div></div></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Board Diversity Matrix (As of February 28, 2023)</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Country of Principal Executive Offices:</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Canada</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Foreign Private Issuer</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">Yes</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Disclosure Prohibited Under Home Country Law</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">No</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Total Number of Directors</p></td><td colspan="4" style="vertical-align:middle;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">9</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Female</b></p></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Male</b></p></td><td style="vertical-align:middle;width:11.63%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-Binary</b></p></td><td style="vertical-align:middle;width:18.44%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;"><b style="font-weight:bold;">Did Not Disclose Gender</b></p></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Part I: Gender Identity</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Directors</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">1</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">7</p></td><td style="vertical-align:top;width:11.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">0</p></td><td style="vertical-align:top;width:18.44%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">1</p></td></tr><tr style="height:17.95pt;"><td colspan="5" style="vertical-align:middle;width:100%;background:#d9d9d9;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;"><b style="font-weight:bold;">Part II: Demographic Background</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Underrepresented Individual in Home Country Jurisdiction</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">7</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">LGBTQ+</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">0</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.63%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;margin:0pt;">Did Not Disclose Demographic Background</p></td><td colspan="4" style="vertical-align:top;width:53.36%;background:#ffffff;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt 4.77pt 0pt 4.77pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.27;text-align:center;margin:0pt;">2</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Committees of the Board of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our board of directors has established an audit committee, a compensation committee, a nominating and corporate governance committee, a technology committee and a sustainability committee. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Audit Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our audit committee consists of Messrs. Lap Tat Arthur Wong, Olsoni and Dr. Ruda and is chaired by Mr. Lap Tat Arthur Wong. Mr. Lap Tat Arthur Wong qualifies as an &#8220;audit committee financial expert&#8221; as required by the SEC. Each of Messrs. Olsoni and Dr. Ruda is &#8220;financially literate&#8221; as required by the Nasdaq rules. Each of the members of our audit committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The audit committee oversees our accounting and financial reporting processes and the audits of the financial statements of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The audit committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">selecting our independent auditors and pre-approving all auditing and non-auditing services permitted to be performed by our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing with our independent auditors any audit problems or difficulties and management&#8217;s responses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving all proposed related-party transactions, as defined in Item&#160;404 of Regulation&#160;S-K under the Securities&#160;Act;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">109</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">discussing the annual audited financial statements with management and our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing major issues as to the adequacy of our internal controls and any special audit steps adopted in light of material control deficiencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">annually reviewing and reassessing the adequacy of our audit committee charter;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">such other matters that are specifically delegated to our audit committee by our board of directors from time to&#160;time;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">meeting separately and periodically with management and our internal and independent auditors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reporting regularly to the full board of directors.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our audit committee held eleven (11) meetings and passed one (1) resolution by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Compensation Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our compensation committee consists of Messrs. Ruda, Andrew (Luen Cheung) Wong and Ms. Templeton and is chaired by Mr.&#160;Andrew (Luen Cheung) Wong. Each of the members of our compensation committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The compensation committee assists the board in reviewing and approving the compensation structure for our directors and executive officers, including all forms of compensation to be provided to our directors and executive officers. Members of the compensation committee are not prohibited from direct involvement in determining their own compensation. Our chief executive officer may not be present at any committee meeting during which his compensation is deliberated. The compensation committee is responsible for, among other&#160;things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving corporate goals and objectives relevant to the compensation of our chief executive officer, evaluating the performance of our chief executive officer in light of those goals and objectives, and setting the compensation level of our chief executive officer based on this evaluation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing and approving the compensation arrangements for our other executive officers and our directors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overseeing and periodically reviewing the operation of our employee benefits plans, including bonus, incentive compensation, stock option, pension and welfare&#160;plans.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our compensation committee held five (5) meetings and did not pass any resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Nominating and Corporate Governance Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our nominating and corporate governance committee consists of Messrs. Andrew (Luen Cheung) Wong, Lap Tat Arthur Wong, Leslie Li Hsien Chang and Ms. Templeton and is chaired by Ms. Templeton. Each of the members of our nominating and corporate governance committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The nominating and corporate governance committee assists the board of directors in identifying individuals qualified to become our directors and in determining the composition of the board and its committees. The nominating and corporate governance committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">identifying and recommending to the board nominees for election or re-election to the board, or for appointment to fill any&#160;vacancy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing annually with the board the current composition of the board in light of the characteristics of independence, age, skills, experience and availability of service to&#160;us;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">identifying and recommending to the board the directors to serve as members of the board&#8217;s committees;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">advising the board periodically with respect to significant developments in the law and practice of corporate governance as well as our compliance with applicable laws and regulations, and making recommendations to the board on all matters of corporate governance and on any corrective action to be taken;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring compliance with our code of business conduct and ethics, including reviewing the adequacy and effectiveness of our procedures to ensure proper compliance.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our nominating and corporate governance committee held twelve (12) meetings and passed one (1) resolution by unanimous written consent. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">110</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Technology Committee</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our technology committee consists of Dr. Harry E. Ruda and Dr. Shawn Qu and is chaired by Dr. Ruda. The technology committee advises and assists the board of directors and management on matters relating to technology and technological innovation and development as it relates to our solar power business. The technology committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and management regarding the quality, scope, direction and effectiveness of our research and development programs and&#160;activities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and management regarding our progress in achieving our research and development goals and&#160;objectives;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and making recommendations to the board of directors and management on our internal and external investments in science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring, identifying, evaluating and advising the board of directors and management regarding competing solar power technologies and new and emerging developments in solar power science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing, evaluating and advising the board of directors and our chief executive officer regarding the composition and quality of the research and development team;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">providing general oversight of matters relating to the protection of our intellectual property.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our technology committee held two (2) meetings and did not pass any resolutions by unanimous written consent. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Sustainability Committee</i><i style="font-style:italic;"> </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We established a sustainability committee at the board level in April 2021. Our sustainability committee consists of Messrs. Olsoni, Leslie Li Hsien Chang and Dr. Huifeng Chang and is chaired by Mr. Olsoni. The sustainability committee oversees management&#8217;s ESG plans. The sustainability committee is responsible for, among other things: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing sustainability-related risks and opportunities associated with our strategy and business development;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">reviewing climate-related risks and opportunities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">monitoring progress and advising on strategic measures related to the long-term sustainability of the firm; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">overseeing the progress and execution of our ESG plans; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">meeting on a biannual basis to review&#8217; our ESG plans;</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, our sustainability committee held two (2) meetings and did not pass any resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interested Transactions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The OBCA contains provisions that relate to a scenario where a director or officer of Canadian Solar Inc. is a party to a material contract or transaction or proposed material contract or transaction with our company, or is a director or an officer of, or has a material interest in, any person who is a party to a material contract or transaction or proposed material contract or transaction with our company, as summarized below.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">111</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A director or officer of Canadian Solar Inc. who is a party to a material contract or transaction or proposed material contract or transaction with our company, or is a director or an officer of, or has a material interest in, any person who is a party to a material contract or transaction or proposed material contract or transaction with our company, shall disclose in writing to Canadian Solar Inc. or request to have entered in the minutes of meetings of directors the nature and extent of his or her interest. In the case of a director, such disclosure shall be made (a) at the meeting at which a proposed contract or transaction is first considered; (b) if the director was not then interested in a proposed contract or transaction, at the first meeting after he or she becomes so interested; (c) if the director becomes interested after a contract is made or a transaction is entered into, at the first meeting after he or she becomes so interested; or (d) if a person who is interested in a contract or transaction later becomes a director, at the first meeting after he or she becomes a director. In the case of an officer who is not a director, such disclosure shall be made (a) forthwith after the officer becomes aware that the contract or transaction or proposed contract or transaction is to be considered or has been considered at a meeting of directors; (b) if the officer becomes interested after a contract is made or a transaction is entered into, forthwith after he or she becomes so interested; or (c) if a person who is interested in a contract or transaction later becomes an officer, forthwith after he or she becomes an officer. Where a director or officer of Canadian Solar Inc. is required to make such disclosure in respect of a material contract or transaction or proposed material contract or transaction that, in the ordinary course of our business, would not require approval by the directors or shareholders, the director or officer shall disclose in writing to Canadian Solar Inc. or request to have entered in the minutes of meetings of directors the nature and extent of his or her interest forthwith after the director or officer becomes aware of the contract or transaction or proposed contract or transaction. A general notice to the directors by a director or officer disclosing that he or she is a director or officer of or has a material interest in a person, or that there has been a material change in the director&#8217;s or officer&#8217;s interest in the person, and is to be regarded as interested in any contract made or any transaction entered into with that person, is sufficient disclosure of interest in relation to any such contract or transaction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A director who is required to make such disclosure in respect of a material contract or transaction or proposed material contract or transaction shall not attend any part of a meeting of directors during which the contract or transaction is discussed and shall not vote on any resolution to approve the contract or transaction unless the contract or transaction is (a) one relating primarily to his or her remuneration as a director of our company or an affiliate; (b) one for indemnity or insurance under the OBCA; or (c) one with an affiliate of our company. If no quorum exists for the purpose of voting on a resolution to approve a contract or transaction only because a director is not permitted to be present at the meeting for such reason, the remaining directors shall be deemed to constitute a quorum for the purposes of voting on the resolution. Where all of the directors are required to make such disclosure in respect of a material contract or transaction or proposed material contract or transaction, the contract or transaction may be approved only by the shareholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Where a material contract is made or a material transaction is entered into between our company and a director or officer of Canadian Solar Inc., or between our company and another person of which a director or officer of Canadian Solar Inc. is a director or officer or in which he or she has a material interest, (a) the director or officer is not accountable to our company or our shareholders for any profit or gain realized from the contract or transaction; and (b) the contract or transaction is neither void nor voidable, by reason only of that relationship or by reason only that the director is present at or is counted to determine the presence of a quorum at the meeting of directors that authorized the contract or transaction, if the director or officer disclosed his or her interest in accordance with the OBCA, and the contract or transaction was reasonable and fair to our company at the time it was so approved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A director or officer, acting honestly and in good faith, is not accountable to our company or to our shareholders for any profit or gain realized from any such contract or transaction by reason only of his or her holding the office of director or officer, and the contract or transaction, if it was reasonable and fair to our company at the time it was approved, is not by reason only of the director&#8217;s or officer&#8217;s interest therein void or voidable, where, (a) the contract or transaction is confirmed or approved by special resolution at a meeting of the shareholders duly called for that purpose; and the nature and extent of the director&#8217;s or officer&#8217;s interest in the contract or transaction are disclosed in reasonable detail in the notice calling the meeting or in the information circular required by the OBCA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to those exceptions, where a director or officer of Canadian Solar Inc. fails to disclose his or her interest in a material contract or transaction in accordance with the OBCA or otherwise fails to comply with the relevant provisions of the OBCA, Canadian Solar Inc. or a shareholder of Canadian Solar Inc. may apply to the court for an order setting aside the contract or transaction and directing that the director or officer account to Canadian Solar Inc. for any profit or gain realized and upon such application the court may so order or make such other order as it thinks fit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2022, we did not enter into any interested transactions other than those described in this &#8220;Item 6. Directors, Senior Management and Employees&#8221; and &#8220;Item 7. Major Shareholders and Related Party Transactions&#8212;B. Related Party Transactions.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Remuneration and Borrowing</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our directors may determine the remuneration to be paid to them. The compensation committee will assist the directors in reviewing and approving the compensation structure for our directors. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">112</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Pursuant to the OBCA, Canadian Solar Inc.&#8217;s articles are deemed to state that our directors may, without authorization of the shareholders, (a) borrow money upon the credit of the corporation; (b) issue, reissue, sell or pledge debt obligations of the corporation; (c) give a guarantee on behalf of the corporation to secure performance of an obligation of any person; and (d) mortgage, hypothecate, pledge or otherwise create a security interest in all or any property of the corporation, owned or subsequently acquired, to secure any obligation of the corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Qualification</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Each of our independent directors is asked to hold common shares and/or restricted share units having a value which is at least five times the director&#8217;s annual cash retainer and to satisfy this requirement before three years after he or she becomes a director.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into employment agreements with each of our executive officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the employment agreements with our executive officers are for an indefinite term. Under the employment agreements, we may terminate the employment of an executive officer at any time by giving written notice of termination to the executive officer. An executive officer may terminate his employment at any time by giving 30 days&#8217; written notice of termination to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases other than within 12 months after a change of control, (a) the unvested RSUs held by the executive officer immediately before the date of termination of the employment that would otherwise vest within 12 months after the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive his target bonus for the year in which the date of termination of the employment occurs; and (c) the executive officer is entitled to continue to receive his base salary and benefits for a period of six plus N months following the date of termination of the employment provided that he continues to comply with his confidentiality, inventions, non-competition, non-solicitation and assistance obligations described below. &#8220;N&#8221; is the number of years (including part years) that the executive officer was employed by us and our subsidiaries during the period beginning on January 1, 2007 and ending on the date of termination of the Employment but not exceeding 12.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases within 12 months after a change of control, (a) all unvested RSUs held by the executive officer immediately before the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive an lump sum amount equal to the sum of: (1) his target bonus for the year in which the date of termination of the employment occurs, (2) his annual base salary and (3) the estimated annual cost of his providing his benefits multiplied by a fraction, the numerator of which is 12 plus N and the denominator of which is 12.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Each executive officer has agreed: (a) not to disclose or use any of our confidential information, including trade secrets and information concerning our finances, employees, technology, processes, facilities, products, suppliers, customers and markets, except in the performance of his duties and responsibilities or as required pursuant to applicable law; (b) to disclose in confidence to us all inventions, designs and trade secrets which he may conceive, develop or reduce to practice during his employment and to assign all right, title and interest in them to us; (c) during and within one year after the termination of his employment, (1) not to communicate or have any other dealings with our customers or suppliers that would be likely to harm the business relationship between us and our suppliers; (2) not to provide services, whether as a director, officer, employee, independent contractor or otherwise, to a competitor; and (3) not to solicit, whether by offer of employment or otherwise, the services of any of our employees; and (d) at our request, to answer our requests for information about those aspects of our business and affairs in which he was involved and assist us in prosecuting or defending claims or responding to investigations or reviews by any regulatory authority or stock exchange in relation to events or occurrences that took place during the employment. &#8220;Competitor&#8221; is a person that, directly or indirectly, carries on business in any jurisdiction where we and our subsidiaries carry on business if that person or any subsidiary or division of that person generates more than 10% of its revenues from solar power products and services similar to those provided by the us and our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our compensation committee is required to approve the employment agreements entered into by us with our executive officers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Director Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into director agreements with our independent directors, pursuant to which we make payments in the form of an annual cash retainer, payable quarterly, and quarterly grants of restricted share units to our independent directors for their services. See &#8220;&#8212;B. Compensation of Directors and Executive Officers.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">113</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnification of Directors and Officers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The OBCA contains provisions that relate to indemnification by Canadian Solar Inc. in favor of an individual who is a present or former director or officer or an individual who acts or has acted at our request as a director or officer, or an individual acting in a similar capacity, of another entity, as summarized below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. may indemnify any individual who is a present or former director or officer or an individual who acts or has acted at our request as a director or officer, or an individual acting in a similar capacity, of another entity, against all costs, charges and expenses, including an amount paid to settle an action or satisfy a judgment, reasonably incurred by the individual in respect of any civil, criminal, administrative, investigative or other proceeding in which the individual is involved because of that association with us or other entity. Canadian Solar Inc. may advance money to such an individual for such costs, charges and expenses of a proceeding, but the individual shall repay the money and Canadian Solar Inc. shall not indemnify any such individual unless the individual acted honestly and in good faith with a view to our best interests or, as the case may be, to the best interests of the other entity for which the individual acted as a director or officer or in a similar capacity at our request. In addition, if the matter is a criminal or administrative action or proceeding that is enforced by a monetary penalty, Canadian Solar Inc. shall not indemnify such an individual under the OBCA unless the individual had reasonable grounds for believing that the individual&#8217;s conduct was lawful.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. may, with the approval of a court, indemnify such an individual, or advance moneys to such an individual, in respect of an action by or on behalf of Canadian Solar Inc. or other entity to obtain a judgment in its favor, to which the individual is made a party because of the individual&#8217;s association with Canadian Solar Inc. or other entity, against all costs, charges and expenses reasonably incurred by the individual in connection with such action, if the individual acted honestly and in good faith with a view to our best interests or, as the case may be, to the best interests of the other entity for which the individual acted as a director or officer or in a similar capacity at our request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any such individual is entitled to indemnity from Canadian Solar Inc. in respect of all costs, charges and expenses reasonably incurred by the individual in connection with the defence of any civil, criminal, administrative, investigative or other proceeding to which the individual is subject because of the individual&#8217;s association with Canadian Solar Inc. or other entity, if the individual seeking an indemnity (a) was not judged by a court or other competent authority to have committed any fault or omitted to do anything that the individual ought to have done; (b) acted honestly and in good faith with a view to our best interests or, as the case may be, to the best interests of the other entity for which the individual acted as a director or officer or in a similar capacity at our request, and (c) if the matter is a criminal or administrative action or proceeding that is enforced by a monetary penalty, the individual had reasonable grounds for believing that the individual&#8217;s conduct was lawful.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under Canadian Solar Inc.&#8217;s by-laws, Canadian Solar Inc. shall indemnify our directors and officers and former directors and officers and such other individual who acts or acted at our request as a director or officer, or in a similar capacity, of another entity, to the greatest extent permitted by law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into indemnity agreements with each of our directors agreeing to indemnify them, to the fullest extent permitted by law, against all liability, loss, harm damage cost or expense, reasonably incurred by the director in respect of any threatened, pending, ongoing or completed claim or civil, criminal, administrative, investigative or other action or proceeding made or commenced against him or in which he is or was involved by reason of the fact that he is or was a director of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our directors and officers are covered by directors&#8217; and officers&#8217; insurance policies.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Employees</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As of December 31, 2020, 2021 and 2022, we had 12,774, 13,535 and 18,423 full-time employees, respectively. The following table sets forth the number of our employees categorized by our areas of operations and as a percentage of our workforce as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As&#160;of&#160;December&#160;31,&#160;2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Employees</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage&#160;of&#160;Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Manufacturing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,031</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 87</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,089</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 223</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,080</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,423</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">114</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had 15,560 employees at our facilities in China, and 2,863 employees based in our facilities and offices in Canada, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Israel, Thailand, Vietnam, Brazil, United Arab Emirates, South Africa, the Americas and the EU (which includes Germany, Italy, Netherlands, Poland and Spain) and the U.K. &#160;Our employees are not covered by any collective bargaining agreement. We consider our relations with our employees to be good. From time to time, we also employ or engage part-time employees or independent contractors to support our manufacturing, research and development and sales and marketing activities. We plan to hire additional employees as we expand.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our culture has always been to put people first and treat everyone with dignity. We promote equity, diversity, and inclusion, as we believe a diverse workforce will enrich the human capital of our organization. Best practices are implemented locally in keeping with our global strategies across our operating operations, from manufacturing to sales and project development. We promote equity, diversity, and inclusion in all human capital management areas. Refer to &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Environmental, Social and Governance Initiatives&#8221; for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Continuous learning is the cornerstone of our human capital development strategy. Employees across all functions and levels of us are offered participation in the Canadian Solar education courses and programs, which is designed to support their career development through an extensive suite of resources including classroom training, e-learning, coaching, mentoring and on-the-job training. We partner with professional consultants such as Development Dimensions International (&#8220;DDI&#8221;) for establishing leadership standards and creating tailor-made development programs. &#160; </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Training programs for junior positions are focused on developing technical and professional skills, including but not limited to areas such as project development, permitting, asset management, financing, sales management, order management and operations, supply chain management, marketing, technical services and support. This is complemented by specific training sessions designed to develop soft skills and nurture a culture of continuous self and mutual learning.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For more senior-level employees, our in-house training program is more targeted on developing leadership and managerial skills. The Leadership Foundation Program focuses on executive strategy, effective decision-making, coaching for peak performance, delegation, and other leadership skills. Global workshops on key business topics such as PPA and storage are organized to help our leaders continue to learn. We also selectively sponsor key talents to attend top MBA programs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We regularly carry out global succession planning reviews to identify the high-potential talents and follow up with individual development plans for them. As demand for solar grows, our succession planning calls for a robust leadership development program. Initiatives such as the Business Leader Development Program, where we partner with prestigious universities to provide online lectures, webinars, and project assignments, meet this need by providing training and development opportunities for all different levels of leadership. We also have a Middle Manager Development Program and a Frontline Leadership Program, where we partner with Franklin Covey to deliver leadership, individual effectiveness, and business execution training to our business leaders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We strive to create a culture of openness and transparency which values and promotes two-way communication between management and team members. Feedback is both encouraged and appreciated, as we consider it a key driver for employee engagement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We consider the turnover rate a valuable metric to measure the effectiveness of our programs and to assist in developing new programs. Our employee turnover for 2021 and 2022 was 18% and 14%, respectively. We believe the combination of training and development programs, regular performance reviews, competitive compensation, redesign of our company culture to better inspire employees, and career growth and development opportunities have helped reduce voluntary turnover.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Share Ownership</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following table sets forth information with respect to the beneficial ownership of our common shares as of January 31, 2023, the latest practicable date, by: </p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">each of our directors and executive officers; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">each person known to us to own beneficially more than 5% of our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The calculations in the table below are based on the 64,635,716 common shares outstanding, as of January 31, 2023.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">115</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Beneficial ownership is determined in accordance with the rules and regulations of the SEC. In computing the number of shares beneficially owned by a person and the percentage ownership of that person, we have included shares that the person has the right to acquire within 60 days from January 31, 2023, including through the vesting of any restricted share unit, the exercise of any option, warrant or other right or the conversion of any other security. These shares, however, are not included in the computation of the percentage ownership of any other person. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares&#160;Beneficially</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Owned</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Directors and Executive Officers: </b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,740,090</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Harry E. Ruda <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 29,657</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew (Luen Cheung) Wong <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(5)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,726</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lap Tat Arthur Wong <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(6)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,283</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lauren C. Templeton <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(7)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,242</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Karl E. Olsoni <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(8)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,431</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">All Directors and Executive Officers as a Group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,788,429</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Principal Shareholders:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">BlackRock, Inc. <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(9)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,724,842</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">*&#160;&#160;&#160;&#160;&#160;The person beneficially owns less than 1% of our outstanding shares.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Beneficial ownership is determined in accordance with Rule 13d-3 of the General Rules and Regulations under the Exchange Act, and includes voting or investment power with respect to the securities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The business address of our directors and executive officers is 545 Speedvale Avenue West, Guelph, Ontario, Canada N1K 1E6.</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 13,713,799 common shares directly held by Dr. Shawn Qu and Hanbing Zhang, the wife of Dr. Shawn Qu, and 26,291 common shares issuable upon the exercise of options held by Dr. Shawn Qu and Ms. Zhang.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 27,774 common shares directly held by Dr. Harry E. Ruda and 1,883 shares issuable upon vesting of restricted share units held by Dr. Harry E. Ruda within 60 days from January 31, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(5)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 2,843 common shares directly held by Mr. Andrew (Luen Cheung) Wong and 1,883 shares issuable upon vesting of restricted share units held by Mr. Andrew (Luen Cheung) Wong within 60 days from January 31, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(6)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 6,400 common shares directly held by Mr. Lap Tat Arthur Wong and 1,883 shares issuable upon vesting of restricted share units held by Mr. Lap Tat Arthur Wong within 60 days from January 31, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(7)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 1,359 common shares directly held by Ms. Lauren C. Templeton and 1,883 shares issuable upon vesting of restricted share units held by Ms. Lauren C. Templeton within 60 days from January 31, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(8)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 1,019 common shares directly held by Mr. Karl E. Olsoni and 1,412 shares issuable upon vesting of restricted share units held by Mr. Karl E. Olsoni within 60 days from January 31, 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(9)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 4,724,842 common shares owned by BlackRock, Inc., as reported on Schedule 13G/A filed by BlackRock, Inc. on January 31, 2023. The percentage of beneficial ownership was calculated based on the total number of our common shares as of January 31, 2023. The principal business address of BlackRock, Inc. is 55 East 52nd Street, New York, NY 10055.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">None of our shareholders have different voting rights from other shareholders as of the date of this annual report on Form 20-F. We are currently not aware that we are directly or indirectly owned or controlled by another corporation, by any foreign government or by any other natural or legal person severally or jointly and we are currently not aware of any arrangement that may, at a subsequent date, result in a change of control of our company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">F.</span><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"> </b></span><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disclosure of A Registrant&#8217;s Action to Recover Erroneously Awarded Compensation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">116</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_65cf424b_bef9_49ab_9ac8_e90f8a41b496"></a><a id="ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;7&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Major Shareholders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Please refer to &#8220;Item 6. Directors, Senior Management and Employees&#8212;E. Share Ownership.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Related Party Transactions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Guarantees and Loans</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu did not guarantee loan facilities in 2022 and we do not intend to seek loan guarantees from Dr. Shawn Qu in the future. In 2020 and 2021, respectively, Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks in the amounts of RMB135 million ($20.6 million) and RMB12 million ($1.9 million). No amount was drawn down under the facilities as of December 31, 2020 and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We granted 26,073 restricted share units to Dr. Shawn Qu in 2020 on account of his having guaranteed these loan facilities. No grants on account of his having guaranteed these loan facilities were made in 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales and Purchase Contracts with Affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, 2021 and 2022, we provided asset management service to CSIF, our 14.64% owned affiliate in Japan, in the amount JPY394.5 million ($3.7 million), JPY829.1 million ($7.5 million) and JPY545.1 million ($4.2 million), respectively, and provided O&amp;M service to CSIF in the amount of JPY805.0 million ($7.6 million), JPY981.2 million ($9.2 million) and JPY914.9 million ($7.0 million), respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, we sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $0.1 million, $0.1 million and $0.1 million, respectively. In 2021, we sold modules to these affiliates in the amounts of $0.1 million, $0.1 million and $0.1 million, respectively. In 2020, we sold modules to these affiliates in the amounts of $11.6 million, $10.0 million and $9.4 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, we sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $0.2 million, $0.2 million and $0.2 million, respectively. In 2021, we sold modules to these affiliates in the amounts of $7.2 million, $7.6 million and $8.1 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, we sold modules to Lavras I Solar Renewable Energy S.A, our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $0.2 million. In 2021, we sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $5.7 million, $5.8 million, $6.0 million, $6.2 million and $6.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, we provided battery storage solutions to Sonoran West Solar Holdings, LLC. and Sonoran West Solar Holdings 2, LLC, each our 20% owned affiliate in the United States held through RE Crimson Holdings LLC with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $207.7 million and $159.7 million, respectively. In 2021, we provided battery storage solutions to these affiliates in the amounts of $12.8 million and $7.0 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021 and 2022, we purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., our 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB10.8 million ($1.7 million) and RMB34.8 million ($5.2 million), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, we sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable Energy S.A., each our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $0.8 million, $3.2 million and $3.0 million, respectively. In 2020, we sold modules to these affiliates in the amounts of $6.0 million, $3.7 million and $1.4 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, we sold two and two solar power projects to CSIF in the amount of JPY888.0 million ($8.4 million) and JPY30.6 billion ($282.1 million), respectively, recorded in revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, we purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., our 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB31.4 million ($4.5 million) and RMB19.4 million ($3.0 million), respectively. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">117</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, we provided EPC services to Lavras Solar Holding S.A., our 20% owned affiliate in Brazil, in the amount of BRL5.1 million ($1.0 million).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020, we fully disposed of our ownership of Suzhou iSilver Materials Co., Ltd. for cash and exchange of shares with an unrelated third party. From January 1, 2020 through the date of disposal, we purchased raw materials in the amount of RMB168.0 million ($24.3 million) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In July 2020, we fully disposed of our ownership of Suzhou Kzone Equipment Technology Co., Ltd. for cash to an unrelated third party. From January 1, 2020 through the date of disposal, we purchased raw materials in the amount of RMB7.4 million ($1.0 million) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;C. Board Practices&#8212;Employment Agreements.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share Incentive Plan.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Interests of Experts and Counsel</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_59383ef1_1822_4e62_9ffa_cf15aeb1f4df"></a><a id="ITEM8FINANCIALINFORMATION_288618"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;8&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Consolidated Statements and Other Financial Information</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have appended audited consolidated financial statements filed as part of this annual&#160;report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Legal and Administrative Proceedings</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Inc. and certain of our directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that our financial disclosures during 2009 and early 2010 were false or misleading and in violation of U.S. federal securities laws and Ontario securities laws, respectively. The lawsuits in the U.S. were consolidated into one class action, which was dismissed with prejudice by the district court in March 2013. The dismissal was subsequently affirmed by the circuit court in December 2013. In January 2015, the plaintiff in the class action lawsuit obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the <i style="font-style:italic;">Canadian Business Corporations Act </i>(Canadian Solar Inc&#8217;s governing corporate statute at the time). A settlement of the lawsuit in Canada was achieved and approved by the Ontario Superior Court of Justice on October 30, 2020. The settlement is no admission of liability or wrongdoing by us or any of the other defendants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">U.S. Antidumping, Countervailing Duty and Safeguard Proceedings</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October&#160;17, 2012, the United&#160;States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November&#160;30, 2012, the U.S.&#160;International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S.&#160;CSPV industry. The USITC&#8217;s determination was subsequently affirmed by the U.S.&#160;Court of International Trade, or CIT, and the U.S.&#160;Court of Appeals for the Federal Circuit, or Federal Circuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result of these determinations, we were required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to us were 13.94% (antidumping duty) and 15.24% (countervailing duty). We paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August&#160;7, 2015, the CIT sustained the USITC&#8217;s final determination and on January&#160;22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">118</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July&#160;2015. As a result of these decisions, the duty rates applicable to us were revised to 9.67% (antidumping duty) and 20.94% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s countervailing duty rates, and no change was made to our countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#8217;s antidumping duty rates, and no change was made to our antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to us was reduced to 8.52% (from 9.67%) and then to 3.96% (from 8.52%). Because we were not subject to the second administrative review of the countervailing duty order, our countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#8217;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, our antidumping duty rate was reduced to 0.00% (from 3.96%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the third administrative reviews in June 2017 (antidumping duty) and July 2017 (countervailing duty), and later amended in October 2017. As result of these decisions, the duty rates applicable to us were changed to 13.07% (from 8.52%) (antidumping duty) and 18.16% (from 20.94%) (countervailing duty). The assessed rates were appealed to the CIT. The CIT has twice remanded the antidumping duty appeal to the USDOC to consider adjustments to our rate. Pursuant to CIT&#8217;s remand orders, the USDOC issued a redetermination. The antidumping duty rate applicable to us was reduced to 4.12% (from 13.07%) and then further to 3.19% (from 4.12%). In June 2020, the CIT issued its third opinion sustaining the USDOC&#8217;s remand redetermination. Canadian Solar filed a motion for reconsideration with the CIT advocating for an even lower antidumping duty rate. In September 2020, the CIT granted our motion for reconsideration and remanded to USDOC for further consideration of our antidumping duty rate. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, our antidumping duty rate was reduced to 0.00% (from 3.19)%. There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT has likewise twice remanded the countervailing duty appeal to the USDOC to consider adjustments to our rate. In August 2020, the CIT sustained USDOC&#8217;s second remand redetermination. As a result, our countervailing duty rate was reduced to 7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because we were not subject to the fourth administrative review of the antidumping duty order, our antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to us was reduced to 11.59% (from 18.16%) for the broader Canadian Solar entity and 10.64% (from 18.16%) for Canadian Solar International Limited. The countervailing duty rates were appealed to the CIT. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to our rate. Pursuant to the CIT&#8217;s remand orders, the USDOC made a redetermination that reduced our countervailing duty rate to 5.02% (from 11.59%) for the broader Canadian Solar entity and 4.22% (from 10.64%) for Canadian Solar International Limited. We appealed the CIT decision to the Federal Circuit to contest USDOC&#8217;s continued assessment of a countervailing duty rate related to the alleged electricity subsidy program. In January 2022, the Federal Circuit sustained the CIT&#8217;s decision, and no change was made to our countervailing duty rate. &#160;There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fifth administrative reviews in July 2019 (antidumping duty) and August 2019 (countervailing duty). The antidumping duty rate applicable to us was lowered to 4.06% (from 13.07%). The countervailing duty rate applicable to us was reduced to 9.70% (from 11.59%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but this amendment resulted in no change to our 9.70% rate. The countervailing duty and antidumping duty rates were appealed to the CIT. Pursuant to the CIT&#8217;s remand order in the antidumping appeal, USDOC made a remand redetermination that reduced our antidumping duty rate to 3.30% (from 4.06%). In May 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to our rate. Pursuant to the CIT&#8217;s remand order in the countervailing duty appeal, USDOC made a remand redetermination that reduced our countervailing duty rate to 3.65% (from 9.70%). In May 2022, the CIT sustained USDOC&#8217;s countervailing duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">119</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of 68.93% (from 13.07%). The antidumping duty final results were amended to correct ministerial errors in December 2020 and as a result, the antidumping duty rate applicable to us was raised to 95.50% (from 68.93%). USDOC assessed a countervailing duty rate of 12.67% (from 9.70%). The countervailing duty final results were amended to correct ministerial errors in April 2021 and, as a result, our countervailing duty rate was reduced to 11.97% (from 12.67%). The antidumping duty rates were appealed to the CIT. The CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to our rate. Pursuant to the CIT&#8217;s remand order, the USDOC made a redetermination that reduced our antidumping duty rate to 23.02% (from 95.50%). This decision by the CIT was appealed to the Federal Circuit in March 2023, and we are currently participating in the appeal at the Federal Circuit. &#160;We did not appeal USDOC&#8217;s final results of its sixth administrative review of the countervailing duty order and, therefore, this decision is final and our countervailing duty rate is expected to remain at 11.97%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to us was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#8220;CSIL&#8221;) was raised to 19.28% (from 11.97%). USDOC did not change the rate of 11.97% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both of these companies. We did not appeal USDOC&#8217;s final results of its seventh administrative reviews and, therefore, these decisions are final. Our antidumping duty rate will remain at 0.00% and our countervailing duty rate is expected to remain at 19.28% for CSIL.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the eighth administrative reviews in June 2022 (antidumping duty) and July 2022 (countervailing duty). The USDOC determined that the Canadian Solar entities subject to the eighth antidumping duty administrative review had no shipments during the period of review and therefore, our antidumping duty rate (0.00%) will remain unchanged for our Solar 1 CSPV products. &#160;The antidumping duty final results were amended to correct ministerial errors in August 2022, but this amendment resulted in no change to USDOC&#8217;s no shipment determination with respect to Canadian Solar. USDOC assessed a countervailing duty rate of 15.75% (from 19.28%). The countervailing duty final results were amended to correct ministerial errors in August 2022 and, as a result, our countervailing duty rate was raised to 15.87% (from 15.75%). &#160;We did not appeal USDOC&#8217;s final results of its eighth administrative review of the countervailing duty order and, therefore, this decision is final and our countervailing duty rate is expected to remain at 15.87%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The ninth and tenth antidumping duty and countervailing duty administrative reviews were initiated in February 2022 and February 2023 and are currently underway. The USDOC is currently scheduled to release the final results of the ninth antidumping and countervailing duty administrative reviews in May 2023, subject to potential extensions. We submitted no-shipment certifications in both the ninth and tenth administrative reviews. In its preliminary results, USDOC preliminary determined that we had no shipments and stated its intent to rescind the review for us. Our countervailing duty rate, therefore, is expected to remain the same at 15.87%. USDOC will likely issue preliminary results of the tenth administrative reviews in late 2023 or early 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. We did not participate in USDOC&#8217;s first sunset review. We did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. We were identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">120</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, we are required to pay cash deposits on these CSPV products, the rates of which applicable to our Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced our countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The antidumping cash deposit rate applicable to our Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. We paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because we were not subject to the first administrative reviews of the Solar 2 orders, our duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. Our antidumping duty rates for our Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.</p><a id="_Hlk101845506"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to our Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to us is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We were not subject to the third administrative reviews of the Chinese orders and, therefore, our duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to us was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The rate assessed to us in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, our antidumping duty rates will remain unchanged for our Taiwanese CSPV products. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC did not initiate the sixth administrative reviews of the Solar 2 China antidumping and countervailing duty orders because no parties requested reviews. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The USDOC published the final results of the sixth administrative review of the Taiwan antidumping duty order in March 2022. The USDOC determined that the Canadian Solar entities subject to the sixth administrative review had no shipments during the period of review and therefore, our antidumping duty rates will remain unchanged for our Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders in April 2022. &#160;The countervailing duty review was not initiated with respect to Canadian Solar and therefore, our countervailing duty rates (33.58%) will remain unchanged for our Solar 2 China CSPV products. The USDOC rescinded the seventh administrative review of the Solar 2 Taiwan antidumping duty order in October 2022 and therefore, our antidumping duty rates will remain unchanged for our Solar 2 Taiwan CSPV products. The USDOC initiated the seventh administrative review of the Solar 2 China antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC rescinded the seventh administrative review of the Solar 2 China antidumping duty order in March 2023 with respect to the Canadian Solar entities and therefore, our antidumping duty rates will remain unchanged for our Solar 2 China CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The USDOC initiated the eighth administrative review of the Solar 2 China antidumping duty order in April 2023 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the eighth administrative review in late </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">121</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">2023 or early 2024, subject to potential extensions. The USDOC did not initiate the eighth administrative review of the Solar 2 China countervailing duty order because no parties requested reviews and therefore, our countervailing duty rates (33.58%) will remain unchanged for our Solar 2 China CSPV products. The USDOC initiated the eighth administrative review of the Solar 2 Taiwan antidumping duty order in April 2023, however, the review was not initiated with respect to Canadian Solar and therefore, our antidumping duty rates will remain unchanged for our Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Section&#160;201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May&#160;17, 2017, following receipt of a petition from Suniva,&#160;Inc., which was later joined by SolarWorld Americas,&#160;Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September&#160;22, 2017, the USITC determined that CSPV products are being imported into the United&#160;States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#8217; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#8217;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#8217;s April 2020 withdrawal of the bifacial exclusion before the CIT. On November 17, 2021, the CIT vacated USTR&#8217;s April 2020 withdrawal in <i style="font-style:italic;">Invenergy Renewables LLC v. United States</i>. The CIT&#8217;s judgment holding USTR&#8217;s April 2020 withdrawal of the bifacial exclusion unlawful was not appealed to the Federal Circuit and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, the USITC conducted a midterm review of the safeguard order, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the USTR, the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota (TRQ) on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#8217; production, capacity utilization, and employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The President must consider the USITC&#8217;s views but is not required to follow them or to take any action in the safeguard midterm review. On October 10, 2020, President Trump issued Proclamation 10101 pertaining to the midterm review. Proclamation 10101 authorized the following: (1) the revocation of the bifacial module exclusion effective October 25, 2020; (2) the reduction of the safeguard tariff to 18% <i style="font-style:italic;">ad valorem</i> (as opposed to 15% <i style="font-style:italic;">ad valorem</i> as prescribed in the original safeguard measures) effective February 7, 2021; and (3) the delegation to USTR of the President&#8217;s authority to ask the USITC to assess whether the safeguard measures should be extended. The President decided not to follow the USITC&#8217;s recommendation to increase the TRQ applicable to CSPV cells.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">122</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the issuance of Proclamation 10101, Invenergy and other plaintiffs (AES Distributed Energy, Inc., Clearway Energy Group LLC, EDF Renewables, Inc. (&#8220;EDF&#8221;), the Solar Energy Industries Association (&#8220;SEIA&#8221;)) sought to challenge the Proclamation and filed motions to amend their complaints with the CIT. The CIT ultimately denied plaintiffs&#8217; motions and refused to extend the bifacial module exclusion beyond October 24, 2020 as a consequence of the Proclamation (as opposed to USTR&#8217;s withdrawals). Subsequently, on December 29, 2020, Invenergy and another set of plaintiffs (SEIA, NextEra Energy, Inc., and EDF) commenced new and separate litigation once again challenging Proclamation 10101 in the CIT. This new complaint alleges that the President unlawfully terminated the bifacial module exclusion and revised the safeguard tariff, effective February 7, 2021, to be 18% ad valorem (as opposed to the originally announced 15% ad valorem). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On November 16, 2021, the CIT held in Solar Energy Industries Association et al. v. United States (SEIA) that the President acted outside of his statutory authority in issuing Proclamation 10101, and enjoined the Government from enforcing that proclamation. This judgment had the effect of reinstating the exclusion of bifacial modules from the safeguard tariffs and lowering the fourth year safeguard tariff to 15% ad valorem. On January 14, 2022, the Government filed a notice of appeal of SEIA to the Federal Circuit and the appeal remains ongoing. The Federal Circuit held oral argument on April 3, 2023, and the Federal Circuit&#8217;s decision is expected in mid to late 2023. &#160;In October 2022, Canadian Solar filed an appeal at the U.S. Court of International Trade (&#8220;CIT&#8221;) challenging U.S. Customs and Border Protection&#8217;s erroneous collection of certain Section 201 safeguard duties on bifacial panels pursuant to Proclamation 10101, which the CIT ruled &#8220;null and void&#8221; in SEIA. Canadian Solar&#8217;s appeal is stayed pending resolution of the SEIA appeal at the Federal Circuit</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the USITC conducted an extension investigation of the safeguard measure, in response to petitions by representatives of the domestic industry. In December 2021, the USITC issued its determination and report finding that the safeguard order continues to be necessary to prevent or remedy the serious injury to the domestic industry, and that there is evidence that the domestic industry is making a positive adjustment to import competition. On February 4, 2022, President Biden issued a Proclamation extending the safeguard measure on U.S. imports of CSPV products for four years until February 6, 2026. The extended safeguard measure doubles the volume of the TRQ on imported CSPV cells to 5.0 gigawatts and maintains a tariff on imports of CSPV modules and above-quota CSPV cells, beginning at a rate of 14.75% ad valorem and declining annually by 0.25 percentage points to 14.50% in the sixth year, 14.25% in the seventh year, and 14.0% in the eighth year. The extended safeguard measure excludes bifacial panels. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSPV cells and modules from Canada are no longer subject to the safeguard measure as of February 1, 2022 following the United States and Canada&#8217;s entrance into a memorandum of understanding to resolve a dispute under the U.S.-Mexico-Canada Agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canadian Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (&#8220;CBSA&#8221;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#8220;CITT&#8221;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result, the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon our results of operations because we have module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve our Canadian business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividend Policy</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have never declared or paid any dividends on our common shares, nor do we have any present plan to declare or pay any dividends on our common shares in the foreseeable future. We currently intend to retain our available funds and any future earnings to operate and expand our business.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">123</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our board of directors has complete discretion on whether to pay dividends, subject only to the requirements of the OBCA. Even if our board of directors decides to pay dividends, the form, frequency and amount will depend upon our future operations, earnings, capital requirements, surplus, general financial condition, contractual restrictions, and other factors that our board of directors may deem relevant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Significant Changes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">We have not experienced any significant changes since the date of our audited consolidated financial statements included in this annual report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e45d0988_4926_4023_843a_0b3756eb4c3c"></a><a id="ITEM9THEOFFERANDLISTING_523589"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;9&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">THE OFFER AND LISTING</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Offering and Listing Details</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Plan of Distribution</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Markets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our common shares have been listed on the Nasdaq since November&#160;9, 2006 under the symbol&#160;&#8221;CSIQ.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Selling Shareholders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Dilution</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">F&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Expenses of the Issue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_3fa8209e_3158_45ff_bfc7_500c901de9ef"></a><a id="ITEM10ADDITIONALINFORMATION_800687"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;10&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">ADDITIONAL INFORMATION</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Share Capital</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Articles </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">General</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On July 29, 2022, Canadian Solar Inc. filed articles of continuance to change our jurisdiction from the provincial jurisdiction of the Province of British Columbia to the provincial jurisdiction of the Province of Ontario. As a result, Canadian Solar Inc. is governed by the OBCA, and its affairs are governed by its articles and by-laws. Canadian Solar Inc.&#8217;s Ontario corporation number is 1497760.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following are summaries of certain of the material provisions of Canadian Solar Inc.&#8217;s articles and by-laws and the OBCA. This summary is not intended to be complete and is qualified in its entirety by reference to Canadian Solar Inc.&#8217;s articles, by-laws and the OBCA. The information set forth in Exhibit 2.2 to this Annual Report on Form 20-F is incorporated herein by reference.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Objects and Purposes of Our Company</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Inc.&#8217;s articles and by-laws do not contain any stated objects or purposes and do not place any limitations on the business that we may carry on. &#160;Pursuant to the OBCA, Canadian Solar Inc. has the capacity and the rights, powers and privileges of a natural person, and the capacity to carry on its business, conduct its affairs and exercise its powers in any jurisdiction outside Ontario to the extent that the laws of such jurisdiction permit.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">124</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Voting on Proposals, Arrangements, Contracts or Compensation by Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other than as disclosed in &#8220;Item 6. Directors, Senior Management and Employees&#8212;C. Board Practices&#8212;Interested Transactions&#8221;, neither the OBCA nor our articles or by-laws restrict a director&#8217;s power to (a) vote on a proposal, arrangement or contract in which the director is materially interested or (b) to vote compensation to themselves or any other members of their body in accordance with the OBCA.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Borrowing Powers of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Pursuant to the OBCA, Canadian Solar Inc.&#8217;s articles are deemed to state that our directors may, without authorization of the shareholders, (a) borrow money upon the credit of the corporation; (b) issue, reissue, sell or pledge debt obligations of the corporation; (c) give a guarantee on behalf of the corporation to secure performance of an obligation of any person; and (d) mortgage, hypothecate, pledge or otherwise create a security interest in all or any property of the corporation, owned or subsequently acquired, to secure any obligation of the corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Qualifications of Directors</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc.&#8217;s articles and by-laws do not contain any requirements for qualifications of directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the OBCA, the following persons are disqualified from being a director of Canadian Solar Inc.:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A person who is less than eighteen years of age.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A person who has been found under the </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Substitute Decisions Act, 1992</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> or under the </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Mental Health</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Act</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> to be incapable of managing property or who has been found to be incapable by a court in Canada or elsewhere.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A person who is not an individual.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A person who has the status of bankrupt.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the OBCA, a director of Canadian Solar Inc. ceases to be a director when:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the term of office of the director expires, provided that a director not elected for an expressly stated term ceases to hold office at the close of the first annual meeting of shareholders following his or her election;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the director dies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the director resigns as a director by notice in writing provided to us;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the director is removed from office by an ordinary resolution of our shareholders; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the director becomes disqualified pursuant to the above criteria.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Common Share Rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dividends</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Subject to the prior rights of the holders of the issued preferred shares, if any, the holders of the common shares are entitled to receive dividends declared by our board of directors. Pursuant to the OBCA, the board of directors shall not declare and Canadian Solar Inc. shall not pay a dividend if there are reasonable grounds for believing that (a) Canadian Solar Inc. is, or after the payment, would be unable to pay its liabilities as they become due; or (b) the realizable value of Canadian Solar Inc.&#8217;s assets would thereby be less than the aggregate of its liabilities, and its stated capital of all classes. All holders of common shares will share equally on a per share basis in any dividend declared by the board of directors on the common shares. The dividend entitlement time limit will be fixed by the board of directors at the time any such dividend is declared.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Voting Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The holders of common shares are entitled to receive notice of and to attend and vote at all meetings of our shareholders and each common share confers the right to one vote in person or by proxy at all meetings of our shareholders, except meetings at which the holders of the issued preferred shares, if any, are entitled to vote separately as a class or series. All directors stand for re-election annually.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">125</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Liquidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Subject to the prior rights of the holders of the issued preferred shares, if any, the holders of the common shares are entitled to receive the remaining property of Canadian Solar Inc. in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of Canadian Solar Inc. among the shareholders for the purpose of winding up our affairs, whether voluntary or involuntary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The common shares are not convertible or redeemable and have no preemptive, subscription or conversion rights. In the event of a merger or consolidation, all common shareholders will be entitled to receive the same per share consideration. There are no provisions in our articles discriminating against any existing or prospective shareholder as a result of such shareholder owning a substantial number of our common shares. Our common shares are not subject to liability for further capital calls by our Company. Also, no provisions or rights exist in our articles regarding our common shares in connection with exchange, redemption, retraction, purchase for cancellation, surrender or sinking or purchase funds.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Preferred Share Rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">General</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The preferred shares may include one or more series and, subject to the OBCA, our board of directors may issue one or more series of preferred shares at any time and from time to time. &#160;Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series, including without limitation:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the issue price per share, which may be expressed in a foreign currency, provided that the issue price per share shall not be less than C$1.00 (or its equivalent in a foreign currency at the date of issue) or more than C$100.00 (or its equivalent in a foreign currency at the date of issue);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rate, amount or method of calculation of dividends, including whether such rate, amount or method shall be subject to change or adjustment in the future;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the method of payment of dividends, including whether such dividends shall be cumulative, non-cumulative, partially cumulative, deferred or payable on some other basis;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the date or dates, manner and currency or currencies of payment of dividends;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(e)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the restrictions, if any, on the payments of dividends on any Junior Shares (defined below);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(f)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights and obligations, if any, that we have to redeem or purchase the shares, including the prices and other terms of redemption or purchase;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(g)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the terms of any share purchase plan or sinking or similar fund providing for the purchase or redemption of the shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(h)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights, if any, of the holders of the shares to retract the shares, including the prices and other terms of retraction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(i)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the rights, if any, of the holders of the shares or of us to convert or exchange the shares for other securities of ours or any other entity and the rates and other terms of conversion or exchange;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(j)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the voting rights, if any, attached to the shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(k)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the preferences, if any, of the shares over any Junior Shares with respect to the distribution of our assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up its affairs, whether voluntary or involuntary.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">&#8220;Junior Shares&#8221; means the common shares and any other of our shares ranking junior to the preferred shares with respect to the payment of dividends and with respect to the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up its affairs, whether voluntary or involuntary.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">126</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Voting Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, the holders of our preferred shares shall not be entitled as such to receive notice of, or to attend or vote at, a meeting of our shareholders. Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, on any poll taken at any meeting of the holders of preferred shares, whether as a class or a series or two or more series, each holder of preferred shares entitled to vote at the meeting shall have one one-hundredth of a vote in respect of each C$1.00 (or its equivalent in a foreign currency at the date of issuance) of the issue price for each preferred share held. Except where the rights, privileges, restrictions and conditions attaching to a series of our preferred shares otherwise provide, the formalities to be observed with respect to the giving of notice of, and voting at, any meeting of holders of preferred shares, including without limitation, the quorum therefor, shall be those from time to time prescribed by our by-laws or by standing resolutions of our board of directors with respect to meetings of shareholders.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Creation of Additional Classes and Other Matters</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to the rights, privileges, restrictions and conditions attaching to a series of our preferred shares, we may, without the approval or consent of the holders of the preferred shares voting separately as a class or series, at any time and from time to time:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">create one or more other classes of shares ranking on a parity with the preferred shares with respect to the payment of dividends or the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up our affairs, whether voluntary or involuntary;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">if all dividends on each outstanding series of preferred shares accrued to the most recently preceding date for the payment of dividends on such series shall have been declared and paid or set apart for payment, create one or more other classes of shares ranking superior to the preferred shares with respect to the payment of dividends or the distribution of assets in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up our affairs, whether voluntary or involuntary;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">increase any maximum number of authorized shares of any other class of shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">effect an exchange, reclassification or cancellation of all or part of the preferred shares.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Liquidation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the event of our liquidation, dissolution or winding-up, whether voluntary or involuntary, or in the event of any other distribution of our property or assets among our shareholders for the purpose of winding up our affairs, whether voluntary or involuntary, before any amount shall be paid to, or any property distributed among, the holders of our common shares, the holders of our preferred shares shall be entitled to receive:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount paid up on such shares or such other amount or amounts as have been provided for with respect to such shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the premium, if any, provided for with respect to such shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in the case of shares entitled to cumulative dividends, any unpaid cumulative dividends on such shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in the case of shares entitled to non-cumulative dividends, any declared but unpaid non-cumulative dividends on such shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">After payment of the amounts payable to them, the holders of our preferred shares shall not be entitled to share in any further distribution of our property and assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">No Pre-Emptive Rights</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The holders of our preferred shares shall not be entitled as such to subscribe for, purchase or receive any part of any issue of our securities, now or hereafter authorized, or any rights to acquire the same, otherwise than in accordance with any conversion, exchange or other rights which may from time to time be attached to any series of preferred shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Procedures to Change the Rights of Shareholders</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Other than as disclosed in Item 10. Additional Information&#8212;B. Articles&#8212;&#8220;Preferred Share Rights&#8221;, Canadian Solar Inc.&#8217;s articles and by-laws do not provide for us to be able to change the rights of Canadian Solar Inc.&#8217;s shareholders. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">127</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The OBCA provides for certain avenues for the rights of Canadian Solar Inc.&#8217;s shareholders to be changed including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The directors may, by resolution, make, amend or repeal any by-laws that regulate our business or affairs, which may change the rights of our shareholders. Where the directors make, amend or repeal a by-law, they are required to submit the by-law, amendment or repeal to the shareholders at the next meeting of shareholders, and the shareholders may, by ordinary resolution, confirm, reject or amend the by-law, amendment or repeal. However the by-law, amendment or repeal is effective from the date of the resolution of the directors until it is </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">confirmed, confirmed as amended or rejected by the shareholders or until the date of the meeting of shareholders at which it should have been submitted if it is not so submitted.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Subject to the OBCA, we may from time to time if authorized by a special resolution of our shareholders (i.e., a resolution that is submitted to a special meeting of the shareholders duly called for the purpose of considering the resolution and passed, with or without amendment, at the</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> meeting by at least two-thirds of the votes cast), amend Canadian Solar Inc.&#8217;s articles to add, change or remove any provision that is permitted by the OBCA to be, or that is, set out in its articles, including without limiting the generality of the foregoing, to:</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">change </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">our name;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">add, change or remove any restriction upon the business or businesses that we may carry on or upon the powers that we may exercise;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">add, change or remove any maximum number of shares that we are authorized to issue or any maximum consideration for which any of our shares are authorized to be issued;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">create new classes of shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">change the designation of all or any of its shares, and add, change or remove any rights, privileges, restrictions and conditions, including rights to accrued dividends, in respect of all or any of its shares, whether issued or unissued;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">change the shares of any class or series, whether issued or unissued, into a different number of shares of the same class or series or into the same or a different number of shares of other classes or series;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">divide a class of shares, whether issued or unissued, into series and fix the number of shares in each series and the rights, privileges, restrictions and conditions thereof;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">authorize the directors to divide any class of unissued shares into series and fix the number of shares in each series and the rights, privileges, restrictions and conditions thereof, or to revoke, diminish or enlarge any such authority;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">authorize the directors to change the rights, privileges, restrictions and conditions attached to unissued shares of any series, or to revoke, diminish or enlarge any such authority;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">subject to certain constraints, increase or decrease the number, or minimum or maximum number, of directors; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">add, chang</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">e or remove restrictions on the issue, transfer or ownership of shares of any class or series.</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Where the directors are authorized by the articles to divide any class of unissued shares into series and determine the designation, rights, </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">privileges</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, restrictions and conditions thereof, they may by resolution authorize the amendment of the articles to so provide.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Shareholder Meetings</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Each director holds office until our next annual general meeting or until his or her office is earlier vacated in accordance with the provisions of the OBCA. A director appointed or elected to fill a vacancy on our board also holds office until our next annual general meeting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the OBCA, we must hold an annual meeting of our shareholders at a time and place determined by our board of directors, provided that the meeting must not be held later than 15 months after the preceding annual meeting. Our directors may, whenever they think fit, call a special meeting of our shareholders. A meeting of our shareholders may be held by telephonic or electronic means and a shareholder who, through those means, votes at the meeting or establishes a communications link to the meeting shall be deemed for the purposes of the OBCA to be present at the meeting.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">128</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the purpose of determining shareholders entitled to receive notice of a meeting of shareholders, the directors may fix in advance a date as the record date for such determination of shareholders, but the record date shall not precede by more than 60 days or by less than 30 days the date on which the meeting is to be held. Where no record date is fixed, the record date for the determination of shareholders entitled to receive notice of a meeting of shareholders shall be at the close of business on the day immediately preceding the day on which the notice is given, or if no notice is given, the day on which the meeting is held.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We must send notice of the date, time and location of any meeting of shareholders, in the manner provided in our by-laws and the OBCA, to each shareholder entitled to vote at the meeting and to each director and to our auditor not less than twenty-one days and not more than sixty days before the meeting. A notice of a meeting is not required to be sent to shareholders who were not registered on the records of our transfer agent on the record date, but failure to receive a notice does not deprive a shareholder of the right to vote at the meeting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All business transacted at a special meeting of shareholders and all business transacted at an annual meeting of shareholders, except consideration of the minutes of an earlier meeting, the financial statements and auditor&#8217;s report, election of directors and reappointment of the incumbent auditor, shall be deemed to be special business. Notice of a meeting of shareholders at which special business is to be transacted shall state or be accompanied by a statement of the nature of that business in sufficient detail to permit the shareholder to form a reasoned judgment thereon, and the text of any special resolution or by-law to be submitted to the meeting. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Unless otherwise required by the OBCA or the articles and by-laws of Canadian Solar Inc., (a) all questions proposed for the consideration of the shareholders shall be determined by the majority of the votes cast; (b) the chairman presiding at a meeting of shareholders may, with the consent of the meeting and subject to such conditions as the meeting decides, adjourn the meeting from time to time and from place to place subject to certain limits set out in the OBCA; and (c) the chairman or, in his absence, the present or, in their absence, a director designated by our board of directors shall act as chairman of each meeting of shareholders, but if no such officer is present within thirty minutes after the time appointed by the holding of the meeting, the persons present and entitled to vote at the meeting shall choose one of their number to be chairman of the meeting. &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A shareholder and any other person entitled to attend a meeting of shareholders may in any manner and at any time waive notice of a meeting of shareholders, and attendance of any such person at a meeting of shareholders is a waiver of notice of the meeting, except where such person attends a meeting for the express purpose of objecting to the transaction of any business on the grounds that the meeting is not lawfully called. The only persons entitled to attend a meeting of shareholders shall be those entitled to vote thereat, our auditors and others who, although not entitled to vote, are entitled or required under any provision of the OBCA or the by-laws to be present at the meeting. Other persons may attend a meeting of shareholders only with the consent of the chairman of the meeting or the shareholders present, or deemed to be present, in person or by proxy at the meeting. &#160;Subject to the OBCA, any person entitled to attend a meeting of shareholders may participate in the meeting by means of a telephonic, electronic or other communication facility made available by us that permits all participants to communicate adequately with each other during the meeting. The persons participating in a meeting of shareholders by such means shall be deemed for the purposes of our by-laws to be present at the meeting. If our board of directors or shareholders call a meeting of shareholders pursuant to the OBCA, our board of directors or shareholders, as the case may be, may determine that the meeting shall be held, in accordance with the OBCA, entirely by means of a telephonic, electronic or other communication facility that permits all participants to communicate adequately with each other during the meeting. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A registered holder of shares entitled to vote or a beneficial owner of shares that are entitled to be voted at a meeting of shareholders may, submit to us notice of a proposal; and discuss at the meeting any matter in respect of which the registered holder or beneficial owner would have been entitled to submit a proposal. Subject to certain exceptions set out in the OBCA, where we receive notice of a proposal, (a) if we provide a management information circular, it shall set out the proposal in the management information circular or attach the proposal to that circular; (b) if we do not provide a management information circular, it shall set out the proposal in the notice of meeting for the shareholders&#8217; meeting at which the matter is proposed to be raised or shall attach the proposal to such notice of meeting; and (c) at the request of a person who submits notice of a proposal, we are required to include in the management information circular or the notice of meeting, as the case may be, or shall attach to it, the person&#8217;s statement in support of the proposal and the person&#8217;s name and address. The exceptions include if the notice of the proposal is not submitted to us within certain time restrictions set out in the OBCA, if it clearly appears that the primary purpose of the proposal is to enforce a personal claim or redress a personal grievance against us or our directors, officers or security holders, and if it clearly appears that the proposal does not relate in a significant way to our business or affairs. The proposal and the statement in support of it shall together not exceed 500 words. A proposal may include nominations for the election of directors if the proposal is signed by one or more holders of shares representing in the aggregate not less than five percent of the issued shares or five percent of the issued shares of a class or series of shares entitled to vote at the meeting to which the proposal is to be presented. This description of the provisions of the OBCA relating to shareholder proposals does not purport to be complete. For complete details, refer to the OBCA.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">129</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are required to prepare a list of shareholders entitled to receive notice of a meeting, arranged in alphabetical order and showing the number of shares held by each shareholder, which list shall be prepared, if a record date is fixed, not later than ten days after such record date, or if no record date is fixed, at the close of business on the day immediately preceding the day on which notice is given, or where no notice is given, on the day on which the meeting is held. A shareholder whose name appears on such list is entitled to vote the shares shown opposite the shareholder&#8217;s name at the meeting to which the list relates. A shareholder may examine the list of shareholders during usual business hours at our registered office or at the place where our central securities register is maintained, and at the meeting of shareholders for which the list was prepared.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A quorum for the transaction of business at any meeting of shareholders shall be two or more shareholders present, or deemed to be present, in person or by proxy at the meeting and together holding or representing by proxy shares carrying at least 33 1/3 percent of the votes entitled to be cast at the meeting. If a quorum is present at the opening of a meeting of shareholders, the shareholders present may, unless the by-laws otherwise provide, proceed with the business of the meeting even if a quorum is not present throughout the meeting. If a quorum is not present at the time appointed for a meeting of shareholders, or within such reasonable time thereafter as the shareholders present may determine, the shareholders present may adjourn the meeting to a fixed time and place but may not transact any other business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Each of our common shares entitles the holder thereof to one vote at a meeting of shareholders. Where a body corporate or association is a shareholder, we will recognize any individual authorized by a resolution of the directors or governing body of the body corporate or association to represent it at meetings of our shareholders. Unless the by-laws otherwise provide, where two or more persons hold shares jointly, one of those holders present at a meeting of shareholders may in the absence of the others vote the shares, but if two or more of those persons are present, in person or by proxy, they shall vote as one on the shares jointly held by them.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">At a meeting of shareholders, every motion shall, subject to the provisions of the OBCA, be decided by a show of hands, unless a ballot thereon is required by the chairman of the meeting or is demanded by any shareholder entitled to vote and present, or deemed to be present, in person or by proxy at the meeting. Upon a show of hands, every such person who is entitled to vote shall have one vote. Before or after a show of hands has been taken upon any motion, the chairman may require, or any shareholder entitled to vote and present, or deemed to be present, in person or by proxy at the meeting may demand a ballot thereon. Notwithstanding the foregoing, the vote on any motion may be held, subject to compliance with the OBCA, by means of a telephonic, electronic or other communication facility made available by us for such purpose. Unless a ballot thereon is demanded, a declaration by the chairman of the meeting that the vote upon a motion has been carried or carried by a particular majority or not carried shall be the decision of the shareholders upon the motion and an entry in the minutes of the meeting to the effect that the chairman of the meeting declared the motion to be carried or defeated is, in the absence of evidence to the contrary, proof of that fact without proof of the number or proportion of the votes recorded in favor of or against the motion. A demand for a ballot may be withdrawn at any time before the ballot is taken. If a ballot is required by the chairman of the meeting or is duly demanded by any shareholder entitled to vote and present, or deemed to be present, in person or by proxy at the meeting and the demand is not withdrawn, a ballot upon the motion shall be taken in such manner as the chairman of the meeting shall direct. Unless the OBCA or articles otherwise requires, upon a ballot, each shareholder who is present, or deemed to be present, in person or by proxy at the meeting shall be entitled to one vote for each share in respect of which he or she is entitled to vote at the meeting and the result of the ballot shall be the decision of the shareholders upon the motion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Pursuant to the OBCA, the holders of not less than five percent of the issued shares of Canadian Solar Inc. that carry the right to vote at a meeting sought to be held may requisition the directors to call a meeting of shareholders for the purposes stated in the requisition. Upon receiving such a requisition, unless certain statutory exceptions apply the directors shall call a meeting of shareholders to transact the business stated in the requisition and if they do not do so within twenty-one days after receiving the requisition, any shareholder who signed the requisition may call the meeting. We are obligated to reimburse the shareholders for the expenses reasonably incurred by them in requisitioning, calling and holding the meeting unless the shareholders have not acted in good faith and in the interest of our shareholders generally.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If for any reason it is impracticable to call a meeting of our shareholders in the manner in which meetings of shareholders may be called or to conduct the meeting in the manner prescribed by the articles and by-laws of Canadian Solar Inc. and the OBCA, or if for any other reason the court thinks fit, the court, upon the application of a director or a shareholder entitled to vote at the meeting, may order a meeting to be called, held and conducted in such manner as the court directs and upon such terms as to security for the costs of holding the meeting or otherwise as the court deems fit.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">130</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">A corporation, shareholder or director may apply to the court to determine any controversy with respect to an election or appointment of a director or auditor of the corporation. Upon an application under this section, the court may make any order it thinks fit including, without limiting the generality of the foregoing, (a) an order restraining a director or auditor whose election or appointment is challenged from acting pending determination of the dispute; (b) an order declaring the result of the disputed election or appointment; (c) an order requiring a new election or appointment and including in the order directions for the management of the business and affairs of the corporation until a new election is held or appointment made; and (d) an order determining the voting rights of shareholders and of persons claiming to own shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Limitations on Ownership of Securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Except as provided below, there are no limitations specific to the rights of non-Canadians to hold or vote our shares under the laws of Canada or Ontario, or in our articles or by-laws.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Competition Act</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Limitations on the ability to acquire and hold our shares may be imposed by the <i style="font-style:italic;">Competition Act </i>(Canada). This legislation establishes a pre-merger notification regime for certain types of merger transactions that exceed certain statutory shareholding and financial thresholds. Transactions that are subject to notification cannot be closed until the required materials are filed and the applicable statutory waiting period has expired or been waived by the Commissioner of Competition, or the Commissioner. Further, the <i style="font-style:italic;">Competition Act </i>(Canada) permits the Commissioner to review any acquisition of control over or of a significant interest in us, whether or not it is subject to mandatory notification. This legislation grants the Commissioner jurisdiction, for up to one year, to challenge this type of acquisition before the Canadian Competition Tribunal if it would, or would be likely to, substantially prevent or lessen competition in any market in Canada.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Investment Canada Act</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The <i style="font-style:italic;">Investment Canada Act </i>requires notification and, in certain cases, advance review and approval by the Government of Canada, through the Minister of Innovation, Science and Industry (the &#8220;<b style="font-weight:bold;">Minister</b>&#8221;)<b style="font-weight:bold;">, </b>of an investment to establish a new Canadian business by a non-Canadian or of the acquisition by a non-Canadian of &#8220;control&#8221; of a &#8220;Canadian business&#8221;, all as defined in the Investment Canada Act. Generally, the threshold for advance review and approval will be higher in monetary terms for an investor who is controlled in a country that is a member of the World Trade Organization and who is not a state-owned enterprise. The <i style="font-style:italic;">Investment Canada Act </i>generally prohibits the implementation of such a reviewable transaction unless, after review, the Minister is satisfied that the investment is likely to be of net benefit to Canada. The <i style="font-style:italic;">Investment Canada Act </i>contains various rules to determine if there has been an acquisition of control. For example, for purposes of determining whether an investor has acquired control of a corporation by acquiring shares, the following general rules apply, subject to certain exceptions: (1) the acquisition of a majority of the voting shares of a corporation is deemed to be acquisition of control of that corporation; (2) the acquisition of less than a majority but one-third or more of the voting shares of a corporation is presumed to be an acquisition of control of that corporation unless it can be established that, on the acquisition, the corporation is not controlled in fact by the acquiror through the ownership of voting shares; and (3) the acquisition of less than one-third of the voting shares of a corporation is deemed not to be acquisition of control of that corporation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">In addition, under the <i style="font-style:italic;">Investment Canada Act</i>, &#8220;national security&#8221; review on a discretionary basis may also be undertaken by the federal Canadian government in respect of a much broader range of investments by a non-Canadian to &#8220;acquire, in whole or in part, or to establish an entity carrying on all or any part of its operations in Canada&#8221;, with the relevant test being whether the Minister has &#8220;reasonable grounds to believe that an investment by a non-Canadian could be injurious to national security.&#8221; The Minister has broad discretion to determine whether an investor is a non-Canadian and therefore may be subject to &#8220;national security&#8221; review. Review on national security grounds is at the discretion of the federal government and may occur on a pre- or post-closing basis. If the Minister, after consultation with the Minister of Public Safety and Emergency Preparedness, considers that the investment could be injurious to &#8220;national security&#8221;, the Minister refers the investment to the Governor in Council. On referral of an investment, if the Governor in Council determines the investment could be injurious to &#8220;national security&#8221;, the Governor in Council may take any measures in respect of the investment that it considers advisable to protect national security, including denying the investment, asking for undertakings, imposing terms or conditions for the investment, or ordering divestiture (if the investment has been completed). Any of these provisions may discourage a potential acquirer from proposing or completing a transaction that may have otherwise presented a premium to our shareholders. We cannot predict whether investors will find our company and our common shares less attractive because we are governed by foreign laws.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">131</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Provisions that would have an Effect of Delaying, Deferring or Preventing a Change of Control</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following provisions in Canadian Solar Inc.&#8217;s articles may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying or preventing a change of control of our company:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares, in one or more series, at any time and from time to time. Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series. See &#8220;Item 10. Additional Information&#8212;B. Articles&#8221; for a more detailed description of the attributes of the preferred shares.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Our board of directors is entitled to fix and may change the number of directors within the minimum and maximum number of directors provided for in our articles (i.e., a minimum of three and a maximum of ten directors). Our board of directors may appoint one or more additional directors, who shall hold office for a term expiring not later than the close of the next annual meeting of shareholders, but the total number of directors so appointed may not exceed one-third of the number of directors elected at the previous annual meeting of shareholders.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, Canadian Solar Inc&#8217;s by-laws and the OBCA provide for minimum time periods for the calling and holding of meetings of shareholders. See &#8220;Item 10. Additional Information&#8212;B. Articles&#8212;Shareholder Meetings&#8221; for more information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Otherwise, there are no provisions in Canadian Solar Inc&#8217;s articles or by-laws or in the OBCA that would have an effect of delaying, deferring or preventing a change in control of our company which would operate with respect to a merger, acquisition or corporate restructuring involving our company or any of our subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Provisions Governing the Ownership Threshold Above Which Shareholder Ownership Must be Disclosed</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Inc.&#8217;s articles and by-laws do not have any specific threshold requiring disclosure of ownership by holders of our shares. The OBCA and securities regulation in Canada requires that we disclose in our proxy information circular for our annual general meeting and certain other disclosure documents filed by us under such regulation, holders who beneficially own, directly or indirectly, or control or direct, voting securities of Canadian Solar Inc. carrying 10% or more of the voting rights attached to any class of outstanding voting securities. Most state corporation statutes do not contain provisions governing the threshold above which shareholder ownership must be disclosed. United States federal securities laws require us to disclose, in an annual report on Form 20-F, holders who own 5% or more of Canadian Solar Inc.&#8217;s issued and outstanding shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Conditions Imposed by Our Articles and By-Laws Governing Changes in Capital</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The requirements imposed by Canadian Solar Inc.&#8217;s articles and by-laws governing changes in capital are not more stringent than is required by applicable laws, including the OBCA.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">C</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Material Contracts</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have not entered into any material contracts other than in the ordinary course of business and other than those described in &#8220;Item&#160;4. Information on the Company&#8221; or elsewhere in this annual report on Form&#160;20-F.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">D</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exchange Controls</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Government Regulations&#8212;Foreign Currency Exchange&#8221; and &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Government Regulations&#8212;Dividend Distribution.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">132</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">E</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Taxation</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Principal Canadian Federal Tax Considerations</span><span style="font-style:italic;font-weight:bold;background:#ffff00;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of the principal Canadian federal income tax implications generally applicable to a holder of our common shares who, at all relevant times, is a resident of the United States for purposes of the Canada-United States Income Tax Convention (1980) (the &#8220;<b style="font-weight:bold;">Convention</b>&#8221;), is fully entitled to the benefits of the Convention, and did not, does not and will not have a fixed base or permanent establishment in Canada within the meaning of the Convention, and who, at all relevant times for purposes of the <i style="font-style:italic;">Income Tax Act</i> (Canada) (the &#8220;<b style="font-weight:bold;">Canadian Tax Act</b>&#8221;), (i) is not a resident, or deemed to be a resident, of Canada; (ii) holds such common shares as capital property and as beneficial owner; (iii) deals at arm&#8217;s length with and is not affiliated with us; (iv) does not use or hold, and is not deemed to use or hold, such common shares in the course of carrying on a business in Canada; (v) did not acquire our common shares by virtue of employment, and (vi) is not a financial institution, specified financial institution, registered non-resident insurer, authorized foreign bank, partnership or trust as defined in the Canadian Tax Act (a &#8220;<b style="font-weight:bold;">U.S. Holder</b>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This summary assumes that we are a resident of Canada for the purposes of the Canadian Tax Act. Should it be determined that we are not a resident of Canada for the purposes of the Canadian Tax Act by virtue of being resident in another country (such as the PRC) by virtue of the application of an income tax convention between Canada and that other country, the Canadian income tax consequences to a U.S. Holder will differ from those described herein and U.S. Holders should consult their own tax advisors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This summary is based on the current provisions of the Canadian Tax Act, and the regulations thereunder, the Convention, and our understanding of the published administrative practices and policies of the Canada Revenue Agency, all in effect as of the date of this annual report on Form 20-F. This summary takes into account all specific proposals to amend the Canadian Tax Act or the regulations thereunder publicly announced by or on behalf of the Minister of Finance (Canada) prior to the date of this annual report on Form 20-F. No assurances can be given that such proposed amendments will be enacted in the form proposed, or at all. This is not an exhaustive summary of all potential Canadian federal income tax consequences to a U.S. Holder and this summary does not take into account or anticipate any other changes in law or administrative practices, whether by judicial, governmental or legislative action or decision, nor does it take into account provincial, territorial or foreign tax legislation or considerations, which may differ from the Canadian federal income tax considerations described herein.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Canadian federal income tax consequences of acquiring, holding and disposing of our common shares will depend on each U.S. Holder&#8217;s particular situation. This summary is not intended to be a complete analysis of or description of all potential Canadian federal income tax consequences, and should not be construed to be, legal, business or tax advice directed at any particular U.S. Holder or prospective purchaser of our common shares. Accordingly, U.S. Holders or prospective purchasers of our common shares should consult their own tax advisors for advice with respect to the Canadian federal income tax consequences of an investment in our common shares based on their own particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amounts paid or credited, or deemed under the Canadian Tax&#160;Act to be paid or credited, on account or in lieu of payment of, or in satisfaction of, dividends to a U.S.&#160;Holder that has provided the requisite documentation regarding its entitlement to benefits under the Convention will be subject to Canadian withholding tax at the reduced rate of 15% under the Convention. This rate is further reduced to 5% in the case of a U.S.&#160;Holder that is a company for purposes of the Convention that owns at least 10% of our voting shares at the time the dividend is paid or deemed to be&#160;paid.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of Our Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A U.S. Holder will not be subject to income tax under the Canadian Tax Act in respect of any capital gain realized on a disposition or deemed disposition of our common shares that it holds unless, at the time of disposition, such common shares constitute &#8220;taxable Canadian property&#8221; of the U.S. Holder for the purposes of the Canadian Tax Act and the U.S. Holder is not otherwise entitled to an exemption under the Convention.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">133</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Provided that our common shares are then listed on a &#8220;designated stock exchange&#8221; for purposes of the Canadian Tax Act (which currently includes the Nasdaq), at the time of disposition, our common shares generally will not constitute taxable Canadian property of a U.S. Holder at that time, unless at any time during the 60 month period immediately preceding the disposition of the common shares (i) 25% or more of the issued shares of any class or series of the capital stock of our company were owned by, or belonged to, any combination of (a) the U.S. Holder, (b) persons with whom the U.S. Holder did not deal at arm&#8217;s length, and (c) partnerships in which the U.S. Holder or a person described in (b) held a membership interest directly or indirectly through one or more partnerships; and (ii) at such time, more than 50% of the fair market value of such shares was derived, directly or indirectly, from any combination of real or immovable property situated in Canada, &#8220;Canadian resource property&#8221; (as defined in the Canadian Tax Act), &#8220;timber resource property&#8221; (as defined in the Canadian Tax Act), or options in respect of, interests in, or for civil law rights in such properties, whether or not such property exists. Notwithstanding the foregoing, our common shares may also be deemed to be taxable Canadian property to a U.S. Holder for purposes of the Canadian Tax Act in certain circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">U.S. Holders for whom our common shares are, or may be, taxable Canadian property should consult their own tax advisors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canada&#8212;United&#160;States Income Tax Convention</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Convention includes a complex limitation on benefits provision. U.S.&#160;Holders are urged to consult their own tax advisors to determine their entitlement to benefits under the&#160;Convention.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">United&#160;States Federal Income Taxation </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following discussion describes certain material United States federal income tax consequences to a United States Holder (as defined below), under current law, of an investment in our common shares. This discussion is based on the federal income tax laws of the United States as of the date of this annual report on Form 20-F, including the United States Internal Revenue Code of 1986, as amended, or the Code, existing and proposed Treasury regulations promulgated thereunder, judicial authority, published administrative positions of the United States Internal Revenue Service, or IRS, and other applicable authorities, all as of the date of this annual report on Form 20-F. All of the foregoing authorities are subject to change, which change could apply retroactively and could significantly affect the tax consequences described below. We have not sought any ruling from the IRS with respect to the statements made and the conclusions reached in the following discussion and there can be no assurance that the IRS or a court will agree with our statements and conclusions. This discussion, moreover, does not address the United States federal estate, gift, Medicare, and alternative minimum tax consequences, or any state, local and non-United States tax consequences, relating to an investment in our common shares. Except as explicitly described below, this discussion does not address any tax consequences or reporting obligations that may be applicable to persons holding our common shares through a bank, financial institution or other entity, or a branch thereof, located, organized or resident outside the United States, and does not describe any tax consequences arising in respect of the &#8220;Foreign Account Tax Compliance Act&#8221;, or FATCA, regime.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This discussion applies only to a United&#160;States Holder (as&#160;defined below) that holds our common shares as capital assets for United&#160;States federal income tax purposes (generally, property held for investment). The discussion neither addresses the tax consequences to any particular investor nor describes all of the tax consequences applicable to persons in special tax situations such&#160;as:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">banks and certain other financial institutions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">insurance companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">regulated investment companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">real estate investment trusts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">brokers or dealers in stocks and securities, or currencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that use or are required to use a mark-to-market method of accounting;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">certain former citizens or residents of the United&#160;States subject to Section&#160;877 of the&#160;Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">entities subject to the United&#160;States anti-inversion rules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">tax-exempt organizations and entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons subject to the alternative minimum tax provisions of the Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons whose functional currency is other than the United&#160;States dollar;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">134</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons holding common shares as part of a straddle, hedging, conversion or integrated transaction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that actually or constructively own common shares representing 10% or more of our total voting power or&#160;value;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons who acquired common shares pursuant to the exercise of an employee stock option or otherwise as compensation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">partnerships or other pass-through entities, or persons holding common shares through such&#160;entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons required to accelerate the recognition of any item of gross income with respect to our common shares as a result of such income being recognized on an applicable financial statement;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">persons that held, directly, indirectly or by attribution, common shares or other ownership interest in us prior to our initial public offering.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If a partnership (including an entity or arrangement treated as a partnership for United States federal income tax purposes) holds our common shares, the tax treatment of a partner in the partnership generally will depend upon the status of the partner and the activities of the partnership. A partnership holding our common shares, or a partner in such a partnership, should consult its tax advisors regarding the tax consequences of investing in and holding our common shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">THE FOLLOWING DISCUSSION IS FOR INFORMATIONAL PURPOSES ONLY AND IS NOT A SUBSTITUTE FOR CAREFUL TAX PLANNING AND ADVICE. HOLDERS SHOULD CONSULT THEIR TAX ADVISORS WITH RESPECT TO THE APPLICATION OF THE UNITED STATES FEDERAL INCOME TAX LAWS TO THEIR PARTICULAR SITUATIONS, AS WELL AS ANY TAX CONSEQUENCES ARISING UNDER THE FEDERAL ESTATE OR GIFT TAX LAWS OR THE LAWS OF ANY STATE, LOCAL OR NON-UNITED STATES TAXING JURISDICTION OR UNDER ANY APPLICABLE TAX&#160;TREATY.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For purposes of the discussion below, a &#8220;United&#160;States Holder&#8221; is a beneficial owner of our common shares that is, for United&#160;States federal income tax&#160;purposes:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">an individual who is a citizen or resident of the United&#160;States;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a corporation created or organized in or under the laws of the United&#160;States, any state thereof or the District of&#160;Columbia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">an estate, the income of which is subject to United&#160;States federal income taxation regardless of its source;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">a trust, if (i)&#160;a court within the United&#160;States is able to exercise primary jurisdiction over its administration and one or more United&#160;States persons have the authority to control all of its substantial decisions or (ii)&#160;in the case of a trust that was treated as a domestic trust under the law in effect before 1997, a valid election is in place under applicable Treasury regulations to treat such trust as a domestic&#160;trust.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends and Other Distributions on the Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to the passive foreign investment company rules discussed below, the gross amount of any distribution that we make to you with respect to our common shares (including any amounts withheld to reflect Canadian or PRC withholding taxes) will be taxable as a dividend, to the extent paid out of our current or accumulated earnings and profits, as determined under United&#160;States federal income tax principles. Such income (including any withheld taxes) will be includable in your gross income on the day actually or constructively received by you. Because we do not intend to determine our earnings and profits on the basis of United&#160;States federal income tax principles, any distribution paid generally will be reported as a &#8220;dividend&#8221; for United&#160;States federal income tax purposes. Such dividends will not be eligible for the dividends-received deduction allowed to qualifying corporations under the&#160;Code.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dividends received by a non-corporate United States Holder may qualify for the lower rates of tax applicable to &#8220;qualified dividend income,&#8221; if the dividends are paid by a &#8220;qualified foreign corporation&#8221; and other conditions discussed below are met. A non-United States corporation is treated as a qualified foreign corporation (a) with respect to dividends paid by that corporation on shares that are readily tradable on an established securities market in the United States or (b) if such non-United States corporation is eligible for the benefits of a qualifying income tax treaty with the United States that includes an exchange of information program. However, a non-United States corporation will not be treated as a qualified foreign corporation if it is a passive foreign investment company in the taxable year in which the dividend is paid or the preceding taxable year.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">135</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under a published IRS Notice, common shares are considered to be readily tradable on an established securities market in the United States if they are listed on the Nasdaq Global Market, as our common shares are, but we cannot guarantee that our common shares will always be so listed. In addition, we may be eligible for the benefits of the income tax treaty between the United States and Canada, or, if we are treated as a PRC resident enterprise under the PRC tax law (see &#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then we may be eligible for the benefits of the income tax treaty between the United States and the PRC. If we are eligible for such benefits, then dividends that we pay to certain non-corporate United States Holders on our common shares would, subject to applicable limitations, be eligible for the reduced rates of taxation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Even if dividends would be treated as paid by a qualified foreign corporation, a non-corporate United States Holder will not be eligible for reduced rates of taxation if it does not hold our common shares for more than 60 days during the 121-day period beginning 60 days before the ex-dividend date (disregarding certain periods of ownership while the United States Holder&#8217;s risk of loss is diminished) or if such United States Holder elects to treat the dividend income as &#8220;investment income&#8221; pursuant to Section 163(d)(4) of the Code. In addition, the rate reduction will not apply to dividends of a qualified foreign corporation if the non-corporate United States Holder receiving the dividend is obligated to make related payments with respect to positions in substantially similar or related property.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You should consult your tax advisors regarding the availability of the lower tax rates applicable to qualified dividend income for any dividends that we pay with respect to the common shares, as well as the effect of any change in applicable law after the date of this annual report on Form 20-F.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any Canadian or PRC withholding taxes imposed on dividends paid to you with respect to our common shares (at a rate not exceeding any applicable treaty rate in the case of a United States Holder that is eligible for the benefits of a relevant treaty) generally will be treated as foreign taxes eligible for deduction or credit against your United States federal income tax liability, subject to the various limitations and disallowance rules that apply to foreign tax credits generally (including that the election to deduct or credit foreign taxes applies to all of your other applicable foreign taxes for a particular tax year). For purposes of calculating the foreign tax credit, dividends paid to you with respect to the common shares will be treated as income from sources outside the United States and generally will constitute passive category income, or in certain cases, general category income. The rules relating to the determination of the foreign tax credit are complex and recently issued Treasury Regulations have introduced additional requirements and limitations to the foreign tax credit rules. You should consult your tax advisors regarding the availability of a foreign tax credit in your particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount of any dividend paid in currency other than the United States dollar will be the dividend&#8217;s United States dollar value calculated by reference to the exchange rate in effect on the date of receipt, regardless of whether the payment is in fact converted into United States dollars. A United States Holder may have foreign currency gain or loss, which generally will be United States source ordinary income or loss, if any dividend is converted into United States dollars after the date of receipt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of the Common Shares</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You will recognize gain or loss on a sale or exchange of our common shares in an amount equal to the difference between the amount realized on the sale or exchange and your tax basis in the common shares. Subject to the discussion under &#8220;-Passive Foreign Investment Company&#8221; below, such gain or loss generally will be capital gain or loss. Capital gains of a non-corporate United States Holder, including an individual, that has held the common share for more than one year currently are eligible for reduced tax rates. The deductibility of capital losses is subject to limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any gain or loss that you recognize on a disposition of our common shares generally will be treated as United States-source income or loss for foreign tax credit limitation purposes. However, if we are treated as a PRC resident enterprise for PRC tax purposes and PRC tax is imposed on gain from the disposition of our common shares (see &#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then a United States Holder that is eligible for the benefits of the income tax treaty between the United States and the PRC may elect to treat the gain as PRC-source income for foreign tax credit purposes. If such an election is made, the gain so treated will be treated as a separate class or &#8220;basket&#8221; of income for purposes of the foreign tax credit. You should consult your tax advisors regarding the proper treatment of gain or loss, as well as the availability of a foreign tax credit, in your particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States Holder that receives currency other than the United States dollar upon the sale or other disposition of our common shares generally will realize an amount equal to the United States dollar value of the foreign currency on the date of such sale or other disposition or, if our common shares are traded on an established securities market, in the case of cash basis and electing accrual basis taxpayers, the settlement date. If a United States Holder is not able to treat the settlement date as the realization date, the United States Holder generally will recognize currency gain or loss if the United States dollar value of the currency received on the settlement date differs from the amount realized. A United States Holder will have a tax basis in the currency received equal to the United States dollar amount at the spot rate on the settlement date. Generally, any gain or loss realized by a United States Holder on a subsequent conversion or disposition of such currency will be United States source ordinary income or loss.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">136</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Passive Foreign Investment Company</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Based on the value of our assets and the nature and composition of our income and assets, we do not believe we were a passive foreign investment company, or PFIC, for United States federal income tax purposes for our taxable year ended December 31, 2022. PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. Moreover, we cannot guarantee that the United States Internal Revenue Service, or IRS, will agree with any positions that we take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a position contrary to any position that we take.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will be treated as a PFIC for United States federal income tax purposes for any taxable year if, applying applicable look-through rules, either:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at least 75% of our gross income for such year is passive income; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">at least 50% of the value of our assets (generally determined based on a quarterly average) during such year is attributable to assets that produce or are held for the production of passive income.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For this purpose, passive income generally includes dividends, interest, royalties, rents and gains from commodities transactions (other than certain royalties, rents and commodities gains derived in the active conduct of a trade or business and not derived from a related person). We will be treated as owning a proportionate share of the assets and earning a proportionate share of the income of any other corporation in which we own, directly or indirectly, more than 25% by value of the stock. We hold a substantial amount of cash and other assets treated as producing passive income and if the percentage of our assets treated as producing passive income increases, we may be more likely to be a PFIC for the current or one or more future taxable years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the nature or composition of our income or assets may cause us to be more likely to be a PFIC. The determination of whether we will be a PFIC for any taxable year also may depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may be determined based upon the market value of the common shares from time to time, which may be volatile) and by how, and how quickly, we spend our liquid assets and the cash we generate from our operations. Among other matters, if our market capitalization declines, we may be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of our overall assets. Further, while we believe our classification methodology and valuation approach (including, if relevant, any approach taken with respect to our market capitalization) are reasonable, it is possible that the IRS may challenge our classification or valuation of our goodwill and other unbooked intangibles, which may result in our being or becoming a PFIC for the current taxable year or one or more future taxable years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, we will continue to be treated as a PFIC with respect to you for all succeeding years during which you hold common shares, unless we were to cease to be a PFIC and you make a &#8220;deemed sale&#8221; election with respect to the common shares. If such election is made, you will be deemed to have sold the common shares you hold at their fair market value and any gain from such deemed sale would be subject to the rules described in the following two paragraphs. After the deemed sale election, so long as we do not become a PFIC in a subsequent taxable year, your common shares with respect to which such election was made will not be treated as shares in a PFIC and, as a result, you will not be subject to the rules described below with respect to any &#8220;excess distribution&#8221; you receive from us or any gain from a sale or other taxable disposition of the common shares. You are strongly urged to consult your tax advisors as to the possibility and consequences of making a deemed sale election if we are and then cease to be a PFIC and such an election becomes available to you.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, then, unless you make a &#8220;mark-to-market&#8221; election (as discussed below), you generally will be subject to special and adverse tax rules with respect to any &#8220;excess distribution&#8221; that you receive from us and any gain that you recognize from a sale or other disposition, including a pledge, of the common shares. For this purpose, distributions that you receive in a taxable year that are greater than 125% of the average annual distributions that you received during the shorter of the three preceding taxable years or your holding period for the common shares will be treated as an excess distribution. Under these rules:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the excess distribution or recognized gain will be allocated ratably over your holding period for the common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount of the excess distribution or recognized gain allocated to the taxable year of distribution or gain, and to any taxable years in your holding period prior to the first taxable year in which we were treated as a PFIC, will be treated as ordinary income; and</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">137</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the amount of the excess distribution or recognized gain allocated to each other taxable year will be subject to the highest tax rate in effect for individuals or corporations, as applicable, for each such year and the resulting tax will be subject to the interest charge generally applicable to underpayments of tax.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares and any of our non-United States subsidiaries or other corporate entities in which we directly or indirectly own equity interests is also a PFIC, you would be treated as owning a proportionate amount (by value) of the shares of each such non-United States entity classified as a PFIC (each such entity, a lower-tier PFIC) for purposes of the application of these rules. You should consult your tax advisor regarding the application of the PFIC rules to any of our lower tier PFICs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during your holding period for our common shares, then in lieu of being subject to the tax and interest-charge rules discussed above, you may make an election to include gain on the common shares as ordinary income under a mark-to-market method, provided that the common shares constitute &#8220;marketable stock.&#8221; Marketable stock is stock that is regularly traded on a qualified exchange or other market, as defined in applicable Treasury regulations. Our common shares are listed on the Nasdaq Global Market, which is a qualified exchange or other market for these purposes. Consequently, as long as our common shares are regularly traded, and you are a holder of such common shares, we expect that the mark-to-market election would be available to you, if we become a PFIC, but no assurances are given in this regard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because a mark-to-market election cannot be made for any lower-tier PFICs that we may own, if we were a PFIC for any taxable year, a United States Holder that makes a mark-to-market election with respect to our common shares may continue to be subject to the tax and interest charges under the general PFIC rules with respect to such United States Holder&#8217;s indirect interest in any investments held by us that are treated as an equity interest in a PFIC for United States federal income tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In certain circumstances, a United States holder of shares in a PFIC may avoid the adverse tax and interest-charge regime described above by making a &#8220;qualified electing fund&#8221; election to include in income its share of the corporation&#8217;s income on a current basis. However, you may make a qualified electing fund election with respect to your common shares only if we agree to furnish you annually with a PFIC annual information statement as specified in the applicable Treasury regulations. We currently do not intend to prepare or provide the information that would enable you to make a qualified electing fund election.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States Holder that holds our common shares in any year in which we are classified as a PFIC will be required to file an annual report containing such information as the United States Treasury Department may require. You should consult your tax advisor regarding the application of the PFIC rules to your ownership and disposition of the common shares and the availability, application and consequences of the elections discussed above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information Reporting and Backup Withholding</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Information reporting to the IRS and backup withholding generally will apply to dividends in respect of our common shares, and the proceeds from the sale or exchange of our common shares, that are paid to you within the United&#160;States (and&#160;in certain cases, outside the United&#160;States), unless you furnish a correct taxpayer identification number and make any other required certification, generally on IRS Form&#160;W-9, or&#160;you otherwise establish an exemption from information reporting and backup withholding. Backup withholding is not an additional tax. Amounts withheld as backup withholding generally are allowed as a credit against your United&#160;States federal income tax liability, and you may be entitled to obtain a refund of any excess amounts withheld under the backup withholding rules if you file an appropriate claim for refund with the IRS and furnish any required information in a timely&#160;manner.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of the information reporting and backup withholding rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information with Respect to Foreign Financial Assets</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">United&#160;States Holders who are individuals (and&#160;certain entities closely held by individuals) generally will be required to report our name, address and such information relating to an interest in the common shares as is necessary to identify the class or issue of which your common shares are a part. These requirements are subject to exceptions, including an exception for common shares held in accounts maintained by certain financial institutions and an exception applicable if the aggregate value of all &#8220;specified foreign financial assets&#8221; (as&#160;defined in the Code) does not exceed&#160;US$50,000.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of these information reporting rules.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">138</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">People&#8217;s Republic of China Taxation </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law, which took effect as of January&#160;1, 2008 and amended on February&#160;24, 2017 and December&#160;29, 2018, enterprises established under the laws of non-PRC jurisdictions but whose &#8220;de&#160;facto management body&#8221; is located in China are considered &#8220;resident enterprises&#8221; for PRC tax purposes. Under the implementation regulations issued by the State Council relating to the EIT Law, &#8220;de facto management bodies&#8221; are defined as the bodies that have material and overall management and control over the business, personnel, accounts and properties of an enterprise. The Circular on Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular&#160;82, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although the Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise group located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to us.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares or convertible notes by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income. Currently there are no detailed rules applicable to us that govern the procedures and specific criteria for determining the meaning of being &#8220;domiciled&#8221; in the PRC. As such, it is not clear how the concept of domicile will be interpreted under the EIT Law. Domicile may be interpreted as the jurisdiction where the enterprise is incorporated or where the enterprise is a tax&#160;resident.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result, if we are considered a PRC &#8220;resident enterprise&#8221; for tax purpose, it is possible that the dividends we pay with respect to our common shares to non-PRC enterprises, or the gain non-PRC enterprises may realize from the transfer of our common shares or our convertible notes, would be treated as income derived from sources within China and be subject to the PRC withholding tax at a rate of 10% or a lower applicable treaty rate for enterprises.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a company in China for tax purposes, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as China-sourced income and, consequently, be subject to PRC withholding tax at a rate of up to 20% or a lower applicable treaty rate for individuals.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">F</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Dividends and Paying Agents</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">G</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Statement by Experts</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">H</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Documents on Display</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We previously filed with the SEC our registration statements on Form&#160;F-1 (File Number&#160;333-138144), initially filed on October&#160;23, 2006, and registration statements on Form&#160;F-3 (File Number&#160;333-208828), initially filed on January&#160;4,&#160;2016.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">139</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to the periodic reporting and other informational requirements of the Exchange Act. Under the Exchange Act, we are required to file reports and other information with the SEC. Specifically, we are required to file annually a Form&#160;20-F within four months after the end of each fiscal year for fiscal years ending on or after December&#160;15, 2011. Copies of reports and other information, when so filed, may be inspected without charge and may be obtained at prescribed rates at the public reference facilities maintained by the Securities and Exchange Commission at 100&#160;F Street, N.E., Room&#160;1580, Washington,&#160;D.C. 20549. The public may obtain information regarding the Washington,&#160;D.C. Public Reference Room by calling the Commission at 1-800-SEC-0330. The SEC also maintains a web site at www.sec.gov that contains reports, proxy and information statements, and other information regarding registrants that make electronic filings with the SEC using its EDGAR system. As a foreign private issuer, we are exempt from the rules under the Exchange Act prescribing the furnishing and content of quarterly reports and proxy statements, and officers, directors and principal shareholders are exempt from the reporting and short-swing profit recovery provisions contained in Section&#160;16 of the Exchange&#160;Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our financial statements have been prepared in accordance with U.S.&#160;GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We will furnish our shareholders with annual reports, which will include a review of operations and annual audited consolidated financial statements prepared in conformity with U.S.&#160;GAAP.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;">I</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Subsidiary Information</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">For a listing of our significant subsidiaries, see &#8220;Item&#160;4. Information on the Company&#8212;C.&#160;Organizational Structure.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">J</b></span><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Annual Report to Security Holders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_96913ec2_8738_4be8_9d96_17090053a5b9"></a><a id="ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;11&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign Exchange Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business transactions are carried out in various currencies. We continually evaluate our foreign currency exposure based on current market conditions and the locations in which we conduct business. The Company manages most foreign currency exposures on a consolidated basis, which allows it to net certain exposures and take advantage of natural offsets. The majority of our sales in 2022 are denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Brazilian reals, Japanese yen, South African rand, Australian dollars and British pounds. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. These transactions involve sales, purchases, borrowings, and investments in currencies other than the functional currencies of different companies in CSI. Therefore, fluctuations in currency exchange rates could have a significant impact on the cash flows we expect to receive or pay. The fluctuations in exchange rates could cause us significant foreign currency transaction risk. We recorded a foreign exchange loss of $47.2 million in 2021 and a foreign exchange gain of $77.7 million in 2022. We cannot predict the impact of future exchange rate fluctuations on our results of operations and may incur net foreign currency losses in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In order to mitigate and limit our exposure to fluctuations in foreign currency rates, from time to time, we enter into derivative transactions to hedge part of our foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts. We incurred a gain on change in fair value of foreign currency derivatives, net of $22.8 million in 2021 and a loss on change in fair value of foreign currency derivatives, net of $40.5 million in 2022. The gains or losses on change in fair value of foreign currency derivatives, net are related to our hedging program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, we had approximately $443.9 million equivalent of monetary net liabilities balances denominated in various transactional currencies. A 10% appreciation or depreciation of these transactional currencies against their corresponding functional currencies would have an impact of approximately $44.4 million on our foreign exchange loss or gain, excluding the effect of our hedging activities. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">140</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, our financial statements are presented in U.S. dollars, while some of our subsidiaries use different functional currencies, such as the Renminbi, Euros, Canadian dollars, Japanese yen, Brazilian reals, Australian dollars and British pounds. The value of our common shares would be affected by the foreign currency translation risk resulted from the fluctuation between the U.S. dollar and functional currencies of our subsidiaries. To the extent we hold assets denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollars will likely result in an exchange gain while any depreciation will likely result in an exchange loss when we convert the value of these assets into U.S. dollar equivalent amounts. On the other hand, to the extent we have liabilities denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollar will likely result in an exchange loss while any depreciation will likely result in an exchange gain when we convert the value of these liabilities into U.S. dollar equivalent amounts. In addition, because our financing to scale operations could be in different currencies from our assets, our foreign exchange risks may increase.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we continue to expand our business into new markets, particularly emerging markets, our total foreign currency exchange risk could increase significantly.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">These and other effects on our financial conditions resulting from the unfavorable changes in foreign currency exchange rates could have a material adverse effect on the market price of our common shares, the dividends we may pay in the future, and your investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest Rate Risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our exposure to interest rate risk primarily relates to interest expense under our short-term and long-term bank borrowings, as well as interest income generated by excess cash invested in demand deposits and liquid investments with original maturities of three months or less. Such interest-earning instruments carry a degree of interest rate risk. We use derivative financial instruments, such as interest rates swap, to manage some of our interest risk exposure. Our future interest expense may increase due to changes in market interest rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Taking into account our floating-rate debt, a hypothetical increase in interest rates of 1% would result in an increase in annual interest expense of approximately $12.1 million from debt outstanding as of December 31, 2022 (a hypothetical increase of 1% would have resulted in an increase in annual interest expense of approximately $8.1 million from debt outstanding as of December 31, 2021).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Commodity Price Risk </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are exposed to price risks for the raw materials, components, logistics services, and energy costs used in the manufacturing and transportation of our solar modules, and EPC costs for our energy business. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Some of our raw materials and components are sourced from a limited number of suppliers. From time to time, we enter into long-term supply contracts for raw materials. Accordingly, we are exposed to price changes in the raw materials and components used in our solar modules. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, the failure of a key supplier could disrupt our supply chain, which could result in higher costs. To the extent that we are not able to pass these increased costs on to our customers, our business, cash flows, financial condition and results of operations may be materially and adversely affected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From time to time, we may utilize derivative hedging instruments to mitigate such raw material price changes. Also, we plan to continue to diversify our external wafer and polysilicon suppliers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For our supply chain management, see &#8220;Item 4. Information of the Company&#8212;B. Business Overview&#8212;Supply Chain Management.&#8221; For risks relating to the long-term agreements with our raw material suppliers, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Also, our various subsidiaries within our energy business are exposed, to varying degrees, to commodity price risk, primarily to merchant power prices in the electricity markets and power price volatility especially during grid congestion. If a project does not generate the volume of electricity required by the relevant PPAs, we could incur significant losses if electricity prices in the market rise substantially above the fixed price provided for in the PPAs. If a project generates more electricity than is contracted in the PPAs, the related revenues will be exposed to market price fluctuations. These risks will further increase if we intend to participate in power market trading activities. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">141</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Recently, inflation has continued to increase significantly, particularly in the U.S. and Europe, resulting in rising transportation, wages, and other costs. Inflation may generally affect us by increasing our costs and expenses. Although we cannot accurately anticipate the future effect of inflation on our financial condition or results of operations, inflation historically has not had a material impact on our operations. If our costs were to become subject to significant inflationary pressures, we may not be able to fully offset such higher costs through price increases for products and services. Our inability to do so could harm our business, financial condition or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_15eba358_d35b_4322_922a_5468184ca172"></a><a id="ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;12&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><a id="_4b4a3ccc_991d_4ca6_b786_8dbed5e8f756"></a><a id="PARTII_599435"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART II</b></p><a id="ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;13&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None of these events occurred in any of the years ended December 31, 2020, 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_6c9fade1_7321_46ad_ac71_0dcc827f4b31"></a><a id="ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;14&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE</span><span style="font-style:italic;font-weight:bold;"> OF&#160;PROCEEDS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Material Modifications to the Rights of Security Holders</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;10. Additional Information&#8212;B. Articles&#8221; for a description of the rights of shareholders, which remain unchanged.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Use of Proceeds</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_3ecf848b_074a_4cf9_b115_27767487a126"></a><a id="ITEM15CONTROLSANDPROCEDURES_777680"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;15&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CONTROLS AND PROCEDURES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Disclosure Controls and Procedures</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our management, with the participation of our chief executive officer and chief financial officer, has performed an evaluation of the effectiveness of our disclosure controls and procedures (as&#160;defined in Rule&#160;13a-15(e) under the Exchange Act) as of the end of the period covered by this report, as required by Rule&#160;13a-15(b) under the Exchange Act. Based upon that evaluation, our management has concluded that, as of the end of the period covered by this annual report, our disclosure controls and procedures were effective in ensuring that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act was recorded, processed, summarized and reported, within the time periods specified in the SEC&#8217;s rules and forms, and that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our chief executive officer and chief financial officer, to allow timely decisions regarding required disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such item is defined in Rules&#160;13a-15(f) under the Exchange Act, for our company. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of consolidated financial statements in accordance with generally accepted accounting principles and includes those policies and procedures that (a)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of a company&#8217;s assets; (b)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of consolidated financial statements in accordance with generally accepted accounting principles, and that a company&#8217;s receipts and expenditures are being made only in accordance with authorizations of a company&#8217;s management and directors; and (c)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of a company&#8217;s assets that could have a material effect on the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">142</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As required by Section&#160;404 of the Sarbanes-Oxley Act of 2002 and related rules as promulgated by the Securities and Exchange Commission, our management assessed the effectiveness of our internal control over financial reporting as of December 31, 2022 using criteria established in Internal Control-Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on this assessment, management concluded that our internal control over financial reporting was effective as of December 31, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, an independent registered public accounting firm, who audited our consolidated financial statements for the year ended December 31, 2022, has also audited the effectiveness of internal control over financial reporting as of December 31, 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Report of Independent Registered Public Accounting Firm</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">To the Shareholders and the Board of Directors of Canadian Solar&#160;Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Opinion on Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have audited the internal control over financial reporting of Canadian Solar Inc. and subsidiaries (the &#8220;Company&#8221;) as of December 31, 2022, based on criteria established in Internal Control &#8212; Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2022, based on criteria established in Internal Control &#8212; Integrated Framework (2013) issued by COSO.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2022, of the Company and our report dated April 18, 2023, expressed an unqualified opinion on those financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#8217;s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Definition and Limitations of Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A company&#8217;s internal control over financial reporting is a process designed 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. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">143</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP</p></td></tr><tr><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Shanghai, China</p></td></tr><tr><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">April&#160;18, 2023</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Changes in Internal Controls</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Management has evaluated, with the participation of our chief executive officer and chief financial officer, whether any changes in our internal control over financial reporting that occurred during our last fiscal year have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. Based on the evaluation we conducted, management has concluded that no such changes occurred during the period covered by this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_880adcf0_caa7_4f50_870c_055c649c6138"></a><a id="ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16A&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">AUDIT COMMITTEE FINANCIAL EXPERT</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our board of directors has determined that Lap Tat Arthur Wong qualifies as an &#8220;audit committee financial expert&#8221; as defined in Item&#160;16A of Form&#160;20-F. Each of the members of the audit committee is an &#8220;independent director&#8221; as defined in the Nasdaq Marketplace Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_deefd6c9_57c1_4724_9475_a1c53370af16"></a><a id="ITEM16BCODEOFETHICS_239445"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16B&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CODE OF ETHICS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our board of directors has adopted a code of ethics that applies to our directors, officers, employees and agents, including certain provisions that specifically apply to our chief executive officer, chief financial officer, chief operations officer, chief technology officer, vice presidents and any other persons who perform similar functions for us. We have posted our code of business conduct on our website www.canadiansolar.com. We hereby undertake to provide to any person without charge, a copy of our code of business conduct and ethics within ten working days after we receive such person&#8217;s written request.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_6e0668fe_dae8_4b2c_ad99_0795f0f0734b"></a><a id="ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16C&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth the aggregate fees (in whole U.S. dollars) by categories specified below in connection with certain professional services rendered by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, our principal external auditors, for the periods indicated. We did not pay any other fees to our auditors during the periods indicated below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,680,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,680,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Audit related fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 836,011</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 805,685</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 117,738</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"><a id="_Hlk132383176"></a></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Audit fees&#8221; means the aggregate fees billed for professional services rendered by our principal auditors for the annual audit of our consolidated financial statements</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Audit related fees&#8221; represents the aggregate fees billed for assurance and related services by our principal auditors that are reasonably related to the performance of the audit or review of our consolidated financial statements and are not reported as audit fees. These include professional services rendered in connection with statutory audits, agreed upon procedure of our subsidiary companies, quarterly reviews and other related services. In 2021, &#8220;Audit related fees&#8221; included approximately $0.5 million for the &#8220;at-the-market&#8221; offering program of common shares and statutory audits of our subsidiary companies. In 2022, &#8220;Audit related fees&#8221; included $0.5 million for statutory audits and agreed upon procedure of our subsidiary companies.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">&#8220;Tax fees&#8221; of 2022 were for services related to tax advice on master file and local file compliance, which have been rendered by our principal auditor.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The policy of our audit committee is to pre-approve all audit and non-audit services provided by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, including audit services, audit-related services, tax services and other services as described above, other than those for de minimis services which are approved by the Audit Committee prior to the completion of the audit. We have a written policy on the engagement of an external auditor.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">144</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_03fee5a1_8db3_44c2_9377_ab84bb3f0ab5"></a><a id="ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16D&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_2d390e82_4b7c_4fab_ab55_2a85a3dba463"></a><a id="ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16E&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_d4492352_2dae_449e_b13f_9f856d6d3688"></a><a id="ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16F&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_c32ef461_fd3b_4092_96b6_cd6505b674a8"></a><a id="ITEM16GCORPORATEGOVERNANCE_709109"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16G&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CORPORATE GOVERNANCE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_21dd3323_e616_46f0_8c03_47ccec0fa25c"></a><a id="ITEM16HMINESAFETYDISCLOSURE_98133"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16H&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MINE SAFETY DISCLOSURE</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_859cc56f_3059_40aa_b3d0_2b0fe989ae3b"></a><a id="ITEM16IDISCLOSUREREGARDINGFOREIGNJURISDI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM 16I</b><span style="font-style:italic;font-weight:bold;">&#160;&#160;&#160;DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In May 2022, we were conclusively listed by the SEC as a Commission-Identified Issuer under the HFCAA following the filing of our annual report on Form 20-F for the fiscal year ended December 31, 2021. Our auditor, a registered public accounting firm that the PCAOB was unable to inspect or investigate completely in 2021, issued the audit report for us for the fiscal year ended December 31, 2021. On December 15, 2022, the PCAOB announced that it has secured complete access to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. The PCAOB also vacated its previous determinations issued in December 2021. For this reason, we do not expect to be identified as a Commission-Identified Issuer under the HFCAA after we file this annual report on Form 20-F. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As of the date of this annual report, to our knowledge, (i) no governmental entities in Canada or in China own any shares of Canadian Solar Inc., (ii) the governmental entities in China do not have a controlling financial interest in Canadian Solar Inc., (iii) none of the members of the board of directors of Canadian Solar Inc. or its operating entities is an official of the Communist Party of China, and (iv) the currently effective articles of continuance of Canadian Solar Inc. do not contain any charter of the Communist Party of China.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_a300f6cc_18d5_441f_bfe0_30332cdde73c"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">ITEM 16J&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">INSIDER TRADING POLICIES</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">145</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_9ef2f3ad_5ca1_41bc_9505_457642124cd0"></a><a id="PARTIII_868957"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART III</b></p><a id="ITEM17FINANCIALSTATEMENTS_447947"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;17&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">We have elected to provide financial statements pursuant to Item&#160;18.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_7b5059a1_871e_43b1_b3ba_700eb51940fc"></a><a id="ITEM18FINANCIALSTATEMENTS_390910"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;18&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The consolidated financial statements of Canadian Solar&#160;Inc. are included at the end of this annual&#160;report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_d5780152_06f7_4706_9982_501f1ba9ac77"></a><a id="ITEM19EXHIBITS_403742"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;19&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXHIBITS</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:6.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:6.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><br /><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;width:1.75%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:91.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description of Document</b></p></td></tr><tr><td style="vertical-align:top;width:6.24%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">1.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex1d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Continuance and Articles of Continuance of Canadian Solar Inc.</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">2.1*</p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="csiq-20221231xex2d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Registrant&#8217;s Specimen Certificate for Common Shares.</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">2.2*</p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="csiq-20221231xex2d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of Securities of the Registrant&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">2.3</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000110465921051958/csiq-20201231xex2d3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Indenture, dated as of September 15, 2020, between Canadian Solar Inc. and The Bank of New York Mellon, as trustee (incorporated by reference to Exhibit 2.3 of our annual report on Form 20-F for the year ended December 31, 2020 (File No. 001-33107), initially filed with the Securities and Exchange Commission on April 19, 2021).</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.1</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000104746917002970/a2230964zex-4_1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amended and Restated Share Incentive Plan of the Registrant, effective on May 8, 2011 (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2016 (File No. 001-33107), initially filed with the SEC on April 27, 2017)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.2</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000095012309011999/h03379exv4w1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Director Indemnity Agreement (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2008 (File No. 001-33107), as amended, initially filed with the SEC on June 8, 2009)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.3</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000114554906001496/h00554exv10w2.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement between the Registrant and Dr. Shawn Qu (incorporated by reference to Exhibit 10.2 of our registration statement on Form F-1 (File No. 333-138144), as amended, initially filed with the SEC on October 23, 2006)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">4.4</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="https://www.sec.gov/Archives/edgar/data/1375877/000095012311051124/h05069exv4w7.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Employment Agreement between the Registrant and its executive officers (incorporated by reference to Exhibit 4.7 of our annual report on Form 20-F for the year ended December 31, 2010 (File No. 001-33107), as amended, initially filed with the SEC on May 17, 2011)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">8.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex8d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">List of Significant Subsidiaries</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">12.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex12d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CEO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">12.2*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex12d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CFO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">13.1**</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex13d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CEO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">13.2**</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex13d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">CFO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">15.1*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20221231xex15d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Deloitte Touche Tohmatsu Certified Public Accountants LLP</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">15.2*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="csiq-20221231xex15d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Submission under Item 16I(a) of Form 20-F in relation to the Holding Foreign Companies Accountable Act</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;">101*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><span style="font-size:9.5pt;">Financial information from registrant for the year ended December 31, 2022 formatted in eXtensible Business Reporting Language (XBRL):</span></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 4pt 0pt;"><span style="font-size:9.5pt;">(i) Consolidated Balance Sheets as of December 31, 2020 and 2021; (ii) Consolidated Statements of Operations for the Years Ended December 31, 2020, 2021 and 2022; (iii) Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2020, 2021 and 2022; (iv) Consolidated Statements of Changes in Equity for the Years Ended December 31, 2020, 2021 and 2022; (v) Consolidated Statements of Cash Flows for the Years Ended December 31, 2020, 2021 and 2022; (vi) Notes to Consolidated Financial Statements; and (vii) Additional Information&#8212;Financial Statements Schedule I</span></p></td></tr><tr><td style="vertical-align:top;width:6.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><span style="font-size:9.5pt;">104*</span></p></td><td style="vertical-align:top;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:91.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt;"><span style="font-size:9.5pt;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:4pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:4pt;margin-top:0pt;">Filed herewith.</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">**</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Furnished herewith.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">146</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_6288067a_f231_4f6f_b1a4_f763585b4c40"></a><a id="SIGNATURES_548624"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">SIGNATURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The registrant hereby certifies that it meets all of the requirements for filing on Form&#160;20-F and&#160;that it has duly caused and authorized the undersigned to sign this annual report on its&#160;behalf.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td colspan="2" style="vertical-align:bottom;width:45.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CANADIAN SOLAR INC.</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:45.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:bottom;width:45.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chairman, President and</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:45.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:bottom;width:45.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">/s/ Huifeng Chang</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Huifeng Chang</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Director and</p></td></tr><tr><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:6%;margin:0pt;padding:0pt;"></td><td style="vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Financial Officer</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date: April 18, 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">147</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_4736af85_7473_482f_bb65_f9ad2d06180f"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"><span style="font-style:normal;font-weight:normal;">Report of Independent Registered Public Accounting Firm</span></a> (PCAOB ID No. <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:AuditorFirmId" id="Narr_nt2IJUHEJEqMARTXoRK-eQ">1113</ix:nonNumeric>)</p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-2</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDBALANCESHEETS_301566"><span style="font-style:normal;font-weight:normal;">Consolidated Balance Sheets as of December 31, 2021 and 2022</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-4</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONS_69681"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Operations for the Years Ended December 31, 202</span><span style="font-style:normal;font-weight:normal;">0</span><span style="font-style:normal;font-weight:normal;">, 2021 and 2022</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-5</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINC"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 202</span><span style="font-style:normal;font-weight:normal;">0</span><span style="font-style:normal;font-weight:normal;">, 2021 and 2022</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-6</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCHANGESINEQUITY_"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Changes in Equity for the Years Ended December 31, 202</span><span style="font-style:normal;font-weight:normal;">0</span><span style="font-style:normal;font-weight:normal;">, 2021 and 2022</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-7</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_646277"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Cash Flows for the Years Ended December 31, 202</span><span style="font-style:normal;font-weight:normal;">0</span><span style="font-style:normal;font-weight:normal;">, 2021 and 2022</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-8</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#a1ORGANIZATIONANDPRINCIPALACTIVITIES_213"><span style="font-style:normal;font-weight:normal;">Notes to Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-10</p></td></tr><tr><td style="vertical-align:bottom;width:94.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><a href="#AdditionalInformationFinancialStatementS"><span style="font-style:normal;font-weight:normal;">Additional Information &#8212; Condensed Financial Statements of Parent Company</span></a></p></td><td style="vertical-align:bottom;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">F-66</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_26e21573_068d_429e_a9f5_3910b7811c59"></a><a id="_Hlk132685560"></a><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">To the Shareholders and the Board of Directors of Canadian Solar Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Opinion on the Financial Statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">We have audited the accompanying consolidated balance sheets of Canadian Solar Inc. and subsidiaries (the &quot;Company&quot;) as of December 31, 2022 and 2021, the related consolidated statements of operations, comprehensive income, changes in equity, and cash flows, for each of the three years in the period ended December 31, 2022, and the related notes and the financial statement schedule (collectively referred to as the &quot;financial statements&quot;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2022 and 2021, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2022, in conformity with accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company&#39;s internal control over financial reporting as of December 31, 2022, based on criteria established in Internal Control &#8212; Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated April 18, 2023, expressed an unqualified opinion on the Company&#39;s internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">These financial statements are the responsibility of the Company&#39;s management. Our responsibility is to express an opinion on the Company&#39;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Critical Audit Matter</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">The critical audit matter communicated below is a matter arising from the current-period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Revenue Recognition - sales of solar and battery storage projects - Refer to Note 2 (x) and Note 22 to the financial statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Critical Audit Matter Description</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue from the sale of a solar and battery storage project at the point in time when a customer obtains control of the solar and battery storage projects. The dollar amount of revenues from the sale of solar and battery storage projects was $761,677 thousand for the year ended December 31, 2022. The solar and battery storage projects are often held in separate legal entities which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. Management of the Company use its judgment to determine whether deconsolidation of the project companies is appropriate upon transfer of equity interest to the customers, to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">We identified revenue recognition for sales of solar and battery storage projects as a critical audit matter because of the judgments necessary for management to determine whether it may derecognize the project companies according to Accounting Standard Codification (&quot;ASC&quot;) 810-10, to identify performance obligations, and to estimate the variable consideration as part of transaction </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">price according to ASC 606. This requires a high degree of auditor judgment when performing audit procedures to evaluate management&#8217;s conclusion of the aforementioned judgmental areas.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">How the Critical Audit Matter Was Addressed in the Audit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Our audit procedures related to management&#8217;s conclusion of de-recognition of the project companies, identification of performance obligations and estimation of variable consideration included the following, among others:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We tested the effectiveness of controls over revenue recognition for sales of solar and battery storage projects, including management&#8217;s controls over the conclusion with respect to de-recognition of the project companies, identification of performance obligation and estimation of variable consideration.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">We selected samples of solar and battery storage project sales and performed the following:</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated whether the fact patterns within the contracts and other relevant documents were properly included in management&#8217;s assessment in accordance with ASC 810-10.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Evaluated management&#39;s accounting analysis in terms of whether the identification of performance obligations, and determination of transaction price, including estimation of variable consideration, if any, is conducted in accordance with ASC 606.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tested the mathematical accuracy of management&#8217;s calculation of revenue for each performance obligation that can be recognized.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;">/s/ <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:AuditorName" id="Narr_9g0lrekfTUe5JrhYBmVffA">Deloitte Touche Tohmatsu Certified Public Accountants LLP</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="dei:AuditorLocation" id="Narr_bZBPrjCG8kGS8zH05An4BA">Shanghai, China</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">April&#160;18, 2023</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">We have served as the Company&#8217;s auditor since 2006.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_c9995142_4967_491a_894c_b7dd90cd5d40"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDBALANCESHEETS_301566"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED BALANCE SHEETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_52164f69_c2c1_4746_a9f6_bfaea1a1003b"></a><a id="Tc_3HwTWLBx6E2A5PjmX_JPyA_1_2"></a><a id="Tc_RA4iEnjLm0KrcoC9xg1W4g_1_4"></a><a id="Tc_dooPG-Y_J0ms-wLn0iXyPg_2_2"></a><a id="Tc_gFCfjq78eEys4mvOTpKyDQ_2_4"></a><a id="Tc_uSie4g9IGEubXA1w1egipw_3_2"></a><a id="Tc_v-tC1Sf-oUSIF5wLxjtUIA_4_0"></a><a id="Tc_vNAtzA6XUUuIMGnZkm4GvQ_5_0"></a><a id="Tc_4wvJ6-LrTUauCh98F3MIkA_6_0"></a><a id="Tc_HUMrQULfhUqYY1W9asaL0Q_7_0"></a><a id="Tc_WBtFx9c6d0WkchYUfBf7Jw_8_0"></a><a id="Tc_RMMajlYHGkio-VKjjxn8ag_9_0"></a><a id="Tc_WU2Y2myvGU-tgF4eQPO8PA_10_0"></a><a id="Tc_-yBO-JxnrkyAEGdZrLXi1Q_11_0"></a><a id="Tc_9hwHY6r0hkOUGyfUc5L3lQ_12_0"></a><a id="Tc_Mo8DF5E_w0m7AFUNbkOVbA_13_0"></a><a id="Tc_duJfiCkhBkOBl9lcJjQB1A_14_0"></a><a id="Tc_WhVt8MnZr0-N7N_Dv8Z9cA_15_0"></a><a id="Tc_wne4wx29XkmZmzDOT1xC3Q_16_0"></a><a id="Tc_jVDsSCLEnk2fxBAkYk8wig_17_0"></a><a id="Tc_xVT_eZsyN0WASu-loqBicw_18_0"></a><a id="Tc_Bl-ya1MheEWoK_VX0DzkaA_19_0"></a><a id="Tc_FP4gH56MKkC20zmk-1TsJQ_20_0"></a><a id="Tc_8uLRYjRcNE-vIZ0jTnqQrA_21_0"></a><a id="Tc_yVtGA5av8EuXGCzPyU9UOg_22_0"></a><a id="Tc_h9SFXkzoG0yeu1ifl8ClXQ_23_0"></a><a id="Tc_gjlwo7Ovp0WD0QpZ6P3Sdw_24_0"></a><a id="Tc_ykiQWE8qrEmHjZhnyqE-Ag_25_0"></a><a id="Tc_eQBL6AyT20Op0iEQPFxj8g_26_0"></a><a id="Tc_xYypJzOcckWI5GKjKjTMgQ_27_0"></a><a id="Tc_pZ5g5lcDm0iNV4OR398rEg_28_0"></a><a id="Tc_qwKolkLHxUmFTC7WFW7jiQ_28_2"></a><a id="Tc_V8bDHI0Z3kuCVTkZ2NIM7Q_29_0"></a><a id="Tc_Z9eZ7ctg3U6k5G-9BV-Vqg_30_0"></a><a id="Tc_EaVyuxiAHEKF1xJYFwMb6w_31_0"></a><a id="Tc_GTzgEwnbM0O8wDw0t_c3nA_32_0"></a><a id="Tc_vdVOfXicwkmGjz1rKV58TA_33_0"></a><a id="Tc_xYDGwzLQdkmgjoaRiwo0jA_34_0"></a><a id="Tc_hyiGdmP9_Eabq2vhNPqoLg_35_0"></a><a id="Tc_RLXFfdQOEkudGp0EhTv9Fg_36_0"></a><a id="Tc_XkH6mQtXX0yKypyJV9cIgg_37_0"></a><a id="Tc_EdelegfzT0COUfPmNPgMoQ_38_0"></a><a id="Tc_-jrC4kVmL0qGNWXkyWH-NQ_39_0"></a><a id="Tc_piJWsskIPU2CS27V9grmAw_40_0"></a><a id="Tc_KNkmL60lNke2Dti_ikBt_Q_41_0"></a><a id="Tc_pAgM2Ap9vEqum49FPa6XMA_42_0"></a><a id="Tc_Fwkm_Y5VR0KR1JCKqMHuiw_43_0"></a><a id="Tc_2EO_mNzOUUGrIm3pNu7i6A_44_0"></a><a id="Tc_3XC91jSIM0CjXOxHdKdtSQ_45_0"></a><a id="Tc_K0OcQZGYfkONOIdc7hD96Q_46_0"></a><a id="Tc_TRkL1WpDjEe8RxI_TBqlpA_47_0"></a><a id="Tc_r2xZhYZnpEeKeSaSdn8TRw_48_0"></a><a id="Tc_Rmgo8t5V1kiwVAOLkJ1kuA_49_0"></a><a id="Tc_V6X-QYStU0K0K5KE4L_dYw_50_0"></a><a id="Tc_O_loysyaRk6JmTXWSJNhKA_50_5"></a><a id="Tc_KQaVzQkb6keLEUmHcNJ0_A_51_0"></a><a id="Tc_XWguLSuwiECHpth06WE2aQ_52_0"></a><a id="Tc_bcaC91SMXkidqEiY4V1abg_53_0"></a><a id="Tc_ip8lNuVLjkmHbjV0bZDAXA_54_0"></a><a id="Tc_ytTWeeqXoUOVM_Gjk0K33w_55_0"></a><a id="Tc_dS0Tuj-ULUaKeByJS47INw_56_0"></a><a id="Tc_k4w7LwYOoEOwAxrG_gJAhQ_57_0"></a><a id="Tc__sUgPQGFe0C5SY_22_HsuQ_58_0"></a><a id="Tc_yKdvORQOh0-574VvgMYolg_59_0"></a><a id="Tc_aybsr8faEUC3kLiLdF6JMw_60_0"></a><a id="Tc_PdjfSxjec0OtK51Os28OZQ_61_0"></a><a id="Tc_8IVV1t_iO0G43t7Fs61hew_62_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="6" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:27.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, except&#160;share data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">(Including balances in variable interest entities, see Note 10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_ZQUqpwbg7E-CIFA4zxTbZg_7_2">869,831</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_z79jn596MkuQT1LoZEhF4Q_7_5">981,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_n-rJycbxUEKLZSRrg7bCPw_8_2">560,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_GKmWnk5AEUmPY61B_Bgm2w_8_5">978,116</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable trade, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc__2boSg2gIUWqXIQfYRMZ6g_9_2">651,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_yGtzqry3wE66NPDuD7s1QQ_9_5">970,950</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_kJNcPKELoEaZGp8L28b6rw_10_2">37,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_ImNLHkJ3XEei7zd_XkJ-Jw_10_5">57,770</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due from related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_MkX8wuvuuEeGV2zzHHLEZg_11_2">73,042</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_tSY3sznkq0u9LrfAfP3p6g_11_5">48,614</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_0knjf9eJ6EizIh2ziUlNdg_12_2">1,192,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_hLYMKoOBZUu1rkcNfEQK7g_12_5">1,524,095</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Value added tax recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_cLKZUscKBEGPq8skPYsqlg_13_2">125,882</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_0hjQ3bRfCES-J59NQi3aOA_13_5">158,773</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Advances to suppliers, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_FVECozQVmUKUk7lN2TxBow_14_2">225,879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_qfyxWaM0C0W6As4VmNqvNg_14_5">253,484</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_g21NK-72CkyD8_nViINH4w_15_2">7,286</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_KLi8t0dhvEi79ggk01a4_A_15_5">17,516</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_ooIRX3EtU069fqg2MKsVsQ_16_2">594,107</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_-k4E3amOME67BjvZ2xzSvg_16_5">385,964</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_8Alq1MBNCEywDDiwMvX-tQ_17_2">434,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_tVj98gHaJkefitJse3IqWQ_17_5">267,941</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_HppdqdfUBE6M41vJGtqniw_18_2">4,771,827</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_5vCzPZdvyES3ZONxXF283g_18_5">5,644,657</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_BirXOpvfTkO_GRFkLpa7-w_19_2">3,818</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_fFgwsbDcNkalYeeyDCLKXw_19_5">9,953</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_nBXAEbyrq0qwWRxkGxWwSg_20_2">1,401,877</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_UbM1K3uZpUSDfdOfB4H_Sw_20_5">1,826,643</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_NtCtmohRtU2j_MAjljTgnQ_21_2">108,263</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_q5wInEUVFEuD6T5g05oqow_21_5">364,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_iSJCIayK6ECvkCt8o2TtDw_22_2">236,503</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_k_3BNzshcUWDTN-vdqS7Pw_22_5">229,226</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Advances to suppliers, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_Vie_6IjtJ0utvQBVx7gnLA_23_2">34,239</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_UiSOq6L0UEWwhZYzDe9bIw_23_5">65,352</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-0_C_rDKmEOIkKoG9FD9QA_24_2">98,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_RGAbzZEZsEaS5lNPiU3kVw_24_5">115,784</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_YoQSJifXs06Kmne7n9EWWw_25_2">18,992</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_S1g0suw-FkCccVXSjbKHng_25_5">17,530</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_8FiziFNkC02n7txxXjC62Q_26_2">433,254</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_kfD-Slen6ES_YT-HKu7gxA_26_5">438,529</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_dZD1jds1FU20uVBLOh7lWw_27_2">106,297</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc__3lAzNl37kOz7rzxKsNWqw_27_5">103,600</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Amounts due from related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesNoncurrent" scale="3" id="Tc_hVLv838eN0CpA_knqg-_6A_28_5">33,489</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_pM8pI0Tb-EyULq99aZ_q8Q_29_2">174,453</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_6eE4NK1VKkGS95-7ZaL5ig_29_5">187,549</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL ASSETS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_oG8gzNndaky93D2Ah9FO7g_30_2">7,388,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_jjj_QfDx_069y07Jr7ZzKw_30_5">9,037,128</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;">(Including balances in variable interest entities, see Note 10)</p></td><td style="vertical-align:bottom;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_Y9wETqBy1kC6bx_dcQ-C2Q_34_2">1,592,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_6BiW0rAtyUOMY9Yo_Q2HcA_34_5">1,443,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_6QCHD1k4mE6lPqXCJhecLA_35_2">502,995</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_cwotxfs7jUS43c-HALra9A_35_5">805,300</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Short-term notes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_fPu_m_zd80uQ1H-hIUeRgQ_36_2">881,184</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_WgjmB7pnIk6_tMJJ2gNkQA_36_5">1,493,399</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_hobFB9mdwkCiA7yycuopAA_37_2">143</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_CwrBMIr_qEqTezph0fMw5g_37_5">89</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Other payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_81VORUiZlUiRdg7p4Ujd_A_38_2">667,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_rfNa0DrR0U6vLAyEgiRXTQ_38_5">853,040</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_W4wVuY-6OEONxMEhEiPosg_39_2">135,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_kyCdUfjuT0OINuDF7tg_hw_39_5">334,943</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_D4AxkOgQg0-EclqdaJ60hQ_40_2">2,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_TWX4cRk4vEuUaEdS-VXfbw_40_5">25,359</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_s6HuOgCx5EKRRNqxPZkEVQ_41_2">12,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_IfV1LxeSS0mgtayKemNU3A_41_5">9,810</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_8k_lTXGtA0KePW0QRx27Ng_42_2">242,783</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_6TW1r1bgs0aYrKp3tWnFVw_42_5">293,012</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_oIyTR8GeT0-m2oGFXlGUCA_43_2">4,038,148</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_pLdOx5A2DEKbD98Ym2rdhg_43_5">5,258,768</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_3ag1XWjwnE2c6HFHLbiSdw_44_2">523,634</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_azHtgs0IK0uo5S0ZZzVe0g_44_5">813,406</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc__zm4gTYvqEek925oe8Xlsw_45_2">224,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_yFuTv2KvgUCyrHPRzkfbyg_45_5">225,977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_Gk6w0x__d0y5ECmjwQ1xjg_46_2">7,448</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_4i3TTvORIkOiGYvByuyEdA_46_5">5,730</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_UG_0ifsf50mANhvMiKPVqA_47_2">48,150</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_3pLvbRwSQ0iUjUyt_fOxBA_47_5">66,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Loss contingency accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_UlZtCahqukSfcsOWC06JOA_48_2">15,148</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_TUOydN9zaU2EBaG5rrrmKw_48_5">5,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_yq3d3tpAzEmTX4H1dlKttA_49_2">23,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_y6CO2TznWECs37_4stPd4A_49_5">25,714</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Financing liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesNonCurrent" scale="3" id="Tc_2Q6CmZQjjUyOahvjBaCIdQ_50_2">53,641</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other non-current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_isHR_F4GmUCrBs3TLlEKDQ_51_2">327,845</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_g5YsemN24EKPSZtI_VLZqQ_51_5">329,209</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_V7GL4CFjYE68JTOysxO-_w_52_2">5,261,904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_l2zfVV_JTEWG0bh4idAtmA_52_5">6,730,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Commitments and contingencies (Note&#160;21)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:7pt;">Common shares &#8211; </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_jW1ZVUgE3UCfZOiIdPqpBQ"><ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_HTBcldop6Um5wgoGGHTQ-g">no</ix:nonFraction></ix:nonFraction></span><span style="font-size:7pt;"> par value: unlimited authorized shares, </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_YNCDgN79K0KMh4YZj-MjMA">64,022,678</ix:nonFraction></span><span style="font-size:7pt;"> and </span><span style="font-size:7pt;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_a8dwOHslu0GWF-8loNsu0Q">64,506,055</ix:nonFraction></span><span style="font-size:7pt;"> shares </span><span style="-sec-ix-hidden:Hidden_MjDLUxTZaU65TJmmryl68A;"><span style="font-family:'Times New Roman','Times','serif';font-size:7pt;font-style:normal;font-weight:normal;">issued</span></span><span style="font-size:7pt;"> and </span><span style="-sec-ix-hidden:Hidden_PMazvvIONUe4nMyMirKcwg;"><span style="font-family:'Times New Roman','Times','serif';font-size:7pt;font-style:normal;font-weight:normal;">outstanding</span></span><span style="font-size:7pt;"> at December 31, 2021 and 2022, respectively</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_Jeb1Qeg-7kKH8h0yScWSng_55_2">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_791aE4YOSk-52fB2ix1lhw_55_5">835,543</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_SCFbc932VEmbZPmXmS9VQw_56_2">19,428</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_zwpRJBptl0u38siGxjI28g_56_5">1,127</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_cIdWkLY3Y0GHQHRBscOSPA_57_2">1,035,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_-wX6yhZ5yEyLumx7E9vpxw_57_5">1,275,520</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_SZqw4kjdwU6wPpVdLA_iIg_58_2">50,584</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_sgLJZliqa0qoaByWolB2vQ_58_5">170,551</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total Canadian Solar&#160;Inc. shareholders&#8217; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_qc3ZEgOJGUqFd6RpYVRz1Q_59_2">1,801,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_ohRoajKeWkeBBPohGChcXg_59_5">1,941,639</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_W42vxlq7w0iPiZQiVAzMtQ_60_2">325,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_csoupsj6l0i9usP-h3ZKZg_60_5">365,055</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Xj-z2ur9Rk6sdH-AG1-KpA_61_2">2,126,438</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_33qwe-A8YUmNj_P28uBZRw_61_5">2,306,694</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES AND EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_1mdVs5gLyk2faCUZZS6Dcg_62_2">7,388,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_E0gHTz1SQU6BgaWeTJ5HiQ_62_5">9,037,128</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_c8fdb3bd_12da_4830_9738_186954292b39"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONS_69681"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_0f28520b_24c0_42fc_93ba_e62bb540605a"></a><a id="Tc_rgtSN7hWNEa9ao1eqU7Nsw_1_2"></a><a id="Tc_Pujsact38k64UNa-kK5FJg_2_2"></a><a id="Tc_KKFiDZGWiE-sNof3Mb3X1Q_2_5"></a><a id="Tc_5TSq6EaD7keX3mJJ2XIZgg_2_8"></a><a id="Tc_i0gNuo6tW0a9j2O_beJayw_3_2"></a><a id="Tc_v2KElaGkgEOpme8jUJyxKA_4_0"></a><a id="Tc_u2Zhva4_xUaoppaLggbHqA_5_0"></a><a id="Tc_wkHDnTd0PkeLoZwSZTtPMw_6_0"></a><a id="Tc_oJorW_7YuUy_8S7oTKV1uQ_7_0"></a><a id="Tc_az27IuHGa0WnITjmXetrdw_8_0"></a><a id="Tc_p11C9H-QPUa8RmEJLP2Nbg_9_0"></a><a id="Tc_o1nxWpLVtU-kPJAh2B3KBA_10_0"></a><a id="Tc_PkITsdTj2kSFl68YqwWLAA_11_0"></a><a id="Tc_MbW9QdB5vUufkdUK0rkIBg_12_0"></a><a id="Tc_7ysUeDFEY0u-GXzerZD1sw_13_0"></a><a id="Tc_sXOCrNtzDkej9RgT3DnwtQ_14_0"></a><a id="Tc_E5D1waUD9kiCEF_oUNmM4w_15_0"></a><a id="Tc_v8MWnxzKC02wB24tBfWQdQ_16_0"></a><a id="Tc_8rBr0wUec0Om4NyQbqAROg_17_0"></a><a id="Tc_sALNp9gX6kiP5vY_bTCrHg_18_0"></a><a id="Tc_6icM2Mf-rkO2gNlW4jKzCw_19_0"></a><a id="Tc_zKXdOtaZYE-iSsvITfN69g_20_0"></a><a id="Tc_9oBIGaTwLEW8blHtXZqIKA_21_0"></a><a id="Tc_nkR1-fOx906Apqn1rDLHbw_22_0"></a><a id="Tc_YYmLNf1JEk-wd0zYZ2FG8w_23_0"></a><a id="Tc_PTSBtZeGNkmA5ZwYu82RVQ_24_0"></a><a id="Tc_oemyR6qxlESNUK_7wAIdeg_25_0"></a><a id="Tc_rryQhmG6cEysHIYWYh7Sxw_26_0"></a><a id="Tc_0yIhHXOnokqCh3Vm2sUyoQ_27_0"></a><a id="Tc_Knsyw3-oyESzkdF7ibO00A_27_2"></a><a id="Tc_o_wObWbdMEy5BxGzJmypcw_27_5"></a><a id="Tc_FrG9WcNsq06BsjdVOwT3Qg_27_8"></a><a id="Tc_wAmcKcnVBEqVTeViydDCoQ_28_0"></a><a id="Tc_9TRpopfMr0GdW9Co_L6uHg_29_0"></a><a id="Tc_1rKzFerleEi7iQcIQha0mg_29_2"></a><a id="Tc_G7fRXgpeEEan8a32vXOKIQ_29_5"></a><a id="Tc_NqUNFhsCR0KByQRHqeI_3Q_29_8"></a><a id="Tc_4qDWkEhWcE6Y217G3svAPw_30_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share and&#160;per&#160;share&#160;data)</b><b style="font-weight:bold;"><br /></b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_AwlH-xZn60e7NNB1U5-3_g_4_3">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QLlaK44as0yUBpJabHQffQ_4_6">5,277,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oAIkGHHUnECmBLsqbjrQNA_4_9">7,468,610</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_DCXgxc16PkKJsAQyL8OHfw_5_3">2,786,581</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_ngzrg4nCaEiWFXdVQ7SglQ_5_6">4,367,857</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_VNHoc79p70C91jkRpfu3Ig_5_9">6,205,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_ZhqJHnqfa0CMC6xoFXRF4w_6_3">689,914</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_AcAFeh5SYEC_4e92GZ4iaw_6_6">909,312</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_FzgkSIp6SUWdLbtfVI7OLQ_6_9">1,263,136</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Selling and distribution expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_YNWt5K3VEkCXejl_tW9hjA_8_3">224,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_5xBV-nRxMUyUecIs4u1ITw_8_6">398,650</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_q8KuLAJ6jUyqiYacWspg3w_8_9">558,926</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_vce_wVMsl0C9032DMiKdyw_9_3">225,597</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_w8T9U9PbaEGP9Q9NIzIpYA_9_6">308,942</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_G8bnjPSalESzDiOzUGFRvg_9_9">342,129</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_SyXr0EZb2EWuZo3h6Ez4wQ_10_3">45,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_9pokI0DNiEqMYKJuRismcQ_10_6">58,407</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc__-mwqWXug0CAEY1nB9nMJg_10_9">69,822</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_S-Ta_S3xB0mjs1KqIKw18A_11_3">25,523</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_nTILpQE1c0u5bweUThdFmg_11_6">47,068</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_mqv2tz_QIkulQ-ih4cEnCg_11_9">63,802</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_LKMHczbXeEmweJJUGxLq1g_12_3">469,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_ZzhYOAV-1USrJD-iNtGuPg_12_6">718,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_x0s-KApo70mvfWJ6K2RvcQ_12_9">907,075</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_GpY-mpjWS0C5WQYg7b2pkw_13_3">220,430</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_OMjnFy-qsUmhkSWx-9U7Xw_13_6">190,381</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_aVLbhqOt_kirAGdVuvwR0A_13_9">356,061</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expense):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_KoVuv6_mgEGslHVHuIiAGw_15_3">71,874</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_Sh0RFEOkxUy0DILLLzNxyg_15_6">58,153</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_dr6xVsjks02qgumuqeT3OA_15_9">74,266</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_A00yr8rbokWWrQJbjBvJGw_16_3">9,306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_CTSGXfRKWk2bJDECgoIgaw_16_6">11,051</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_l2dyINW0YUyb7Ydj4vxpqQ_16_9">40,615</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_49EKdLPIp0OeAw9ZjHokgA_17_3">50,001</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_P-zX5TUzyEWYTuhMQS6FkA_17_6">23,785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_H-sOGHgZKEukenoB-Iv56w_17_9">44,489</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange gain (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_9227iXVoQkKINW1BGQ6Ydg_18_3">64,820</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_6D_naYD_A0-FsbK-VMjkwA_18_6">47,234</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_15hPRrrLgUyU6P9Rg1wZuA_18_9">77,689</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment income (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_Kq2FKzCG6UCHntr2mEzbEQ_19_3">8,559</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_YGbp0JoDgEGXMVxMPdrtBg_19_6">18,634</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_pinZf--QrkGgHbdkQ8ESjg_19_9">858</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total other income (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_xXw6mztS90ePgUsB66fh1Q_20_3">85,946</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_XJrOhoGxl0at7O3dBQ3EUw_20_6">51,917</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_mmqKOicDO0mBOgeGZckGnQ_20_9">407</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before income taxes and equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_BEZYs_f_kUGBrM2bRT7I1Q_21_3">134,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_lTltoJeq4UOHAv-GWCMMqQ_21_6">138,464</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_ryf_9hppeEGscNB6xWUMGw_21_9">356,468</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_n_7eWITGcEmgHqNlyaXjhA_22_3">1,983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_rcZoaqPi_0GWTzUFIBdNdQ_22_6">35,844</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_z_psKvjNEUGULpOSisQbFw_22_9">73,353</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_3598YuzVGkaQH7hwKuWLXQ_23_3">10,779</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_QZ8UWi5QsEeGrKsqY3Dauw_23_6">7,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_CoYvIzpL6kqzr0fGa4bHmQ_23_9">15,440</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_SpDDaU2btUmefsMQ6okPfg_24_3">147,246</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_Lf7pBOtGV0ir8ZV8_LGtUQ_24_6">109,876</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ZrZ841PWuEKl7d-AThmUFg_24_9">298,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: net income attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_AI-Oy_5f-0Ock9PK-fLh5Q_25_3">543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_Er7XMLrqaES37A50isNqdA_25_6">14,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_uAw2zGHeEUa72n203cr_Yw_25_9">58,587</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_a3y08rDtDkKEghx7rzLEWg_26_3">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_vs9WDiu8l0qrs8qn2NJkLg_26_6">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_upOh93mpik61Mqo2AKNJYg_26_9">239,968</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_3NFzmRdM_k6_9Zaq6a85CA_27_3">2.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_qoqWwYWSgECUzMf6NxxqgA_27_6">1.55</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_OaIYfUM6OUyK4xwpi_BDfg_27_9">3.73</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computation &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_edU-S_-nKUS9Pc-QtDfRXg_28_3">59,575,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_PN8vm0tOiECzhFFY4lG2Rg_28_6">61,614,391</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_s0x_zxH1xE--6gI7FVDUxQ_28_9">64,324,558</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_VUJjP6XcREWBvIHM6fkV7A_29_3">2.38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_PvrknQ5WskW2xd54kZKNZg_29_6">1.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_n5_WnSgE1E-6d67sJIujTw_29_9">3.44</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shares used in computation &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_xL3LQIN6AkyDPSsxU0wZNQ_30_3">62,306,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_VkM3NnvKmEWcHtMHZ0ZnNQ_30_6">68,872,102</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_dvae4SwmkkCpNxFDXZipwQ_30_9">71,183,135</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_db487794_0c94_4b5d_ae16_2ec3234378b7"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_7aa939f5_8334_440f_b00f_e4ee57668c98"></a><a id="Tc_GFchqiDzd0GKygDopi6jTw_1_2"></a><a id="Tc_VxU3QcfNlU2nVXK8zpcjRw_2_2"></a><a id="Tc_Rf_zbrJjDEWgRg7DErA-Jw_2_4"></a><a id="Tc_9CQvbh6weE6WbTScPbOZdQ_2_6"></a><a id="Tc_QRjGMr8ifEuD5du3il3fXA_3_2"></a><a id="Tc_05c6_vqNuEKW35gKzcJY7Q_4_0"></a><a id="Tc_f0NOSElxJEeXmjLDOO3vZw_5_0"></a><a id="Tc_bnNKD5DtA0mLgaq-snX12Q_6_0"></a><a id="Tc_J21Ar4IrMEOoDl_FbQus-g_7_0"></a><a id="Tc_GtZZKgQ450apWuAIRhnuwg_7_2"></a><a id="Tc_87RmC5D36keknJ_iJOzP1g_7_4"></a><a id="Tc_6q4MFXBc4EqslQoFSdoXyw_8_0"></a><a id="Tc_LryT-DD3MUKlQXm7nGjFxA_9_0"></a><a id="Tc_2qX7s_lg5USC46RWxGkpiQ_9_4"></a><a id="Tc_ahNc96wrRECXiGOU8TeO5w_9_6"></a><a id="Tc_EMIJJXVjWEuKqXiDi62Ksg_10_0"></a><a id="Tc_Y2d71Ddl_UmngG5j_XC1Hg_10_2"></a><a id="Tc_RO3lA0U0E0K626EooAR9YQ_10_4"></a><a id="Tc_bmcm7q8gbUWn8Jh4QAIUdQ_11_0"></a><a id="Tc_hqKhALK930KUaQ0oJWRC-A_12_0"></a><a id="Tc_u0XtH8ZB7kqVTVGuehuAxQ_13_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_-aEWaGk0NU-fsc4nl2aC5g_4_2">147,246</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_FjLk1uRpPEqkYqb2AhXFeQ_4_4">109,876</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_bwWdkLrfZky9g8P1IuSyUg_4_6">298,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other comprehensive income (loss):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_mA2DnQm5v0ejk8VesQGIkg_6_2">76,188</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_Yyy3V9A6ZkSqbSE3A4pRkQ_6_4">26,296</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_FYXu4_EqGE6xuH3z17VJ8A_6_6">150,127</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain on changes in fair value of available-for-sale debt securities, net of tax </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_T4ZkJmTaK02doFEOIim97A_7_6">904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain (loss) on interest rate swap, net of tax </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_-5gyRT22VkuQlQzZoGYSoQ_8_2">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_MmVHVozVo0CxIVtbcboL9g_8_4">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_9zL2vlxCmUmnaavLDbDQkA_8_6">716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">De-recognition of interest rate swap, net of tax </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_NtJLLTR0oE2etuiluNmAGw_9_2">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Share of gain on changes in fair value of derivatives of affiliate, net of tax </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_LQw0xsSgqkOhjWT8moA67w_10_6">3,754</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_4aTQNvwWAk25Xs-9SxfeDw_11_2">230,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_9pcHKnjySEC-KpY6cBxtWw_11_4">83,639</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_6816zJF5xEWi8uuKhvT5pw_11_6">153,802</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: comprehensive income attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_ZJrf5aNoWEq4p2Yn7MkpYw_12_2">2,412</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_cPRAzq2H60m0u0LaSGD5Cg_12_4">10,296</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_fK3yGEWt10yGDd5Gsf05sQ_12_6">34,345</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive income attributable to Canadian Solar Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_citUKjpV0EGGD09XXQpBsg_13_2">227,631</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_spEgZvjc7keWLp_QtBLh7Q_13_4">73,343</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_GqvPqIjU80qfcUJWoqXCww_13_6">119,457</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_104b597d_bb53_4c9e_b91d_165d6ce63326"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCHANGESINEQUITY_"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_654ae7ce_4663_44a6_a418_81d995a50d01"></a><a id="_8421db6a_4613_4fcd_bd9f_ea16902f32d5"></a><a id="Tc_URILzqoJvkaFUfD48dbXWw_1_14"></a><a id="Tc_DLdtzVYG9USfh1hSEe3sog_1_16"></a><a id="Tc_R016hzC-8USdQgD7f0-d-A_2_10"></a><a id="Tc_7AFJ4zdqjUeuxU1-c5u3fQ_2_14"></a><a id="Tc_gJtTVTNqPECkILAMxAg1FQ_2_16"></a><a id="Tc_Gv119hX5_kKfsi1LDStN0Q_2_18"></a><a id="Tc_bnlXT0p5wEKnFfUNz-AXSw_3_2"></a><a id="Tc_Jxe6Gr84JUKCbwt7RVGEfg_3_6"></a><a id="Tc_RdDWTfFTVEKQ4EEyKstyCw_3_10"></a><a id="Tc_pAjQBVLJ-0eOt7qXNNxTJg_3_12"></a><a id="Tc_8euziaGZD0-CzpIcTu_D8g_3_14"></a><a id="Tc_xZQW82C3Z0uN0s2AcIFVmw_3_16"></a><a id="Tc_wH9sRqqTDUSqTWT7nkyiOQ_3_18"></a><a id="Tc_mFMxIDHKPketNVZBLKNVsA_3_20"></a><a id="Tc_lt11xyZYbkSEvHGYPDHTzw_4_2"></a><a id="Tc_RpWvjB99oE6kD40ey8Ugcw_4_6"></a><a id="Tc_sx0jSuHOIUylI68BYDVVuQ_4_10"></a><a id="Tc_uDlE5-dtA0q_Pd8pGy1bGQ_4_12"></a><a id="Tc_6_cRnWCV9E2g4sPUODL3kw_4_14"></a><a id="Tc_MZCBLPMVU06Re0gqNwnKzw_4_16"></a><a id="Tc_UJi865d0R0Oy98z2EgrCBg_4_18"></a><a id="Tc_zuesJP-jsUaUqlFpaHYjVA_4_20"></a><a id="Tc_2eX15GcOFkGW8BP-Fu6PaQ_5_2"></a><a id="Tc_t5qNnz-rnEK6s0_Hwiw5Qg_5_4"></a><a id="Tc_KUX2j1pzlkCzq3wRkIs4YQ_5_6"></a><a id="Tc_M0wvfTFn1EO0xTCDEcjyNw_5_8"></a><a id="Tc_oEgsoGoY-Ea_gVngJ87XVA_5_10"></a><a id="Tc_ZsTjMVk-JUW-_TCcx1pFBg_5_12"></a><a id="Tc_6qqhx_pvVkSKsRBcJjnH2g_5_14"></a><a id="Tc_lAr_VZOu-k-IDwVd3V_g3g_5_16"></a><a id="Tc_7Hl3Lobj8kSNsizLAs_S_w_5_18"></a><a id="Tc_bitu3XkpVEy2FYNneEzMzA_5_20"></a><a id="Tc_QreMCM9jjkGxLVvKW3EvMA_6_2"></a><a id="Tc_b9LoJh45k02gYKjIpmavxA_7_0"></a><a id="Tc_UuaJ132qF0e_bpO13QQxLQ_8_0"></a><a id="Tc_kBmBTiiPX0GmKtcBKnOasg_8_2"></a><a id="Tc_8DT-KU-3S0WB_ZEt41KZNw_8_4"></a><a id="Tc_MagFHjJ9ek6qTTCrwoKFmA_8_6"></a><a id="Tc_aLsr9hGqJE2ntHtQgDlYQA_8_8"></a><a id="Tc_4ZGayf-ju0qQ0bFNlZGEzA_8_10"></a><a id="Tc_e6hNKutozkqYdhyOPg7Jjw_8_14"></a><a id="Tc_7RpdAsCqaUCdprOWz_6hBQ_9_0"></a><a id="Tc_YJP7DMF_a0eRYCo1rgXmwA_9_2"></a><a id="Tc_yk41gw9fV0idT4Wv76PNhQ_9_4"></a><a id="Tc_1x6TcMo2EUaEN9gPNINWFQ_9_6"></a><a id="Tc_GfVp5ya-j0m3puQjNJ2Hpg_9_8"></a><a id="Tc_RhqnsxMaSUqpeSAHHiZKQg_9_10"></a><a id="Tc_ZN0ZZPw-tkKpbitHoyvFIA_9_12"></a><a id="Tc_PoGGXfysP0W-BmyuyPDnZg_10_0"></a><a id="Tc_FK10VA-Hfku2SWCkLpIqnA_10_2"></a><a id="Tc_GUAWUoBmc0OuvA4jCs_WHQ_10_4"></a><a id="Tc_S1oednWXB0aSk3h48O6xdA_10_6"></a><a id="Tc_SgMg0m1xiUK3IXw0rvcAlA_10_8"></a><a id="Tc_V0vY8UJjIE2qo-2NQVSpyw_10_12"></a><a id="Tc_z2vHJERsW0KE8uTwN9OC9g_10_14"></a><a id="Tc_AjVduHSspUW_JTPiTvWGsA_10_18"></a><a id="Tc_yHv16R9_Mke89baWx6nEeQ_11_0"></a><a id="Tc_qEpFI-3sak-axB6BhnTgcw_11_4"></a><a id="Tc_yodyGtKO20uZsjGTcUP3Yg_11_10"></a><a id="Tc_ErjO_vhDvEmwWY7-GUPDEg_11_12"></a><a id="Tc_Z67of9iEmEC-T4cvx0WX7g_11_14"></a><a id="Tc_cc6PqTDTO0qMnwqNqr9yQg_11_18"></a><a id="Tc_Qf8E9D16WUW1mmFF89pHgw_12_0"></a><a id="Tc_uzF_O-x5z0SIc4l-aU6oOw_12_2"></a><a id="Tc_bMB7nKOQGUefceYKpOb5JQ_12_10"></a><a id="Tc_ExM7Wyzprk2NztW5-e0B2A_12_12"></a><a id="Tc_m9VTOTqfGkiwMN8HNUtGbA_12_14"></a><a id="Tc_Pllq-2th1UWPFwfTj_OXxw_12_16"></a><a id="Tc_8VrHDXJS8EWpddMWLD7f0Q_12_18"></a><a id="Tc_GkzwIMpre0SIxCPHOOOm_g_12_20"></a><a id="Tc_3ZD-cyVBGUqeGxsdm_Ry_w_13_0"></a><a id="Tc_RvqfwHPM-k6qw9GISu4vJQ_13_2"></a><a id="Tc_oIKS3rGU-kGf9zgf1_HRGg_13_4"></a><a id="Tc_p8-w1oQnLEqP5xjFnVT1lQ_13_6"></a><a id="Tc_BU4iXWJGKEiwmyPLWaVmEQ_13_8"></a><a id="Tc_CuNXEDQzFUS44UwchkXklA_13_12"></a><a id="Tc_roxqFas6zEGeo7xFbqMTFQ_13_14"></a><a id="Tc_tbn1L34XaUeZlXv8U2qjWA_13_18"></a><a id="Tc_4-y2j4sbFESnTCTJOwsQIA_14_0"></a><a id="Tc_AklWjjmM6EmITSXraqXBBA_14_6"></a><a id="Tc_inq6WvuORkyuJkqm-_FJwg_14_8"></a><a id="Tc_X4lrixf-BU60jGntigezeA_14_10"></a><a id="Tc_6t4DfH5RzUyjpQge0cDFog_14_12"></a><a id="Tc_bWzWddrfmEGIOZXr_C87Lw_14_14"></a><a id="Tc_wZ4l0k0_L0KSl7MZgAkbug_14_18"></a><a id="Tc_sWsQmI764Em2h_rqYjNagA_15_0"></a><a id="Tc_GT2hz-dnsUamArK33SBAZQ_15_2"></a><a id="Tc_VNBDUln-MECIHUAp2JTxsA_15_4"></a><a id="Tc_PCVfYdpm6U2byAf0RyQRFA_15_6"></a><a id="Tc_AdhuCpa4qkaEroMAPf95iw_15_8"></a><a id="Tc_YscytX0p1EaB1fee3UUEAg_15_12"></a><a id="Tc_LT6PWF25jk6M4L2nz0umkA_15_14"></a><a id="Tc_szEb7BzvqEy_ujLTCfgIiA_16_0"></a><a id="Tc_sSrqolZReU2oulK44SsjYA_16_2"></a><a id="Tc_4mRxXMC3VECWhU9GY0qlew_16_4"></a><a id="Tc_cEmdXuWvXU6aIlGAmNMUEA_16_6"></a><a id="Tc_QC0kANR4o0OnraOjZdYEzw_16_8"></a><a id="Tc_itCM4c9U_UGleQPnLlNTDw_16_10"></a><a id="Tc_dxE1MvLxEEqEQEdjRnU9IQ_16_12"></a><a id="Tc_TEhdXiuV2E2pRTFwHaEZxQ_16_14"></a><a id="Tc_GurIsiqkR0WzSigyf_gUvw_16_16"></a><a id="Tc_udAgHJf6B0Sekj9vmwiEmw_17_0"></a><a id="Tc_mEmvEcLsmEKoct4g3sTelA_17_2"></a><a id="Tc_6QHu4lhBgkmUR5oC6F5QPQ_17_4"></a><a id="Tc_iyW7Xu5N80OYvUACi74DKQ_17_6"></a><a id="Tc_JOI9YlEf0kSJxiAG8vh0Rg_17_8"></a><a id="Tc_6FqejEoXfkCOhLk_Gp8pfA_17_10"></a><a id="Tc_8Rmk9CwJn0-di2akQyQI9A_17_12"></a><a id="Tc_dPfhL2QsSUaTg-aTOB9Ayg_17_18"></a><a id="Tc_t8qgIgNjiUmwsvqwpdQpTQ_18_0"></a><a id="Tc_AiiV4ntsOUiP1PmzI1T4qg_18_2"></a><a id="Tc_3oLp7YM8oEmWwfmLJU_XGw_18_4"></a><a id="Tc_j8fCLzY-iUSPOf6H9BSIbA_18_6"></a><a id="Tc_eChVF67YdU-zLz0uh28HfQ_18_8"></a><a id="Tc_2Pf5lwPq_UGNnaMrBx7-SA_18_10"></a><a id="Tc_D9jfwFJ0WEitD0rgSwB1lg_18_12"></a><a id="Tc_yR-3MdM6V0afCIV4MYqk0g_18_18"></a><a id="Tc_gZILbGcmhEak43mWOxg4Xg_19_0"></a><a id="Tc_Fh3oSqYxHkSL2apVNIZHDw_19_6"></a><a id="Tc_1ei7TJGDSk-r3_0ZrpJH9Q_19_8"></a><a id="Tc_eDSz7I3Xu0u7hfIlXBZLdA_20_0"></a><a id="Tc_QFSGf2DfnEOO0iUdU4OFLg_20_2"></a><a id="Tc_xrn3I6XPqkyAjZIs6fIylA_20_4"></a><a id="Tc_YeSV6IKBPkK6o0EmIY6A4A_20_6"></a><a id="Tc_4ZJPmaEELEy3f7vqlmXStQ_20_8"></a><a id="Tc_qwicrimx30OwNRAQ7fAF4w_20_10"></a><a id="Tc_TC2Gut2ZUUevwE3XbljloA_20_14"></a><a id="Tc_2XNPe9-lukGqOdi7v8_PrQ_21_0"></a><a id="Tc_6jSbw9GCmkOVlLIfdRzbyw_21_2"></a><a id="Tc_54AMUeOG1Ee5sNhJDJp2Tw_21_4"></a><a id="Tc_xgh7Ipkhu0avQH4YtDgdWA_21_6"></a><a id="Tc_9SKUzSmz7k-Mfvj86M0zZg_21_8"></a><a id="Tc_Uf_oYyHtOEOTRQwj5Jncdg_21_10"></a><a id="Tc_hgvyKt8iAUWE9s8WrQx7fw_21_12"></a><a id="Tc_BissevsSTkuPIW0Obb-DsA_22_0"></a><a id="Tc_FI9tC3w3KEiJls2k65156Q_22_2"></a><a id="Tc_dY2NeiRjmEiZL_xaAyb6xg_22_4"></a><a id="Tc_vEK_lKZc7UW7xaNJdkERFA_22_6"></a><a id="Tc_Sniwneej2kC3AC1q5CPsXw_22_8"></a><a id="Tc_IBata44a1kCkULYkU-pGXA_22_10"></a><a id="Tc_9REOEt2xf0OGmLVnvgoW4w_22_12"></a><a id="Tc_zNcPhbMLN0KxazPbJCOYBQ_22_14"></a><a id="Tc_BGo_ITlyuEeLc6hlmEurcw_22_16"></a><a id="Tc_Krp_8MpuT0WAXCNI5F0_1g_23_0"></a><a id="Tc_3BLBWE8jZk-gF410IyFw4Q_23_2"></a><a id="Tc_jPGxj9OUBE-MVkDoHwIwPw_23_4"></a><a id="Tc_BfnplBP64kimRJKyrrSTOg_23_6"></a><a id="Tc_NaJuQWLgZUiShC2KS9xB_Q_23_8"></a><a id="Tc_Xyv1gSwImUyC5_2jEkGOPw_23_12"></a><a id="Tc_DakBSMzhE0apwPcuDJuuqw_23_14"></a><a id="Tc_EkS1I7fez0WDNACZ4KZ1KA_23_18"></a><a id="Tc_93Q94mhOT0SxZjFz4UBs8g_24_0"></a><a id="Tc_oYDyBGH4SkeqpS6BYFS9xQ_24_4"></a><a id="Tc_2Z1A4UmpCEOxUK3y6_mblA_24_6"></a><a id="Tc_mJHADndIP0iJDZeVapgZWw_24_8"></a><a id="Tc_xzJAQv9fHEeLwAqR0WaZlQ_24_10"></a><a id="Tc_P--dV4JWBU2WN-ERMAfcWQ_24_12"></a><a id="Tc_Xj1gLo-tN0uM00R_zeKSTA_24_14"></a><a id="Tc_MUOqva7KqEGIQfLoHJ2FbA_24_16"></a><a id="Tc_LMfQYKO8bkilvbwBh9S8zw_24_18"></a><a id="Tc_-Fwb_Dh3Mk2mHR_CGFToyQ_24_20"></a><a id="Tc_Vn8nMUqBh0G983t-7ko6kA_25_0"></a><a id="Tc__zx6Wue8HkyL0mSHyTq3og_25_6"></a><a id="Tc_FIbpRuE9UkGU9yHoa5RqDw_25_8"></a><a id="Tc_GO5NentUG0Gm82NcCUwVOQ_25_10"></a><a id="Tc_MQ11q8OrO0Oif7HExbgzVQ_25_12"></a><a id="Tc_5o4dg_W_BkGKvwOnXYVzLw_25_14"></a><a id="Tc_U5P2VaBFfEGyOgWgKHf3Qw_25_18"></a><a id="Tc_s6uJwdNumk-Voz4dTy4jCw_26_0"></a><a id="Tc_VpJN_L5y9kaqtaz3QIZ_kg_26_2"></a><a id="Tc_Ykj58fQ9wke0TnYsPH4B1g_26_4"></a><a id="Tc_4q0DkvzjikGr9QdWctVFhw_26_6"></a><a id="Tc_t3MTN7ndYUqFJSUJBhUIJQ_26_8"></a><a id="Tc_9mZtwoETdkOsQ_UXAuslnQ_26_10"></a><a id="Tc_DG_TnO1LmESPlcxUV2ZdOg_26_12"></a><a id="Tc_YLmE6CkuuEqgiIl9djl_9w_26_14"></a><a id="Tc_QftYPa4Z0EOUFehTe-VPpQ_26_16"></a><a id="Tc_AOKdLW3pDUuhhjDDyr3M_A_27_0"></a><a id="Tc_GzWdCYr8qESugeuKzv_N1w_27_2"></a><a id="Tc_51rORsJbNUC-Qzf5PKq7DA_27_4"></a><a id="Tc_AqG2gGKaSkSDRrXid-8PzA_27_6"></a><a id="Tc_W0sccc6S1UW_BZMiB5oFlA_27_8"></a><a id="Tc_GsmpOQrjKEGGoURcu-NvZA_27_10"></a><a id="Tc_no3LJ0IYy0S85ChRUj5FXw_27_12"></a><a id="Tc_A9mitTlhmEmgQiqYUcv4sA_27_14"></a><a id="Tc_nENtZ8BBMk2tew82GjTd_g_27_16"></a><a id="Tc_1B4JTcXXmEqBnjo4T-p-9A_28_0"></a><a id="Tc_D7t47KKkRkaQR7cv6Q6Q2w_28_2"></a><a id="Tc_30KuULp73kqf4XZzFpz97g_28_4"></a><a id="Tc_uZCzFIun4k62ZwNBpm5mcg_28_6"></a><a id="Tc_jJeMyq7qGUebeBtXFPZnOw_28_8"></a><a id="Tc_ptp9lvZyBk2sANl71srR-A_28_10"></a><a id="Tc_zPhcZ3rXPEe2QRMDwd8U0Q_28_12"></a><a id="Tc_ItviL8JwZkSOIS8ynKyY_Q_28_18"></a><a id="Tc_9ILxTm6U3U6dcnDvAqLznA_29_0"></a><a id="Tc_M72lOk5mbUyM3cBKS1wenQ_29_6"></a><a id="Tc_KdcJab6R90WT96519Knl2A_29_8"></a><a id="Tc_V4WGSJB960CEAJYVJqKipQ_30_0"></a><a id="Tc_utJZekUlGUCQnqfZrkcfvA_30_2"></a><a id="Tc_gnBNMVQbiUauuJYJlFZ29g_30_4"></a><a id="Tc_GpnYfzMR10CV7AwYogo1vw_30_6"></a><a id="Tc_uuwArydGZ0uOXNfP7xK_6g_30_8"></a><a id="Tc_HlIo0jPW7UCP-DM0dzDddQ_30_10"></a><a id="Tc_l9eyyNFzsUiIBUHou5PRjA_30_14"></a><a id="Tc_Pn_oQAp-40OZkezmFHdqEw_31_0"></a><a id="Tc__KpjlxP_V0uiFimDycyrZA_31_2"></a><a id="Tc_YvEayVz8zUiungcbuWqnmA_31_4"></a><a id="Tc_J7mTiv5WS0OG2qOXPMbDcQ_31_6"></a><a id="Tc_j7eDysWJjEaFFS9wSMMX5g_31_8"></a><a id="Tc_zWBy9DjOTE-tlRHsTkGhEg_31_10"></a><a id="Tc_iGrPuxJU7kuwqE14TFDWfw_31_12"></a><a id="Tc_4s5FdfZhwEW-qP-a1u_TrQ_32_0"></a><a id="Tc_fEsYNMu_QUO5ayV5s14WRA_32_2"></a><a id="Tc_m3_6gQY2dEGglpWQN4GqaA_32_4"></a><a id="Tc_wRgQcKqbx0adLeHQu-ZCcg_32_6"></a><a id="Tc_A4DNZSIY_E2sTzmCisLVSw_32_8"></a><a id="Tc_iAfhXtZ-PEiTt8HvnnCQKA_32_12"></a><a id="Tc_znIwyrVUEUCspsJo_bAzJg_32_14"></a><a id="Tc_nu1nG_zwYkmvsB1pjyyk5Q_32_18"></a><a id="Tc_2ehlh45o-0ee9ICPSRUpeg_33_0"></a><a id="Tc_sRt14KYTxU29uZkIaV8vTw_33_4"></a><a id="Tc__SZ50ioXs0yucGhnaJ1sHg_33_6"></a><a id="Tc_I0zzCM9SVkOOf9Jcyc2XQQ_33_8"></a><a id="Tc_vOr7D1M4U0Sf-z81PQYzVQ_33_10"></a><a id="Tc_8jh3vSzkeU2ndH4w3jewOQ_33_12"></a><a id="Tc_vaoDIbwfXUyb_tPg1mZE8Q_33_14"></a><a id="Tc_6fLHoKQ7X0Ox7-cMqD3WcQ_33_16"></a><a id="Tc_7IjdAUY-B0eS2q0qRGP04w_33_18"></a><a id="Tc_hIatWmEPjku9PWMfzmOXsA_33_20"></a><a id="Tc_SmlV6_7VZUab4wGJPkym1A_34_0"></a><a id="Tc_4LRdHpGZQkmW_XNtv8eNKw_34_2"></a><a id="Tc_yVMjxqkZ30mTC7dMAXs3dw_34_4"></a><a id="Tc_pobiYZCEgUiBCeHU0CROrg_34_6"></a><a id="Tc_Pu8-ecTHyk6-Xq-9NCMskw_34_8"></a><a id="Tc_t9AcoX6jeUezSkAZKiv_wA_34_10"></a><a id="Tc_R29nTM-1HEanUMObH2A7og_34_12"></a><a id="Tc_EPZwRd1syESSxABHVbJLpQ_34_14"></a><a id="Tc_WFzWTyCXhEu9UOwcWPSLlA_34_16"></a><a id="Tc_nngz0UzgAkKOZfGHzKyuMA_35_0"></a><a id="Tc__n23NyfFzkW9GVhU9nh-5g_35_2"></a><a id="Tc_vJk9JTMLGkCY1ytnCFBiMg_35_4"></a><a id="Tc_4QSsCQpYj0C37aEQwOyTLQ_35_6"></a><a id="Tc_z2y5h_rYEUqcnoWGkBoV2A_35_8"></a><a id="Tc_VWn1FlHgNk6UHKlhg5Fwdw_35_12"></a><a id="Tc_eKBjFrbe2UCgByyt5SE_Zw_36_0"></a><a id="Tc_zBTQZnLigEepizxbR23ieQ_36_2"></a><a id="Tc_cQmYcjrmz0WKjmssCbF2Qg_36_4"></a><a id="Tc_nJksZsHO3kCrpEpVKdqOAg_36_6"></a><a id="Tc_zHac6l02ZEqJZ9xkWZnC9g_36_8"></a><a id="Tc__mJfUFciSUypPMW29rj8vw_36_10"></a><a id="Tc_69q57u9-TUKvXzRUqVh5nw_36_12"></a><a id="Tc_4KLYEnCVtkmHeyo_JVhj1g_36_14"></a><a id="Tc_WoJiWAnjSEyGydPnlOjMuA_36_16"></a><a id="Tc_sC2phWfSGE2j43Z82URW6w_37_0"></a><a id="Tc_p_WxO1WQ80GuIsgIpaePZg_37_2"></a><a id="Tc_GVCYP78A7kKlUtdOxmXGAQ_37_4"></a><a id="Tc_f0-SoSxrRUC-PzesoqL_nw_37_6"></a><a id="Tc_GlTYByT_gEi6TEoocAKCSA_37_8"></a><a id="Tc_77VtT4WM70u7dGCivzXuRw_37_10"></a><a id="Tc_1XE4VXJf3Uy0lNB1u9vteQ_37_12"></a><a id="Tc_uu5YTyAFkEm3CRk63cKNCg_37_18"></a><a id="Tc_7oIeHNewjUWJay6q7TvAQA_38_0"></a><a id="Tc_i_YMNxmYaEmFUyPOdbO0dg_38_2"></a><a id="Tc_Y8M4k0qPU0Kdfa0LsecKqA_38_4"></a><a id="Tc_WIehWjHF80Wd1wkh6MDFgQ_38_6"></a><a id="Tc_o0yGWJ6XMk2-rCb0mZekTQ_38_8"></a><a id="Tc_XXLLuR3Gf0qdCppVygFGxA_38_10"></a><a id="Tc_D7u1bYjhL0eNMBPC8Loq9Q_38_12"></a><a id="Tc_V2QagtOP50C0fZvdMdsfZg_38_18"></a><a id="Tc_5lzw5jK4NEOGF-R_a6P-0w_39_0"></a><a id="Tc_viK9dp7-iUGGbXT44SEazA_39_2"></a><a id="Tc_wydFNJyvYE6lPPHZ3lCAzQ_39_4"></a><a id="Tc_FfJ3aOngd0mtFEnP6B6SZA_39_6"></a><a id="Tc_i3sZZplwE0ywDDbaNVmVTA_39_8"></a><a id="Tc_VGkpUn1xckCkI-pKfVdGOQ_39_10"></a><a id="Tc_EVaH8gpDQUeb9rOlVv3DKQ_39_12"></a><a id="Tc_DqO2PuTtmE6nfuphTZcNZQ_39_18"></a><a id="Tc_yOFX0kae8kCAMSeR_kbyrA_40_0"></a><a id="Tc_CMiNo-tjwki-BXjRhYmA5Q_40_6"></a><a id="Tc_JHlKxFQWD0GN8LTRPfF1uQ_40_8"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable to</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:11.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Canadian</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:11.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Income&#160;(Loss)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Solar&#160;Inc.</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="21" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td colspan="19" style="vertical-align:bottom;white-space:nowrap;width:73.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands of U.S. Dollars, except share data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_wNOVrdlqvkK7HRMWUx6OfA_7_2">59,371,684</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_OWAVj305wUao17b83QekHg_7_4">703,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Tc_9Lj6tNe3S0S1x_kH6aaVMQ_7_6">609,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="3" id="Tc_t0sMTyNY1kGoHcn32Lcn-g_7_8">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_e-pOWszkV06fveC827vkPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_f8CxvilFkU2WjkGQn5t1Hw_7_10">17,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_SK8rdV1-o0O8Bbi3rcgA9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_G9KuG08is0WpXgJbN81mQg_7_12">793,601</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_QD17Z9MA50GdRvaliUUgvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_VbSByFtaL0muPhyuINwDjw_7_14">109,607</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hUhJFAR8MEOU8taO2dyijQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_vmYsHnG4b0SGYTlEpMjBPA_7_16">1,393,134</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U_81-tAp2EOIU22M1RVQdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_dJ4RzcKYxUqRispjFvHmWw_7_18">31,924</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_72ZpzeDOEUyr5TYLFXpDNA_7_20">1,425,058</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_32Rx2EYAL0inqRjsfeREoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_zyC7wR8IzUqi_o2pr87kDw_8_12">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_punstFZHE0WDCgkqs8dkCw_8_16">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_7iCLUy8rGkeqyUIg0svXmQ_8_18">543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_J0RSKvjFSUC5jxXm2K6thw_8_20">147,246</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_9fbidC9K6EKVuRvkUH3Sgg_9_14">74,319</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_HUpWLWmWRUmtpzChFuR6Fg_9_16">74,319</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_7b2paSwGT0SMaSJD5nVNKQ_9_18">1,869</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_S0mO3BUADE-84Bn81LqzLg_9_20">76,188</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Acquisition of non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_qGV9vjlbL06JY4vfBUp08Q_10_10">8,414</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_pUwQXig_nkis7HVBtrNfyg_10_16">8,414</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_OGiA371ghkqKgJUeCjKr5w_10_20">8,414</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Repurchase of common shares<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" sign="-" scale="0" id="Tc_rz95RrBOqEavRzODkYaaIA_11_2">381,330</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Tc_IHtnZB0S2ECfi40BDAt98g_11_6">381,330</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_EWjz3EihOU6sg0l5MnZFYg_11_16">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20">5,963</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Retirement of treasury stock<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockRetiredCostMethodAmount" scale="3" id="Tc_U510j7-LQkODQgcwdInBIQ_12_4">17,808</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesRetired" sign="-" scale="0" id="Tc_GlUtfw-M0E-qbh88HyEjGA_12_6">990,846</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockRetiredCostMethodAmount" sign="-" scale="3" id="Tc__YoOLdwui0K_BVsykd0E2w_12_8">17,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_-WhHHEkRJUeLQ-4M8x8iDg_13_10">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_iKzvGvJa102RCn-s2DAxnQ_13_16">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_T5rSq9GT_EuOgZDRPCKpeQ_13_20">12,350</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercise of share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_X13U-VEUREKoWNIi0IRfHg_14_2">830,030</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_-9tA2LFMr0GDG6H8Mczc5g_14_4">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_fb9G7zJCVkCiTJl6a3wSQw_14_16">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_SKcbzcy6jUCmDpFNEskmgw_14_20">1,035</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Transfer of equity interest in subsidiaries to non-controlling shareholders<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" sign="-" scale="3" id="Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10">49,351</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" sign="-" scale="3" id="Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16">49,351</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18">273,904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20">224,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_AiQ1Nkj2-0OvWpk0TLBsTg_16_18">14,123</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_yIUBDgIu_keYkxzSE7QnAw_16_20">14,123</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">De-recognition of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_Q-CcYjSPE0OOw0A_-J9z0w_17_14">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_UPRKv0UK002LeP2uT7_oCg_17_16">10,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_Vi3Tl0kh7UK54WfOmuxiaA_17_20">10,724</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Fair value change on derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_BoATQrTB40y1cS2EwJyReg_18_14">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_pkqVBtjtyk6pOAV4zZhGNA_18_16">4,115</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_T5Mc9gBIp0SHCXGxjA2pJw_18_20">4,115</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_9eC9o-5i20SLOdbzkwdHOQ_19_2">59,820,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_KdE_AcH9GUCPhGvjHRaHTA_19_4">687,033</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_PmbSj5TJpkCdGTizANPZTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_O3bufZTqgU6JU99Gjnmr8w_19_10">28,236</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_f9_vWVmP6Uesxjf7CYuskg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_H0VY6TnL1UO6W-y_9c5Pxw_19_12">940,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_VnFwoVlMf0CPp1dAWQpG-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_Nfj6VptP-k6DJZceVP0aGw_19_14">28,679</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_GWVD8qdfiEOAwRNL_q6Qrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ORe_Dm4nokuKo3oWMMqfuw_19_16">1,570,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_a5FJxFfufU-ccDeCHsYHxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_O7-sgLXTikOyk8ePJ4w8Jg_19_18">322,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_wQ4xd3UUNkuPTQBPHpMYFQ_19_20">1,892,785</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VRSzOlmLc0ibdUUzS8tjBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_PDsq4ejpeEuUAiUp-aUpKQ_20_12">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_9qqX5WbQgU-Ws5OIZo06ZA_20_16">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_05xsRl8Z0UKcxL8ldGAQcA_20_18">14,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_h2r_ZXM0gEakMHJ6Pox4Yw_20_20">109,876</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_zU6Ribg1MEOanPmHLXhz5Q_21_14">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_MJ_v-XxHqEW2aAJe72nK1A_21_16">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_CFPX6QbtPEGX-mmFj9ONrQ_21_18">4,332</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_2ccmxeyns0e1PrxoRst6Ug_21_20">26,296</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Acquisition of non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_7RwDZon3vkKZ0hL9odLpuw_22_18">10,719</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_q9obyk9110WnvuL1bWjvTw_22_20">10,719</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_SkyQeAsJiUmOEjZ_HfUV4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc__j_VzH0aVUeu8IDsqkcNmg_23_10">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_xoNRBjw07EyaBg47H2VC6A_23_16">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_bvuirttM9kq9RGCh6abTGA_23_20">8,808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercise of RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_sVwB_Qys8kqOgVA4LzB3XA_24_2">562,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Issuance of ordinary shares, net of issuance costs<sup style="font-size:5.25pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2">3,639,918</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_PXejyzJSW06vqiKtQniCGw_25_4">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_lv4sMg9zV0GujS94hK2OpA_25_16">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20">148,510</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_zh8UuUF2PU2aVvtuJ4Y9Uw_26_18">10,003</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_Rtvkmwphi0iQwuh689u1WQ_26_20">10,003</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_Z_DVUPmAzECYe2_OmUCs3Q_27_18">6,588</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_l1Ki1xlEg0mJ1SGtWW9ZXw_27_20">6,588</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Fair value change on derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_a3UwV_mjykeDZbb2d5g5zQ_28_14">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_KifywalWekOx0rMfJB21HQ_28_16">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_Yk2uviEjnUGyWso0DWNSqA_28_20">59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_dxC7icRl9kqWX7uP3ZF6xQ_29_2">64,022,678</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_rKksFMKdKkqqImdPINb6Ow_29_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Xn__e6iv4EyQ5e8Ot6r2zg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_8qPcwKL4BkCQ_ePm9Lix0w_29_10">19,428</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_rdPq5g27WkulCBxvD_VsSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ZHNKFnpLWk6oqOFcp5lZKQ_29_12">1,035,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_EoEus6OswEKw-orO6RLWAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_6917YJ1DjEahByDAJlwFVA_29_14">50,584</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_3rajKwae_EKe8ODvDWkLUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_29-k48vk3EeIbLBa0pI4Dw_29_16">1,801,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_coCIkVLbc0yMd_x7_r1Vqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_p_W8vDlmvUShT_57NJeWrg_29_18">325,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_2EAqMFi_HkWHjqSGnXj5fw_29_20">2,126,438</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_8guAGGpigUqCRfsK-cV4xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_PceYsUhqOUelG9pYydTNpw_30_12">239,968</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__VEf3FFSg06lFPRMjdjE3A_30_16">239,968</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_jx55bfSuWkqUrwRxn8Hp-g_30_18">58,587</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_IEshUyXGs0u4XRrj_DYTcQ_30_20">298,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_pVGGMG7xRUeqfLmuDy1a1Q_31_14">125,885</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_3FBAyngp9kC4G4Fd5UySPg_31_16">125,885</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_gjsg1OFUukOXbPlmo71WOw_31_18">24,242</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_v9EEITQUl0Ot-VdlqPYowQ_31_20">150,127</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_WxwxbndfDEKdETqCVT9b7g_32_10">9,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_dtCp3Qk2M0yUoxNSqGXNPQ_32_16">9,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_vPkqtGT0kEmI6eHLG7O8pA_32_20">9,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Exercise of RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TdspSFJ4JEWSykRh4mBg7Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_eB46RWlvlEGxd0sjfx-Xnw_33_2">483,377</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_F0CBjIzOqUqTpEbqTqvLpQ_34_18">2,529</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_s1vZWDYHX0WTUaRFaX5U3A_34_20">2,529</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Transfer of equity interest in subsidiary to non-controlling interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_-rrPvr_FlEqlubEg58kqCg_35_10">11,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_G1AX5XwYikOQdQhXFDHRXw_35_14">544</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_M3lw5xXeIUO_uc187TzBeg_35_16">11,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_y8lOBmoMs0Chyhc2DoNCNg_35_18">4,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_il-82jdpREOIH_WMcxWoRA_35_20">15,823</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Disposal of subsidiary</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_1Fy0M795okaTmoYXpnc5vA_36_18">1,268</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_IcmDtcFImUiZalN_enXXNg_36_20">1,268</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Fair value change of available-for-sale debt securities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_MOS_0P22lE2b4er5UpFBOQ_37_14">904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_1KB-Re9sq0OZBgSMAxBXBw_37_16">904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_7D-EwlF75E-ZCdgHzuA2MQ_37_20">904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Fair value change on derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_f3rW8jDtsEardv6qc4GUHQ_38_14">716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_RpAS0dLAs0-N6MOf0eSlew_38_16">716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_2rB4zkBR_0aol6kMQAEi1w_38_20">716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Share of fair value change on derivatives of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_y2G2EpqIQUeIbMMhzBghbg_39_14">3,754</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_GcKsRxtZJEWdJcpkMAyAZQ_39_16">3,754</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_8ItfuqCHZE2HnJzXXfbKVw_39_20">3,754</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_TqsNJ_y6FEe37tstT52PSg_40_2">64,506,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_mKbH7pBpZ0W4lSRElpnmIA_40_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iS7NYSfTrUGdV6Y4H4_6xg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Ts9j0bE_6EqUThgnOObr9A_40_10">1,127</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I7iNmz4-zEa7gkJ7gO6qhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_DacpyixHkUOZVUy9-iP_-A_40_12">1,275,520</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Lx0ejc_P3UugFGoOzo8yTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc__7RSz3GqmUWugLoTBg2x2Q_40_14">170,551</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_q3KVlYHWmUi0Zi9xWywk1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hgJzQOk9y0usHvNL8VcQFQ_40_16">1,941,639</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_o8L1xG138UOtyMZvZV912Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_j-lbq1tC60CFg0Ec5zS_zA_40_18">365,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.92%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:7pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_rE_bGoXrBk-qXa9MlLLEoA_40_20">2,306,694</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"><a id="_c812df11_1930_48b4_a924_940063f42121"></a><a id="_aa8fbfc8_f3e5_42a2_886e_2925410e4782"></a></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board of Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_udv62jOXvEysQEMXPtj5SA"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_XpcLTMfDHk6SpvgvNKTn7w">91,424</ix:nonFraction></ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_b0Z-t-poiE2-bNFTQF9s4g">289,906</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_ojdssC3EBE2X9D3otcbcSA">2,000</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_nMTH6Z-U7UmWXqsIYltnOQ">3,963</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</span></ix:footnote></td></tr></table><a id="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"></a><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raise of RMB</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="9" id="Narr_ooF31tNaaEuQpcD0IRBdfg">1.78</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Narr__sy3DnskjUCB0r1LRvN_TQ">261,332</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd. in 2020 to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</span></ix:footnote></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represented proceeds from &#8220;at-the-market&#8221; offering of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_SkgpcofHz0Cy5g9tBaNqvA">3,639,918</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> shares of common shares in 2021, net of commissions and offering expenses of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="Narr_AIXL9Snt-0i8dEyiHaRP_Q">1,490</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></ix:footnote></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_9f59ca40_4437_47bf_b288_918a3112f932"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_646277"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_22e4cf54_82de_45eb_bfbc_517c4129affd"></a><a id="Tc_3Qn5YJi_cUGfvVFS-76G9w_1_2"></a><a id="Tc_TuvcTmMnE0O3k0gMFF8Xww_2_2"></a><a id="Tc_zFUvy_1QK0mJCN-huzNHXA_2_4"></a><a id="Tc_eK0AMkTsTUGlh3t2KSdzTA_2_6"></a><a id="Tc_8st690uAbE2wLI_qVNfQJQ_3_2"></a><a id="Tc_lZwjwewI4UCimUhrWKevTQ_4_0"></a><a id="Tc_7W3iQaZ8EUmQaaITtVTlZg_5_0"></a><a id="Tc_i8IuXofoSkey_FJM6U4hvw_6_0"></a><a id="Tc_yKxieqDlqEi_ammI3TUgGw_7_0"></a><a id="Tc_FMXDMCZrnkWSIFwsXb8VGg_8_0"></a><a id="Tc_jySnDPwASUuNIVe1s5HljQ_9_0"></a><a id="Tc_kuq9nvCFy0Wl2ozJ4nDs7w_10_0"></a><a id="Tc_iUvSlMOf3k-cuWbBuKldMQ_10_2"></a><a id="Tc_PG_RHI0bFE-MF6freJsd6w_10_6"></a><a id="Tc_clGSEO07zEudJFqJxAK1Hg_11_0"></a><a id="Tc_6KfbW-QpHkqOirio0Y6D5Q_11_6"></a><a id="Tc_ONnaACRJ30OuZ0QpQHT8EA_12_0"></a><a id="Tc_qFAkOEc61EKCcNd25tz55g_13_0"></a><a id="Tc_XRWlkrI-pEmcVoT7cNvWlQ_14_0"></a><a id="Tc_g0thuL2FGEeWQtnSmHz7Eg_15_0"></a><a id="Tc_c-zy7B0FIUOCrT-G9Er-0Q_16_0"></a><a id="Tc_ansVpmsPW021S9IW9WMHHw_17_0"></a><a id="Tc_f76brOQ-VkK9cDN56PYGAQ_18_0"></a><a id="Tc_YfEwUUSczUOImTWA_LaeWw_19_0"></a><a id="Tc_ofCMOgxQiU6lm4SqXH-Vxw_20_0"></a><a id="Tc_aoD7TJuAqUa6A4nrVpC6jg_21_0"></a><a id="Tc_J5x2GE9gJ0Kwd2jlKWU2eA_22_0"></a><a id="Tc_wlg2p41qdk6R0pqf7o9H_A_22_4"></a><a id="Tc_YaYVq75PDUe5qjbWJuHCYg_22_6"></a><a id="Tc_Ewr3R_nlB0-L8YAoRfkVDQ_23_0"></a><a id="Tc_Q5yInrGIUEOo9n88TfxpZg_24_0"></a><a id="Tc_9FSDd0zpLEatBgOySZw7Ig_25_0"></a><a id="Tc__7Jzcas5i0mbdnB_-aW53g_26_0"></a><a id="Tc_vZVu6LxkD0uIynOtU2b_tw_27_0"></a><a id="Tc_8NT3xjtj9EurYgb4bH3ghw_28_0"></a><a id="Tc_RPeE9chIfkubapm-fsJFuQ_29_0"></a><a id="Tc_lKXE7BYrkkSo0U82EtFj2Q_30_0"></a><a id="Tc_ak-uZvRPdUa3Xf3ywiMsJA_31_0"></a><a id="Tc_5pGUfCBeV0eaIryyCeMNLQ_32_0"></a><a id="Tc_rfpx38eNnkSLm3U5vqbiFw_33_0"></a><a id="Tc_G9So9eqYNkiA_367O7CWcw_34_0"></a><a id="Tc_6B4srDgA6Uy0ZQZQATDICA_35_0"></a><a id="Tc_WtIjgsbLm0CfowOIuLnPZQ_36_0"></a><a id="Tc_tj1NrCTnfkqv1q0rortFsQ_37_0"></a><a id="Tc_1XuiL4tuyk2bjCOhjOqDHQ_38_0"></a><a id="Tc_M5297Pyvw0WwbVisqGWX4w_39_0"></a><a id="Tc_s4lm7xnqgUKQ0j5z_gocfQ_40_0"></a><a id="Tc_xjMFXnmzCk69A1E2GiHNfg_41_0"></a><a id="Tc_vQ_6hGlfJ0OSWZ2qmRnNnA_42_0"></a><a id="Tc_gbDkbKy0mEWZf9ia85r67Q_43_0"></a><a id="Tc_U_Fke9YxY0SMIvolnyIzig_44_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_y73kmGUOp0iqDkuor1E31w_5_2">147,246</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__TmVmu7GyESQMNOFCYNgOg_5_4">109,876</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_EbsXYkoDnkGtE19e3L88zw_5_6">298,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to net income:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc___EDYzZWOU605-I0zM77dA_7_2">209,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_hvInYFDAW0-rcFG0T-46wg_7_4">282,769</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_w4UYSGHHFkyujBvZqarkjQ_7_6">234,559</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accretion of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_t_0QtB3ywEe2NXSvu4CPzA_8_2">388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_TmUYgQB_PEGHFsIUlFRH2g_8_4">1,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_F6uNK60K7E6_nUvvZ7TM2w_8_6">1,302</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss (gain) on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_FGzGgYNTS0KPsyfiOElfjQ_9_2">253</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_p9-e8a0piUOVGMm1LuelRg_9_4">83</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_VjovAF335kuWVrm_QSOQLQ_9_6">4,259</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Gain on disposal of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_wWF43V_hcE2ZN9-MFH2jmg_10_4">10,091</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Gain on disposal of investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_SBA6debBzE-hXVC4ubWy4w_11_2">13,936</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_82EZpcbqt0CRARaxxPfmjw_11_4">10,392</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_PfbvYwlIB0KoSZPHNA970w_12_2">11,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_O0gBjmrS20WUokjMjxpXRw_12_4">6,084</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_v763xccBF0qo0JEEFx7Dgw_12_6">60,330</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_5iAFGcm_tEOwPu-NiYRACw_13_2">369</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_Nztcjev9XEqOoxwIJL6LIw_13_4">17,152</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_hSJeX_bPM0mceJVPznJ2mA_13_6">1,674</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_c6l_8CWwd0iY0onfMQS9IA_14_2">24,060</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:zerodash" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_YhtmYE8LFUS7fFcBsGbSIw_14_4">&#8212;</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_n1Fgss0Y_EyOqeP7Ol6d3g_14_6">357</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss (gain) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_vKKXuofiPUOdzf--hgscQg_15_2">50,001</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_JctfcMByaUWsOgyMpCz0XQ_15_4">23,785</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_GkA3ZUerJEGuOypLIT-E3g_15_6">44,489</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_V8y-aokt2E2NoGu-7QA1Lw_16_2">10,779</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_YP6MZ5wBmkS2XJsdkKCM4A_16_4">7,256</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_9MXl9VC7zEef9wpHQ4DOcQ_16_6">15,440</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_XRWrljh01kWvh7UocDJ3Kg_17_2">9,874</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_oNmArh2mLkOS1dwnQTyA2Q_17_4">7,615</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_AeOTRrJBdUOHnzCJAaQT1g_17_6">5,773</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Non-cash operating lease expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_MV6Fb-qwJ0qtp0w8JDyJRg_18_2">19,260</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_Fxn0Tq9e4kyJ8dkVXQYxvg_18_4">14,321</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_gd-5Rspf5UqXOV4eYeEzNA_18_6">13,208</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Write-down of inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_jsrNtvOFNEyui8EAWaa4fQ_19_2">42,907</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_C2ICaYHyFUqDqE5Doz5eiA_19_4">14,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_-QIdE9Dwa0qKYmgUEeeAmQ_19_6">7,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_Z4EegGJKsE2nGufSRDEsdA_20_2">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_INjhzGTqQkSHDsRy0x-aXg_20_4">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_f_LtR2djHEm502z-63f8lQ_20_6">9,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Unrealized gain (loss) from sales to affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" scale="3" id="Tc_FEv8wfMxbEqkTqPBI_ea3w_21_2">66</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_JkDeGtp4KU-ilPX5vebSkA_21_4">35,890</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_tbE4MpUoW0SmfR_gh18POA_21_6">5,971</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Derecognition of interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap" scale="3" id="Tc_fHZlzjGJvkSyKt71qSCC5g_22_2">4,439</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_KKaUDeXQH0m4sUCIUj6S_A_23_2">21,439</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_TiePLl1dQUiecRFOq4D9-A_23_4">67,386</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_sZPkP7D2jkuJrLB1H31dsw_23_6">16,908</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable trade</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_V21MnIFudUK1M6-Iv1jM9A_25_2">65,379</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_ZZsOyhFAzE6aNQ_-JFDKIg_25_4">284,785</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_B1ObqUpC_0aWYDOSzsVIKA_25_6">357,276</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_-46ZJ0kIwEq5YhP51KvKpg_26_2">12,064</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_DW620f3JfECb1RdWj0hLGw_26_4">8,783</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_hAAsuIAZ5EeIwYsc7D7eFg_26_6">23,367</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_JnTZf6tWhEq-6KR7gGbFjg_27_2">26,828</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_fI-_nrkwM0aMGPLPuTGNrA_27_4">68,912</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_vYJKi21M9ECQY5_L6RRn1Q_27_6">4,451</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_lbHkdOw9k0W-AormMel8ng_28_2">180,974</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_teOpSoZMNECj77ydt3a40w_28_4">518,741</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_Sz0AbO1MzEKkmgH6Ci5y5Q_28_6">406,343</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Value added tax recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" sign="-" scale="3" id="Tc_9tZO2uyi4k6LNuk1P0e9Tw_29_2">2,687</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_q-PqZsecGEGRV8BQcW6Gsg_29_4">21,873</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_bBC4MvsyOEGX6ksqhDKcvA_29_6">43,881</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances to suppliers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_QFeLShPBV0CdqbNqH8Q90Q_30_2">138,915</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_cTagDRwy5EiYPTruP89HEA_30_4">30,416</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_S1iChfiBwkODIk0C3MBBaw_30_6">52,893</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_HAhNhlArukiNqTeL9ZxKFA_31_2">443,730</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_pMZty_Y5j0-J9jIJg2IbCA_31_4">73,375</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_iNEbsxcqOUqtteQ11-cJAQ_31_6">302,839</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_Ok5KD-XcxE6uAzIsQNXFnA_32_2">72,188</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_AcWS_vlf6UCKq3f-q40qFA_32_4">85,754</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_0EOZdeLDN0KfvPhbHqqSDA_32_6">151,663</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_tBxPjT1cXUmLCcPWzx0eNw_33_2">11,913</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_zo4xXHfHCkeXHiVeeKDu6w_33_4">20,357</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_Pl0264R-B0eZDAqvWMFsdw_33_6">17,350</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" sign="-" scale="3" id="Tc_B4doQaAa60eAh2u_EvwUKw_34_2">89,180</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_YQYSul8G4kybfX19WjsvGA_34_4">11,023</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_A_a8vWc6dk2GQYbs3iYI3w_34_6">351,535</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Short-term notes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_pMoOYr1nfEGvDeQBiJ23sA_35_2">120,445</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_Uqlmp3z_EkWTK3KDXoYUoQ_35_4">150,982</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_0f9M6yNDpE2i_7Gkifv-sg_35_6">721,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_Wli4U9mr70iR6osAieM5Gg_36_2">9,773</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_Rf7e4qYUsEGU5ACGzpiTvw_36_4">171</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_SIJayZD3aUCKA9DdBsJxQg_36_6">54</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_aj7ecyNABkOycLLwxMTXsg_37_2">10,386</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_ZWRBo2TF8Uyo0Ur-NgJNmw_37_4">126,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" sign="-" scale="3" id="Tc_t9RxnG37PUKoxIHpCMi-lw_37_6">417</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_bEA5Mc2ouEyDRPjrBWiPVA_38_2">51,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_19KOYUY-oEiVdmjVMWjwXw_38_4">53,998</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_e7w0i1OGg0yx_MHqIS5gYQ_38_6">209,855</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_x8rEVau3aECyNLdVgPxaXg_39_2">18,917</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_KuS6Uh3H4Emq6Xdy04pWCA_39_4">14,156</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_wd7kfTn2jUyLmx3PN-mWPg_39_6">14,160</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_eS5TV9tRA0KbufT0My1d9g_40_2">160,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_rX57cNlCqUq13OZ2_BGNgg_40_4">51,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_4mwYcMgCkUOVd2aXb--IfQ_40_6">68,492</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_25p-_mDnCUiO6EgB6koaLQ_41_2">623</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_DfhWroFKiUS3yuZoudgkLQ_41_4">7,281</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_3mrG8LYniUKhb1uHaJbbCQ_41_6">1,718</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_Wo53n8w4-U66-gtdW7NeCw_42_2">33,054</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_g0IUsDayV0G1M26vdwXuuw_42_4">31,886</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_Cv_0XSgNlk2OaxEmCU4r6Q_42_6">31,851</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss contingency accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_02maY0s0Okyd3wGXuhxPgw_43_2">1,115</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" sign="-" scale="3" id="Tc_7YA0ggpQxkiIqZJU-scPSw_43_4">10,939</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" sign="-" scale="3" id="Tc_SpaK782kiUms5V8B9TZqeg_43_6">9,625</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_-lfGdQD6MUCNpIY9DgsDZA_44_2">120,541</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_j2zJUAr700CG6OhlSZFIGg_44_4">408,254</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_EKHOcLpmqE-WO2do66g4lA_44_6">916,631</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 30pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS &#8211; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_e8f2206a_c107_43e3_bae4_4a0833989112"></a><a id="Tc_KIGQikDkPES0uRFx9ctJ-Q_1_2"></a><a id="Tc_qQ6vCCOvD02c61ocinIHOA_2_2"></a><a id="Tc_5WdjIghMFkyU-_dQxr_NGA_2_4"></a><a id="Tc_voj7LJlNrkOwsfKRQde4DQ_2_6"></a><a id="Tc_IicWz7G7Kk2sAQ9CE7o4Ag_3_2"></a><a id="Tc_IfuJ1X7GJkCgAb7q4Oidyw_4_0"></a><a id="Tc_Yjgn7Ae7Jk-XbwRRKbv4Tw_5_0"></a><a id="Tc_yzx3gbLdz0WPzrysNuAbpg_6_0"></a><a id="Tc_69fF5hQqNkadqeEO9Wqcjw_6_2"></a><a id="Tc_z-LQeiO8CU6J9ey7Prq-_w_7_0"></a><a id="Tc_1tDJXJ9Xjkq4HgUEZrxqjg_7_6"></a><a id="Tc_K5ZaUEQqD0W_Ou0Dm_b_oA_8_0"></a><a id="Tc_U7Du5AcQ7E6xQhCqQoBKjQ_9_0"></a><a id="Tc_yda_-U6B8EuJDNwq5MjNTg_9_2"></a><a id="Tc_b1ZSUGw38UadEaWJCX7Ieg_10_0"></a><a id="Tc_VIx2Da2bY0iS3sp9oOweKQ_11_0"></a><a id="Tc_duXB7VvwEEWvxN0Wu5k7rA_11_2"></a><a id="Tc_fhSoIL4R3kmLddWo1uGzpg_12_0"></a><a id="Tc_glQv2t2Zv0WEaKF__3JIjg_13_0"></a><a id="Tc_o4RazKl8wU6jvMu-0DSGmA_14_0"></a><a id="Tc_Kpy00esVpU6F2qkAinwi1Q_15_0"></a><a id="Tc_M2wJ_YCe_E-nsxM7QuH3Kg_16_0"></a><a id="Tc_tGlTtRbnxEKlhLSKf_8_Fw_17_0"></a><a id="Tc_HlLKhT4HRU2ZlTu0B4WAYw_17_2"></a><a id="Tc_0DJH6y8EQE-_Fw1uz1Fmlg_17_6"></a><a id="Tc_K9SNdOHqgEmtcql63MRuPQ_18_0"></a><a id="Tc_339gkqho4k6r9rmCQPj_Fw_19_0"></a><a id="Tc_W9JOTSjTBUOql965dQ7v_g_19_2"></a><a id="Tc_I0BgGBgyBU20ROaVNwvkGg_19_6"></a><a id="Tc_FRbCI4OLgUqySTmizFIL-w_20_0"></a><a id="Tc_ARUAWi09_kWPfsMcj1aZ2A_20_2"></a><a id="Tc_4iGS8zwN0Uq5KvM7fr0eyQ_20_6"></a><a id="Tc_AkP4dIbSVEOmABM0-ce3Rw_21_0"></a><a id="Tc_nbs_xzYWr0m10eNWJ2GuEA_21_4"></a><a id="Tc_0zuWJHBe5EGcJFKf7Vv81A_22_0"></a><a id="Tc_Sn0TjI0Waky5ED25D04gJw_22_6"></a><a id="Tc_gePHi1dIkU-Mi-2ll08EbQ_23_0"></a><a id="Tc_zCQ6tmbORkSMA0C5696ifQ_24_0"></a><a id="Tc_dMc42fopGkm45EdnPFgQlw_24_4"></a><a id="Tc_08cSU1g6iEiTS3tdKBAkBg_24_6"></a><a id="Tc_U6M8heJFMU6YHL6yDcVqMw_25_0"></a><a id="Tc_h-aN_gpTG0W9sox_QUFUEA_25_4"></a><a id="Tc_2SXWC-6gfkCewzOJyoBL5A_25_6"></a><a id="Tc_b4dzPpnDLEOZP9JX4oAWhg_26_0"></a><a id="Tc_4Yhe_U7HQEyLiZQF6Y1f4w_26_4"></a><a id="Tc_8WINTDUne0Wg96sl111qcA_26_6"></a><a id="Tc_TWalbyRqNEmu6P2Qj8IRXw_27_0"></a><a id="Tc_cjK-rolzBEGkNHhdgz_WJQ_27_4"></a><a id="Tc_c0IP4Yb3hkKC0WwjC3J-9g_27_6"></a><a id="Tc_23d3Z45ka0CSoqq3icdx9w_28_0"></a><a id="Tc_E2gBDAGtCE-BBOJL02EYKw_29_0"></a><a id="Tc_-57_jRqp1UKBmffazxY6Eg_30_0"></a><a id="Tc_azf7YMjn3kmriYsM0Qvdbg_31_0"></a><a id="Tc_4qNS_XJS_E6tnQ1Hp-FVjQ_32_0"></a><a id="Tc_KwqP3dnm9kiAPZXeqJRIVA_33_0"></a><a id="Tc_9hJovVIl-0-gLNNYVcQ92Q_34_0"></a><a id="Tc_-CGx_whVAk-l-BtrzYpxwQ_35_0"></a><a id="Tc_33vjGbSa4k-_KH1v_3xiOA_36_0"></a><a id="Tc_HVlPecFfOE2-K2BRLTp-RQ_37_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_jy3Ijk66E0iupfhCZOVDiw_5_2">17,758</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_Oq408g7wUEyPzLTkXHZbkA_5_4">54,004</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_3Ho9XbYbCkOnP8YZdhYT-A_5_6">19,355</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Return of capital from affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_ZzuR_v6zBkK3GEvc5LY2bg_6_4">2,671</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_C72G9cFs6UuY0ragRfpnvw_6_6">7,083</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_iqzVo58X4EuCTISgjUOdgQ_7_2">33,037</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_-YhAlWEDwUeiht3v_5JSbQ_7_4">14,311</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Purchase of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_c2ylTbbTfkKxwLd4nNqP3Q_8_2">334,781</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_fl_OHuBzUkOqeE-CpZZBZg_8_4">428,725</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_XPwBq67R9EC2xzDY-4zFAA_8_6">627,115</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_iDPV65gQ6kWwsp0rVwCw2A_9_4">18,555</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_K0Fs8PQFKUSDhAO-OV8kDw_9_6">7,479</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Purchase of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_ONsG-VHxCUalMn3KxLSvLQ_10_2">160</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_mHlgmRUO6kG0Lq00On79Hw_10_4">775</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_P1itjoMNsUKHhTzrx11Xsg_10_6">882</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_koG7bYx9m0SrPsOUq8IneQ_11_4">18,397</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_fGNAFJ3L5UCWPYV5mvF0Og_11_6">2,302</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_Lw7xm8jKtU62aXI5VuZAhA_12_2">319,662</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_Nxt7WASM702MhZPEr5d7mA_12_4">429,570</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_JKmTSFAI80C86gcpDtQajg_12_6">630,488</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_n4E1D9_200-u395UXil4sg_14_2">1,667,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_aoGLNS77D0O3KcQjiQCpsg_14_4">1,742,064</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_j_30WVtWHEaiBhyTZ9Rdhw_14_6">1,387,537</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayment of short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_fF90G4am9kOOlFCAlWaOhg_15_2">1,561,597</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_89UQpkXmPkWTIarwO38CYA_15_4">1,879,884</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_sEmnm2WxykezPj4waoLHqw_15_6">1,695,563</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_A7fd9RUoOkuoa0jSaK2gDQ_16_2">207,632</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_-CQ7KH8T00eOnjOsO7Ud2A_16_4">588,082</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_Rd_uSkXwfU2Hz3_qyxB5DQ_16_6">770,368</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Acquisition of non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_qg_sufKHtkKJoP4bTyl-BA_17_4">10,719</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_WS68kBZebEKN8CCv0jNONQ_18_2">261,332</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_QE1d5mrykU-tjd5HxyYqgQ_18_4">10,003</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_q-DgWmGh6ECQ2jWLDOeDRg_18_6">15,109</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayment to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromPaymentsToMinorityShareHolder" sign="-" scale="3" id="Tc_yP1t5_N0M0eXVvBAhHTQqA_19_4">6,588</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net proceeds from issuance of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_wsP7wz6a102OtBr1IfuwWw_20_4">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from (repayment of) third party financing liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" scale="3" id="Tc_LU2g6nKplU-6VQMsI3WhUg_21_2">6,419</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" sign="-" scale="3" id="Tc_QZD1NXfbf0qVH522ClNltA_21_6">29,595</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from sales-leaseback arrangement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_p3U03tlUqUm9z0suzGKLNA_22_2">9,945</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_2zIIDYEYcE6XCC5GCJUolw_22_4">45,693</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayments of finance lease obligation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_4pjm3esphECHRtYlf-kSQQ_23_2">22,173</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_Lim1apZV-UOvYvuL8joJ0A_23_4">23,090</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_nfcfwzxXdE6onRpeYxT7BA_23_6">19,217</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromConvertibleDebt" scale="3" id="Tc_NzCYepJRM0yDwp66a0rwXQ_24_2">222,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from subscription of employee stock ownership plan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubscriptionAdvances" scale="3" id="Tc_sgxfHRlptkGeEccYLLQD7w_25_2">36,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_kmLp1WUhIEWErsOf-jruxw_26_2">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_rDUYhBJPaUWsTOYgWsB4vg_27_2">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash provided by financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_mlPwekQsJE2YmJvZIpw-9A_28_2">823,501</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_2u9zk2IwxU6VFYrqeVIx-g_28_4">614,071</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_lEcQbqampU2oQ-99-FC4Vg_28_6">428,639</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_6F3dILTMrUumMdBcNZFPMw_29_2">50,997</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_52sYk15-iUCe0xUjpFOVmw_29_4">18,320</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_pQtI_AJY8kac59H9D0MBsg_29_6">179,561</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_DGEtxOO3xEqtN6mGhRqMAw_30_2">434,295</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_C0pB0cXCY0SleZ3NeFI-PA_30_4">205,433</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_nripPotU6UuuGDqDRAl2bQ_30_6">535,221</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_0NjEfnz6FkaKui4ZlcMbrQ_31_2">1,205,420</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_AfkdVgruIkKoDnGKTd51Cg_31_4">1,639,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_9X2R-RXjrEG-Nh6wYEJC-g_31_6">1,434,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Thn4zvFV5keFnvaWUfFoXA_32_2">1,639,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_yXDPtf4eFECLa_52_nub0A_32_4">1,434,282</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_0A4WJwDLu0-4T_dIgkrZsQ_32_6">1,969,503</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_kjamjqtl-EC9llQA5FvrTg_34_2">78,747</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_bMKL3hjCYUuCmRn2u__FdA_34_4">71,006</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_wJ7jCcsKCk2BC0Z0ppGSPA_34_6">76,511</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Income taxes paid, net of tax refund</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_-m1ioQW8G0S4fTMAPafksw_35_2">38,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_U_I-st508Ea6DIwENDhyiw_35_4">57,396</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_FS39ykt3Z0yifUffPXlPjA_35_6">77,400</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Supplemental schedule of non-cash activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Property, plant and equipment costs included in other payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_2YFTtrr56UKhYiOougDFKw_37_2">244,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_EPavw_ShVUqn6r4qdUOvrQ_37_4">299,664</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_AZaaN6La1E6UQvd8cKkOVQ_37_6">549,883</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the balance sheets that sum to the total of the same such amounts shown in the statements of cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_b6bc116e_d7c8_42a1_bcdf_abf632ac59b9"></a><a id="Tc_2rJKC8OREUmcHsAnFjdVEA_1_2"></a><a id="Tc_xERsDR2Z9kmVVw26NMkIaA_2_2"></a><a id="Tc_xaTAun1bnkiwwACofBFAWA_2_4"></a><a id="Tc_HoFswCL4N06AjRS6fPGZiQ_3_2"></a><a id="Tc_DvVnPq76IU2QSRtsBUcQ0Q_4_0"></a><a id="Tc_EB09rcXNUkS8zmpeM0d6Vg_5_0"></a><a id="Tc_rOaNLCydQU6JsWtoJPk9jg_6_0"></a><a id="Tc_bSHZ7o6muE-U-BwXLjG9cQ_7_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_oQSCXlpaF0CSvnYjjGOx4w_4_2">869,831</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_CjRJjeYKfUmk8GUfgR1Bng_4_4">981,434</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Restricted cash &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_vt7EQ46JbkaCt_HJXYb89A_5_2">560,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_MZC8XZqzLEiUN-6n1YqlzA_5_4">978,116</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Restricted cash &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_GbaoMR1VwkmPElL8tkXknw_6_2">3,818</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_g6W9SK9W8k6hIsCVqsmZtQ_6_4">9,953</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_pwpfHXsTnUqYsqqGMXdMJQ_7_2">1,434,282</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_lvlvJSoHhUGxJWINeGXyjQ_7_4">1,969,503</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">The accompanying notes are an integral part of these consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="a1ORGANIZATIONANDPRINCIPALACTIVITIES_213"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:NatureOfOperations" id="Tb_wmvShTC48keRiaqDWgShqQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. In July 2022, CSI completed its continuance from the corporate jurisdiction under the laws of the province of British Columbia to the corporate jurisdiction under the laws of the province of Ontario pursuant to the Business Corporations Act (Ontario), or OBCA. As a result, CSI is governed by the OBCA, and its affairs are governed by its notice of articles and the articles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) is one of the world&#8217;s largest solar technology and renewable energy companies, leading manufacturer of solar photovoltaic modules, provider of solar energy and battery storage solutions, and developer of utility-scale solar and battery storage projects. The Company&#8217;s geographic footprint is diversified, as its sales as well as development pipeline in various stages of development are located across North America, South America, Europe, South Africa, the Middle East, Australia and Asia.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#8220;MSS&#8221;) subsidiary, CSI Solar Co., Ltd., in China (&#8220;the IPO&#8221;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#8220;third-party investors&#8221;), the Company completed a capital raise in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="9" id="Narr_twFPTd64OE-IwxRxTLHK9g">1.50</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" id="Narr_Ilm60yYj5ECXO5WPEGq7fw">219,000</ix:nonFraction> on the date of transaction), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="9" id="Narr_GKNXJBtIlkCKQ7ull3Vajw">7.50</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" id="Narr_Pkby_Queo0WQ4w7Tuv_YrA">1,100,000</ix:nonFraction> on the date of transaction). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="6" id="Narr_kYD9IM4nEkuNCtPn6M3MDQ">31</ix:nonFraction> million (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" id="Narr_tF7rpPGRq0GBVH0JXnXM_Q">4,500</ix:nonFraction> on the date of transaction) at the same price. Total proceeds of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:SharePurchaseProceedsFromThirdPartyInvestors" scale="3" id="Narr_BFofBx-Tvkm5y2zjLZmPjg"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SharePurchaseProceedsFromThirdPartyInvestors" scale="3" id="Narr_NjPAArhO-E2vSmyhxzxnYg">224,553</ix:nonFraction></ix:nonFraction> were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#8220;ESOP scheme&#8221;) and utilized a limited liability partnership (the &#8220;LLP&#8221;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="6" id="Narr_v3o-xxVjLUK2DJH_RyWd-A">248</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="3" id="Narr_GqVmCMTWY023i2rL0wzbSA">36,342</ix:nonFraction> on the date of transaction) at a discount of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:PercentageOfDiscountOnIssueOfShares" scale="-2" id="Narr_17hTSUXR0E-hw1cJCW0K-Q">30</ix:nonFraction>%, or at an equity valuation of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-7" format="ixt:numdotdecimal" name="csiq:PremiumDiscountOnIssueOfShares" scale="9" id="Narr_4NDOUwAW_E2LJOLY5cUJXw">5.25</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PremiumDiscountOnIssueOfShares" scale="3" id="Narr_vfVopOgpjUqAbXiyNMjESg">768,000</ix:nonFraction> on the date of transaction), for which the vesting conditions include the successful completion of the IPO and service period. The related subscription advances of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_kqafPGA3QUix2yS4Nj5rog" decimals="-3" format="ixt:numdotdecimal" name="csiq:SubscriptionAdvances" scale="3" id="Narr_uzksxWPM1UCoxYg8e8E4qw">36,342</ix:nonFraction> were fully received and recorded as other payables on the consolidated balance sheets, The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_8045hR85GkGOaqb0lBXTiw"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_2gDZdfcJGkGj_bD29G-33w"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_Kt2ZzDsFWEqiZJpYArl4hg">nil</ix:nonFraction></ix:nonFraction></ix:nonFraction> was recognized in the years ended December 31, 2020, 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">As of December 31, 2021 and 2022, the third-party investors and Canadian Solar employees, in aggregate, owned <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_zpGGWPMHY0KZ-zCaTjc9HQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_2NtMNQlUJUuaoFFZgIqfDA"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_8nrvuP0G-kuuS6VaNBXowA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_R3cs3Hl54UiY71VpOKCf4w">20.4</ix:nonFraction></ix:nonFraction>% of CSI Solar Co., Ltd. The Company&#8217;s wholly-owned global project development business, its Global Energy segment, is not a part of the IPO transaction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;).</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_Y7Q1067YWEiFqiOvzW16gg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_dK2MtfUjHkqLF7b5SlKaDA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. The permanent equity represented by third party or affiliate interest in non-wholly owned entities that the Company consolidates is shown as non-controlling interests in equity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity, the non-controlling shareholder or partner do not hold substantive participating rights, redemption rights and no other conditions exist that would indicate that a company does not control the entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE, except for financial guarantee provided by the Company with respect to the debt obligations of the consolidated VIEs of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_liXKEj_ZS0W2B4pJ5zLO7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GuaranteeObligationsMaximumExposure" scale="3" id="Narr_U-vAEIxleEG9AD1ViXEk6g">5,912</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GuaranteeObligationsMaximumExposure" scale="3" id="Narr_LhkY8siQMESXRQgYISCPGg">25,257</ix:nonFraction> as of December 31, 2021 and 2022, respectively. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="Tb_4WoX7C-7KU2vv5Du2kYUzA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Reclassifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain prior period balances have been reclassified to conform to the current period presentation in the Company&#8217;s consolidated financial statements and the accompanying notes. Such reclassifications had no effect on previously reported results of operations or retained earnings.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont1" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:UseOfEstimates" id="Tb_eq2ZHDhuqEiTNcB10gjv3g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of total cost and estimates of variable consideration), allowance for credit losses on accounts receivable, advances to suppliers and other receivables, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="Tb_bVyJe4JJTkaXFK6IJI4Z2Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand, money market fund and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" id="Tb_GfJAZ5cpaUGqxbvmTRwjFQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" id="Tb__g8PlJ0I60ydH7-OnhCP9Q" continuedAt="Tb__g8PlJ0I60ydH7-OnhCP9Q_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;&#160;Allowance for credit losses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s accounts receivable trade, advances to suppliers and other receivables are presented net of an allowance for credit losses. The Company establishes current expected credit losses (&#8220;CECL&#8221;) through an assessment based on external credit rating, internal credit rating and historical loss rates of debtors. Where CECL is measured on a collective basis or caters for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of its accounts receivable trade in order to reduce its exposure to credit loss. The Company provides an allowance for accounts receivable trade considering factors such as historical collection experience, the age of the accounts receivable and other currently available evidence supporting recoverability. An allowance is recorded regardless of whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_fUa_3cKm-0apVN2Tp2C0uw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_86lk4A5R_0Wvzw0i_D-nmw">1,409</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_Z-Cb9XKwKk6RhLBMqKfUig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_9yTuV4mYFkO4k6oStwXXlA">1,873</ix:nonFraction> as of December 31, 2021 and 2022, respectively and a corresponding reduction in general and administrative expenses.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont2" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont3"><ix:continuation id="Tb__g8PlJ0I60ydH7-OnhCP9Q_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:AdvancesToSuppliersPolicyTextBlock" id="Tb_8E7yG_MDC0aAuy2lmJYbOA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:InventoryPolicyTextBlock" id="Tb_2-rIO5AOaEiYTVmKX5FcPg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ProjectAssetsPolicyTextBlock" id="Tb_TnZj2ujrcU2C6kgOHC8HXA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets consist primarily of capitalized costs relating to solar and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage project. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules, batteries storage, inverters, energy stations, power plant controllers and related equipment. Interest costs incurred on debt during the construction phase, all deferred financing costs amortized during the construction phase, and indirect project costs are also capitalized within project assets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Solar and battery storage projects are classified as project assets unless the Company has intention not to sell them to third parties. In that case, these projects that the Company intends to hold and operate to generate income from the sale or storage of electricity are classified as solar power systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar and battery storage projects as guided by ASC 970. The costs to develop or construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year are classified as project assets-current. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Otherwise, the Company considers the project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the project asset and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within cost of revenues in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets are often held in separate legal entities and VIEs which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity, the project assets will be reclassified to solar and battery storage power systems at the lower of their carrying amounts, adjusted for any depreciation expense that would have been recognized had the project assets been continuously classified as held and used, or fair value at the date of the subsequent decision not to sell.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_y9hp0w1ptEm7UY1MZKCvMg_1_0"></a><a id="Tc_1_0lmVeU9EeI3bznuBw-kQ_2_0"></a><a id="Tc_pc8K-efkpEyWUHF5KZucCw_2_2"></a><a id="Tc_i5Hk_ZACq0iXnv4IEK8M7Q_3_0"></a><a id="Tc_AJ9L4UkJKUmuid0qJy021Q_3_2"></a><a id="Tc_FPbb5Ilps0CIF-yN_tT6pA_4_0"></a><a id="Tc_E6sGm4xn50y7JT_It2ibHQ_5_0"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont3" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:BusinessCombinationsPolicy" id="Tb_Fvq2dFqTg0uGuTFPBAoj-w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. The Company recognizes adjustments to provisional amounts to reflect additional information obtained for incomplete facts and circumstances as of acquisition date. The measurement period ends once the Company receives sufficient information to finalize fair value, however, the period will not exceed 1 year from the acquisition date. </p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:AssetsAcquisitionPolicyTextBlock" id="Tb_G2T-98JLbEi916jLgGuNAQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_KbP8u2ubDky15LLpNWrc8A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="Tb_s4hrm3uWOkyO_k2kZgUNsA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_N0-Lkh9S-keGb7GaXp4kig_1_2">20 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_RSsnuES7TEOXEPHB4V590Q" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_tvFjhzdjG0q7_lDP7gV4vg">5</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_uRpOVxYEe069W2Xrzl3agQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_B7gvrd-lg02jQeqF8e7QqA">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Vc1vJ51sI0-gYz74T1igeQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc__u-B_5_Q90Wmorx_91z4gw_4_2">5 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_b7puSkqebk-GBdEfZTOIZA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_VjKCt5-EaUKf9Qr4M02odQ_5_2">5 years</ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_KIz8Hd4riUy_fxoBRIb6kw_1_0"></a><a id="Tc_oTYBewTS1UGptYh7bc_Xgw_2_0"></a><a id="Tc_yGhoeSzIt0iGv4m1qbl55A_2_2"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont4" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) </b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:SolarPowerSystemsPolicyPolicyTextBlock" id="Tb_xqq7KiOii0CI0Yx8mZjObg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power systems generally comprised of ground-mounted utility-scale projects that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation. The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the power purchase agreements (&#8220;PPA&#8221;) and performance based energy incentives, permits, consents, construction costs, equipment costs, land costs, interest costs capitalized, and other costs capitalized. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems are retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_rfAgVXGMS0KyT-IKRUzoQw" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_XB0zdwgwRU2WrXX9EqLqGQ">20</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lESoxmS9zUiCrukvxTlkrw" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_7gBPDoNBrE2mUvhw0H_T6g">25</ix:nonNumeric> years to <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_XPWUyl5ZvEGXTh2N9tB4HA">30 years</ix:nonNumeric>, based on internal studies and market analysis that support a <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug" format="ixt-sec:duryear" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_2aFPVV1rQ0GpiQwjx-n3Pg">30</ix:nonNumeric>-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than <ix:nonNumeric contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug" format="ixt-sec:durwordsen" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_k0pzJ4UX7kefRZZuylYsGw">30 years</ix:nonNumeric> in duration. The change was being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V9J128qcMESPVO50J1aTvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInDepreciationExpense" scale="3" id="Narr_S3pGzniWH0mD-cMBE4jlkw">2,186</ix:nonFraction> if the change had been made at the beginning of 2021.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" id="Tb_yKxeaBXMnECS-3TtGBdVOQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_5U_jL9bM6kmyJTqnwWZEPg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_v5F5XQPr7UC-aLJFOT3LZg_1_2">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_3MY9KF1Hw06o9DHDidjStw" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_D4E1CSnLtEeKwL0eeAQPiw">1</ix:nonNumeric>-<ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Z7crre3kQ0e3s260s4ZKPA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_JbCFj-SK2U2Zcj_C3sHOYg">10 years</ix:nonNumeric></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:LandUseRightPolicyTextBlock" id="Tb_PZo7GJh9GE6IpT0cSNFV5g" continuedAt="Tb_PZo7GJh9GE6IpT0cSNFV5g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;Land use rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Land use rights represent operating leases in accordance with ASC 842.  The amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) is recorded as operating lease right-of-use (&#8220;ROU&#8221;) assets on the consolidated balance sheets. Amounts are charged to earnings ratably over the land use right periods of generally </span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_K3dZt0m0aE2fNPxtori6zw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_j5-C6Bkle0eDyPcNQ_6tCA">50 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont5" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont6"><ix:continuation id="Tb_PZo7GJh9GE6IpT0cSNFV5g_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:EquityMethodInvestmentsPolicy" id="Tb_xrcb_gsEDkGH5h6SSviG5A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on capital, and the rest of the amount is considered as return of capital.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2020, 2021 and 2022, the Company recorded $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_0dW-r0WmpUGbu6QN1I34IQ">24,060</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_AC3hHunrWkq5GfPSBjiN_Q">nil</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_e6tz5qLp2EKjVxF6hib-Gw">357</ix:nonFraction> of impairment charges on its investments, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_tOMW6S8jHEmAipFJebno1Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets, when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss for amount by which the carrying amount of the assets exceeds its fair value. Fair value is generally measured based on either quoted market prices, if available, or discounted cash flow analyses. The Company recorded impairment charges for long-lived assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_lw5VfmA8eEeVquxTG8Bm9A">11,854</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_zDVvQSKyKEObPFl_dv_Anw">6,084</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_LkJAzoffs0av6untCABVtw">60,330</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:InterestCapitalizationPolicyPolicyTextBlock" id="Tb_m8rvWin2-UScKkCWlQmxJw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sale to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:AssetRetirementObligationsPolicy" id="Tb_dIiL03InLEKw3XxYNv_NKA" continuedAt="Tb_dIiL03InLEKw3XxYNv_NKA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company&#8217;s long-lived assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. The Company recognizes the fair value of a liability for an assets retirement obligation (&#8220;ARO&#8221;) in the period in which the obligation is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset, except in cases where the asset is depreciated over lease terms that differ from its useful life. Upon settlement of the obligation, the Company eliminates the liability and, based on actual cost to retire, may incur a gain or loss. The Company&#8217;s ARO included in solar power systems were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_g4r8fXvNE0-cH3xEI5zaqw">110</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_cXKokreUi0yk9fgnE3KDlQ">399</ix:nonFraction> as of December 31, 2021 and 2022, respectively.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont6" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont7"><ix:continuation id="Tb_dIiL03InLEKw3XxYNv_NKA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_eCK53i3j6UiKoQ3bbgxxRg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception based on the relevant facts and circumstances. Operating leases are included in operating lease ROU assets and operating lease liabilities on the consolidated balance sheets. Finance leases are included in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period in which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less and do not include a purchase option or extension that is reasonably certain to be exercised are not recorded on the consolidated balance sheets, and instead the lease expense is recognized on a straight-line basis over the term of the lease.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense in the Company&#8217;s consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment loss on its consolidated statements of operations.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock" id="Tb_Dqwm0GYIyU-fDbQ2ixX4bg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont7" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont8"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_1SiO7-dcQEqDtryWmEng0w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_DSpDRmfT1UCiO0rEIoTfNQ" continuedAt="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer. The Company is subjected to sales taxes, goods and services taxes and value added taxes on its sales of products, and recognizes revenue net of these taxes and estimated returns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power products, including solar modules, solar system kits, inverters, accessories and materials related to solar power products are transferred at a point in time when the customers obtain control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include charges to customers for shipping and handling activities. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (ab) for the Company&#8217;s accounting policy for warranty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customers. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration solutions, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont8" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont9"><ix:continuation id="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont1" continuedAt="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total estimated costs to determine its progress towards contract completion and to calculate the corresponding amount of revenue to recognize. The Company is also required to make estimates of revenues and costs to complete its projects. In making such estimates, significant judgment is required to evaluate the underlying assumptions, including the impact of any performance incentives, liquidated damages, and other payments to customers. If estimated total costs of any contract are greater than the estimated net revenues of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates using the cost-based input method of revenue recognition are recorded in the period in which the revisions are identified. At the inception of each contract that includes variable consideration, the Company evaluates the amount of potential payment and the likelihood that the payments will be received. The Company utilizes either the most likely amount method or expected value method to estimate the amount expected to be received based on which method best predicts the amount expected to be received. The contracts do not contain significant financing component.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Performance obligation for long term service contract, including capacity, operating system performance and battery augmentation, is accounted for separately if the performance obligation is considered to be distinct. The Company considers the performance obligation to be distinct if the customer can benefit from the good or service either on its own or together with other resources readily available to the customer, and the Company&#8217;s promise to transfer the good or service to the customer is separately identifiable from other promises in the contract. The Company generally allocates the transaction price to each performance obligation based on a relative standalone selling price basis. The Company develops assumptions that require judgment to determine the standalone selling price for each performance obligation in consideration of applicable market conditions, relevant entity-specific factors and information about the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development activities, including sourcing land, interconnection, structuring power purchase agreements, obtaining permits and other requirements) are recognized at a point in time when customers obtain control of solar power or battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customers, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operations and Maintenance (&#8220;O&amp;M&#8221;) and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performance and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_oJlTg1jzyEmCqGCTn6MsIg_1_2"></a><a id="Tc_6SAsux33v0-l3uUEBy6UZg_2_2"></a><a id="Tc_oGY7DhNhmEWpuJsZz7gmDg_2_4"></a><a id="Tc_2YSIt1fIskOYVILlBsvPtA_2_6"></a><a id="Tc_rl7d-R0e2UimHnux0ougjA_3_2"></a><a id="Tc_DEEdmTmcy0GY2t09dBpIfQ_3_4"></a><a id="Tc_r8SnKNapGUiLeXfv_utwqQ_3_6"></a><a id="Tc_Ab6mrjqHhE2GdvymbmSJIQ_4_0"></a><a id="Tc_YY3lj2lLLUOBkEOYggV6Yw_5_0"></a><a id="Tc_8ZE78GRBeU2z9v3cpAbncQ_6_0"></a><a id="_fe71c05c_032b_46fa_845b_3e4f5881fca8"></a><a id="_fe71c05c_032b_46fa_845b_3e4f5881fca8_2"></a><a id="_fe71c05c_032b_46fa_845b_3e4f5881fca8_3"></a><a id="_fe71c05c_032b_46fa_845b_3e4f5881fca8_4"></a><a id="Tc_ESlFOf4uwk-TTtDZwC54fQ_1_2"></a><a id="Tc_8jM56uYNB0SttvhaNFX_qQ_2_2"></a><a id="Tc_gJXCvcMskk-qPkEXmMrMWQ_2_5"></a><a id="Tc_IL0yMQ2im0y1o9h6ugBZOg_2_8"></a><a id="Tc_fXWQz-7Ht06CNEZfgviGVA_3_2"></a><a id="Tc_Da0dHf6JJEC5-e8TlzNuLg_3_5"></a><a id="Tc_KptV4cCBGEyHHfwfSQqUSQ_3_8"></a><a id="Tc_snJUBcUAwEGraAHD1qO4Bg_4_0"></a><a id="Tc_2GMyzUlXE0S_zJbDacMsFQ_5_0"></a><a id="Tc_XDAbaAwG10qmyE8t1Hrdqw_6_0"></a><a id="Tc_YRFrGNklrEaAAr-gy7UZrQ_8_0"></a><a id="Tc_HVOfX5Y1nkK2caqdJeUVjw_9_0"></a><a id="Tc_tBRHg06C30mUNZ6KvuJwyw_10_0"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont9" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont10"><ix:continuation id="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont2" continuedAt="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company generally recognizes electricity revenue based on the price stated in the PPAs when the specific volume of electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the attached conditions have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2020, 2021 and 2022, the Company recognized performance-based energy incentives related to electricity generated of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_IBqRJSzkf0mGLRdMGQaNnw">6,628</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_-hXXcyvdIkq_Q50EF4N1yw">9,402</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr__nVBiaqVi0iSme0WQX9Wcw">2,908</ix:nonFraction>, respectively, in revenue. The Company will evaluate its long-term PPAs to determine whether the PPAs should be accounted for as an operating lease. A lease is deemed to exist when a single off-taker has the ability or right to operate the solar power plant, control physical access, or is entitled to obtain substantially all the output from the facility. Variable lease payment is recognized over the term of lease as contingent rent revenue when output is delivered, whereas fixed lease payment is recognized as lease revenue on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s electricity revenue during the years ended December 31, 2020, 2021 and 2022 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfElectricityRevenueTableTextBlock" id="Tb_Deu2mYZbJUqwt4nIAyXeJA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electricity Revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2Z0D4RCkA0-pq2NIam5fkw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_XUtfLOA0aEaiGermivhsHg_5_2">9,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_AllP6KYsLU6KfOuDCPQB7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_YeCYWNuu1E6-czaneu4lqA_5_4">15,302</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_cF1DrbyhxE6hCqkgFcBtYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_tZjmlsZCJkCh0YOHMgQqBw_5_6">2,256</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_qg45PgODJE-ReTONRIKhZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_d0Q767fbtkKR_oNOHWql1A_6_2">629</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_Kfye0lRU106Tx9QBYYAl8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_bpocWs7hx0ajEWbfbmbO-g_6_4">14,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_dJqrak8h9kq22R_hz6eYfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_eEsjAwmuOUiHRED8_kA5IQ_6_6">21,579</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc__mz764CLB0WUjUoi2UhGzA_7_2">9,706</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_4KY0bwOtUkCwdqhnt2NJYA_7_4">29,420</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_NUBIDwvlZkC1oiIJaYg6pQ_7_6">23,835</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company determined that certain PPAs are operating leases and as a result, recognizes revenue as contingent rental revenue when output is delivered. Such revenue, which is presented as electricity revenue above, amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_h9_oRWCUBUSIzlVF4vCzng">2,457</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_YAdFHq0qfUuaIfYMwqjb1A">4,940</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_IUgc_LZYBk2hzTxYKVuS3Q">4,736</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. The remaining amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_tDWRj-aqhU2nigiRXSWLLQ">7,249</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_cR2y7_stXEe-2oyuYWuakw">24,480</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_V8NNnr5_lEyf5uQUHvOhIA">19,099</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively, are recorded in accordance with ASC 606.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2020, 2021 and 2022 has been disclosed under Segment Information. See Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_df6oaDpoc0O6R3CHiTY-lA" continuedAt="Tb_df6oaDpoc0O6R3CHiTY-lA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_zrxEERNDVU-coyBaKI2Ibg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Aae_du708EmrAOpgk1y-Ug_5_3">2,704,332</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_O9FpPygQgkOqvhDzFUWwCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_SqX14hjRxEWIKX1Qq1w7MQ_5_6">3,881,573</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_247PiAp0Dk-V1QHhgbkQSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_feVRl2YpoE6kbIDxZkoNPw_5_9">6,173,338</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_jNP07gyCc0SmPzkzgfE-mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_f78D8OCKLUGsR3jt07bwlQ_6_3">45,996</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ekKZo42d40KoMeg8Zu_e-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_wEEyaG3MpkeuTXXHMAzQ6A_6_6">271,513</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_lBRVHZX6xE-tkElOQb8twQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_s-AFEO-n4UqkNI-6pPJ_FQ_6_9">473,747</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CHFHqSX10EiWXPGA_LJjAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_UKnedGjzrUeo5cN5gXneiw_9_3">687,759</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DkB6ZvjNbUqz8uky690BbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ArPelI5K50ih-fRkrLzadw_9_6">1,068,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_W23UhTS0ZUiOgeIfyD8rlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_5Y6dGmYjmUS1GFUrHnN2Vg_9_9">763,698</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_NwO579FCR0i4ySGSbHCsLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_RYZopMkqKEmv-ex4bW_1yA_10_3">38,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yQJQ-aGBok6DrEEpDw8CEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NK6DQHXfB0-vvffvNT8REA_10_6">55,904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_PsEcgcW2Rkuq-evvxlR_MA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IJuTTiUbo0i-LrSPvEUOYw_10_9">57,827</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_uF9p67fW4EGthH95IvGWxg_11_3">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Cyg2nzf_eESTCmUREQWB9w_11_6">5,277,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1Yw28dEKlk6z1k8M2mVjhA_11_9">7,468,610</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e36cfd22_675b_43f9_82f4_726f70a4241d"></a><a id="Tc_h-FlRKdev0Gm4EpsT0by7Q_1_3"></a><a id="Tc_95sePpeV60KpY0qFLFV7UA_1_6"></a><a id="Tc_IzVGCzgFP0-oZaSdZJX0tw_2_2"></a><a id="Tc_UlCKt3fIqkSnrPzFWIEeRw_2_5"></a><a id="Tc_EWOc9JlLGk-sIXDPhqdbKw_3_2"></a><a id="Tc_iQ3PTSFAU0eXda6KaoiZXA_3_5"></a><a id="Tc_N3lFxp59uUSsxD0fujPZtA_4_0"></a><a id="Tc_BAk1ZwHHCk-XDRWddKUJMg_5_0"></a><a id="Tc_244NCLfr5kactBg7rLtnXw_7_0"></a><a id="Tc_WOWpjjnutk2lJBVfnal6Tg_8_0"></a><a id="Tc_gazfPvOT80uM8hwDOA4RnQ_9_0"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont10" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont11"><ix:continuation id="Tb_DSpDRmfT1UCiO0rEIoTfNQ_cont3"><ix:continuation id="Tb_df6oaDpoc0O6R3CHiTY-lA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" id="Narr_aPzcQ-1OJEKY5rdwBbok2A">219,836</ix:nonFraction> of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2022. Contract liabilities of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" id="Narr_3zvm7aPhbUKa-tz4RLhfuQ">406,751</ix:nonFraction> as of December 31, 2022 are expected to be realized within one year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_OUoggKmTNU-YczR6d8oz_g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_7xustRgK0ESQ0BDrD1_wDw_5_3">37,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_Sp4Sk6MIwkaJyeGlUian5A_5_6">57,770</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_rmlgTV4c5kOvTC3fc8d7wQ_8_3">135,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_m15mZA4isUafYpuu7FuLYQ_8_6">334,943</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_fIJyJP2fi0OgV82SSGaLKg_9_3">98,494</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_lgpdiLluMU2esU5mrllzEA_9_6">71,808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_VeHME6ITLUaBm2JqsHEMog_10_3">234,006</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_tfv3L6bhWk-6NbWMoZQ20Q_10_6">406,751</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has applied the practical expedient by accounting for contracts (or performance obligations) with similar characteristics on a portfolio basis. The Company does not expect that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would differ materially from applying the guidance to the individual contracts (or performance obligations) within that portfolio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed. Revenue recognized in years ended December 31, 2021 and 2022 from performance obligations satisfied in prior periods were insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period of more than one year are not material to the Company.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_eHs1n_XABk6p2GPBebzabA_1_2"></a><a id="Tc_SbtAVhnWsEyZ-_qRb8fbww_2_2"></a><a id="Tc_fZk6xfvfpEa2_rg8SrtsYQ_2_4"></a><a id="Tc_n0r9fa1CwE-sm6XU0MPnuw_2_6"></a><a id="Tc_PCSN1MifAUyMCxNoOR52eg_3_2"></a><a id="Tc_oJX5YY4vlUaVKC-sUiHvQg_3_4"></a><a id="Tc_jNkxaF9rW0yBy3Oc7Qn7Dg_3_6"></a><a id="Tc_wuMINuK9wEO8GKCqLIznQA_4_0"></a><a id="Tc_j_jzWkIYrUKqEDizZesGjg_5_0"></a><a id="Tc_mb266m4v7EC4BqZQO825Wg_6_0"></a><a id="Tc_lLap8YGbBE-ElyKSjiHAQw_6_2"></a><a id="Tc_GZyp9sZHOUa8fa8gFFyJqw_6_6"></a><a id="Tc_WoT4MljgnkayxTDzj0pNjw_7_0"></a><a id="Tc_9g_V2QeXG0GwnYXQ2W5KIg_7_6"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont11" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont12"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock" id="Tb_zb2Rh2CKlkam6Z2zTTuM6g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_LZqghPqAkk6Bxmy6cwoBWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_xgSXfq6vAUSb_N06ukNSfA">134,248</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_nH-JblooIUyb8HKQ5YdPWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_2uTgoNpxtEKQDsG3ljaVnA">316,358</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_0Mi09qqkYE2_g51uC4_0Qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_diiHADQVmUCmehc_cP1MqQ">453,865</ix:nonFraction>, are included in selling and distribution expenses for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Tb_p8av0hcpr0utP069bJsJHw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_70024UuqSUilm4-A-KOHpw">45,167</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_ehBxsrokBk6accUyHuF0dA">58,407</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_H9O4U0FcgkSVIxaOGJiJ7A">69,822</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock" id="Tb_LHMtxuvSTEqPz4B8F4-6TQ" continuedAt="Tb_LHMtxuvSTEqPz4B8F4-6TQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In most case, the attached conditions of grants are for a specific performance or duration related to the construction and acquisition of property, plant and equipment, achievement of business development plan, technology innovation, and human capital development. These conditions may be subject to review, audit and approval by the local government authorities and, therefore, could be different from the amounts recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company has $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_ZjLyvbGja0q5ev-WjnyQgA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GovernmentGrantsCurrent" scale="3" id="Narr_ahvEEvTMF0WfCCkw-kEmOQ">786</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_50W6dFd9KU2OcetNs7GFbg" decimals="-3" format="ixt:numdotdecimal" name="csiq:GovernmentGrantsNonCurrent" scale="3" id="Narr_W1ZFU2GSbkSyrZioiYw1RA">165,946</ix:nonFraction> of government grants in other current liabilities and other non-current liabilities, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" id="Tb_lkOK_Z3u0k2oK4mlSUJeZQ" continuedAt="Tb_lkOK_Z3u0k2oK4mlSUJeZQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_Cis9K2_eck6PHNKuis7ifA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_z_l7m-BT-0aDXln4O7ms7g_4_2">24,245</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_XdcFPrOByki24h_aseU1Ow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_40WD4cX03UehM54guYkd_A_4_4">38,468</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_KOmbQW_XX0OcZxtzG-YxuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_m_V0hm5TFU6tzOQTJwlA-Q_4_6">59,543</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (gain) loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_JsxsyuyC_Ei2lM9rPwmTnw_5_2">253</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" sign="-" scale="3" id="Tc_0SnXnCvTA0qr_SHiWCneZQ_5_4">83</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_K441F3TK502SvFRnHJ0BXQ_5_6">4,259</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_j9dstupcPEiJJ-QLbwt2AA_6_4">10,091</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsuranceClaimsOrWeatherRelatedProjectDamages" sign="-" scale="3" id="Tc_Bvtezk94NESrOZRr_WZd1Q_7_2">1,025</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsuranceClaimsOrWeatherRelatedProjectDamages" scale="3" id="Tc_SzVF22vyVUGrFkJgp2HtRw_7_4">1,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_i8QLjG0YL0S1Q_FunjrASA_8_2">25,523</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_XWQEeVsluE2JfAs25Jpygw_8_4">47,068</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_37i_ayBzJkKB7EGtkvz-3w_8_6">63,802</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont12" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont13"><ix:continuation id="Tb_LHMtxuvSTEqPz4B8F4-6TQ_cont1"><ix:continuation id="Tb_lkOK_Z3u0k2oK4mlSUJeZQ_cont1"></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:StandardProductWarrantyPolicy" id="Tb_P9GrOV0Ie0SU_PBxBuqgGQ" continuedAt="Tb_P9GrOV0Ie0SU_PBxBuqgGQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company sold its standard solar modules typically with a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_EMKs9yucUUmokuC819HGug">two-year</ix:nonNumeric> guarantee for defects in materials and workmanship and a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_tuoHBcR_LUaW_Hdu1vcGEw">10-year</ix:nonNumeric> and <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_TsxsEyPZN0KR2Ei9Bhkbjg">25-year</ix:nonNumeric> warranty against declines of more than <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" scale="-2" id="Narr_-S1nb0_aPE6BibxI6IjtAQ">10</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" scale="-2" id="Narr_6jhxV0n-7E2ZzyBHqS8GeA">20</ix:nonFraction>%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, the Company increased its guarantee for defects in materials and workmanship to <ix:nonNumeric contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_gLcKlZl-kk67YMls4IQopQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_N4sxwUFhVEORi6_oqxtViQ">six years</ix:nonNumeric>. In 2011, the Company increased its guarantee for defects in materials and workmanship to <ix:nonNumeric contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_wmfHwEfsuk2ZREWFuxSF2A" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_GYVxStTgzUKPsC67vXnF0Q">ten years</ix:nonNumeric>. In 2019, the Company increased its guarantee for defects in materials and workmanship up to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_LLk_r32O5ka0F-Q3TQs8Eg" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_EmcikXWTmkqGKIR1-sk6hA">12 years</ix:nonNumeric>. In 2022, the Company increased its guarantee for defects in materials and workmanship up to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_Iu47OyrXSEyIqqILGmhXsg">15 years</ix:nonNumeric> or <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_a-a-6wH7Mka-GsTg4PRdBg">25 years</ix:nonNumeric> for certain module types, and the Company warrant that, for a period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_XVW-DrJn3kmQJrD5gKP3Ow" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_pRblcksfa0O8qsHB0JhV1w">25 years</ix:nonNumeric>, its Ku/Hiku modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_QH--l-EzwkCARXsrvQ1KBQ" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_AWIkC1tFPUy31fLpvdUKpQ">97.5</ix:nonFraction>% of the labeled power output; (ii) from the second year to the 25th year, the actual annual power output decline of the module will be no more than <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_qU553kM98kqJHM7_K-MI8Q" decimals="4" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_jW9g6EZWF0Wml33552Frww">0.55</ix:nonFraction>%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_sTgGX3ZZXEmyBr1fdWAa2w" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_6GUr79Nu7kKHnjMAYbJQDw">84.8</ix:nonFraction>% of the labeled power output. The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_pX0YoB0fc0ymta8IWAcl2w" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_53P5dJIx3ESzSpYywlpZpg">30 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont13" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont14"><ix:continuation id="Tb_P9GrOV0Ie0SU_PBxBuqgGQ_cont1" continuedAt="Tb_P9GrOV0Ie0SU_PBxBuqgGQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated warranty costs based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_Utz8sxmYokKDI-Rri7SLfg">1</ix:nonFraction>% warranty provision against the revenue from sales of solar module&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company warrants its battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_Rki3dEqr0USEJSCpQEB67Q">5 years</ix:nonNumeric> from the date of installation, with an option for annual extensions for an additional <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyExtensionPeriod" id="Narr_seBKWDWt5U-s6ALjQO_fBQ">15 years</ix:nonNumeric>. The Company continuously monitors its warranty failures and maintains a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Estimates related to the outstanding warranty liability are re-evaluated on an ongoing basis using best-available information and revisions are made as necessary. The Company has obtained warranties from its battery cell suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by the Company under EPC services, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_ISmaP2himka-UgYYG4kcyQ" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_8ZBy7QYkJkSnTGsP7PFmYw">two years</ix:nonNumeric> following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties on solar module products. The insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy periods. The unamortized carrying amount is $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_5k-bJnkw8ki_9-g-_3PZFg">528</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_6Yjliqt360WhLfV3MLVuAg">264</ix:nonFraction> as of December 31, 2021 and 2022, respectively, and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursable by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance companies are monitored to ensure the claim has been submitted to the insurance companies, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances, and the measurement of expected credit losses. To date, no provision has been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates or the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont14" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont15"><ix:continuation id="Tb_P9GrOV0Ie0SU_PBxBuqgGQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation as described above and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_-RmpBNzv2kirU9Ty4dodig">87,729</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_zAYPYE0v7ESWNZmNdshIQQ">84,474</ix:nonFraction> as of December 31, 2021 and 2022, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherNoncurrentAssetsAdjustment" scale="3" id="Narr_Aeak2e5qA0aBw5pF54fYZQ">4,089</ix:nonFraction> for the year ended December 31, 2022, to reflect the increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_A45rQHcgQ0W2oi_JppP6lA">26,931</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_vUGvP6Oc3Eee37vgpK96Dw">45,053</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_V0b9f1uIskqJSmcszKVbVA">68,411</ix:nonFraction> are included in cost of revenues for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_xWCqEmoewE6mvGhZesgfbg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Tb_ozS8H-XTBk6SNmfQSMftFw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i) net income, (ii) foreign currency translation adjustments, including gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities, (iii) the unrealized gains or losses (effective portion) on and de-recognition of derivative instruments that qualify for and have been designated as cash flow hedges and (iv) unrealized gains or losses in fair value of available-for-sale debt securities. </p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_b736538f_c553_472b_b593_9fcefdfb38a0"></a><a id="Tc__on2VSPbD02WeXtXsJlU7g_1_2"></a><a id="Tc_9bf004JlmkubNCMS3a0dqA_2_2"></a><a id="Tc_pfqeN6QQG02wyDB-gkv4FQ_2_4"></a><a id="Tc_Toh1Y6yq1keybWV7ff4xVQ_3_2"></a><a id="Tc_FM4qzHOcAkWA4RfNLobRSw_3_4"></a><a id="Tc_buqGdTib50-sOl-08ioNnw_4_0"></a><a id="Tc_ALUhpBJMxESRp1wI3QLE6w_5_0"></a><a id="Tc_hRt0UBz8j0eAOEn7ghShYQ_5_4"></a><a id="Tc_U3f89EuyJ02FHDhhM9-QhA_5_5"></a><a id="Tc_MbLIU0Gs2EmwYaRD2mE_ZQ_6_0"></a><a id="Tc_I6Ceq8vdjE2QKaAG29ftCw_6_4"></a><a id="Tc_z9ff2EgK2EOV1iTlv_Tz2A_6_5"></a><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont15" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont16"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ForeignCurrencyRiskPolicyTextBlock" id="Tb_TopctAHZbkW0h5BWlujxSQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Japanese Yen, Brazilian reals, Australian dollars, South African rand and British pounds. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi and U.S. dollars. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht, may result in foreign exchange gains or losses. The Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_A7w3ay5CtEKYVJ8dKOYdpA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials and equipment. The Company performs ongoing credit evaluations of its suppliers&#8217; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#8217;s expectation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2021 and 2022, gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" id="Tb_LWqlNFSg70mv9e7RXnwdxA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_DqCGjBlLcUa1YsQICKplZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_niJBql-brUG5YIeeog0vpg_4_2">37,117</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_nTbR9xLPK0e_7XFspXEclw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_ux9Csiqgo06-xglIq_1iTQ_4_4">35,359</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_9W-QDuThU0GfavSDhUpnIw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_RY5WhwyapUetz8-orlEbfA_5_2">52,257</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_1xyqd3FEgkeYbZq2seVRVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_1Wc8dlTYIUmcTUJuRsjuVA_6_2">36,026</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2022.</p></td></tr></table></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont16" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont17"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_D8UMx70TmkKX4LcnrKb-6A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritizes the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s money market fund included in cash equivalent, restricted cash balance, mutual funds to satisfy its obligations under its employee deferred compensation plan and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_KbQJU58aBUO4nSon2zUUsw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting. ASC 815 provides for three different ways to account for derivative instruments: (i) as a cash flow or fair value hedge; (ii) as a mark-to-market agreement with changes in fair value recognized in current period earnings; or (iii) as an accrual agreement, if the criteria for the normal purchase normal sale exception are met and documented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from non-functional currency-denominated monetary assets, liabilities and cash flows, and to hedge its commodity risk exposure to losses from raw material price fluctuations. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using observable inputs obtained from active markets or pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty with the Company, as necessary. </p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont17" continuedAt="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont18"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_6Spkp7fsqE23aNCC945qZw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_nTxB4ORWLEeXGAwZL398hA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:UnusualOrInfrequentItemPolicyTextBlock" id="Tb_dwGED6Uphk-g-9gyKk0bhA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_HU2W9QyEwU60ZwFXliF_tg" continuedAt="Tb_HU2W9QyEwU60ZwFXliF_tg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2020, the FASB issued ASU No. 2020-01, which clarifies that a company should consider observable transactions that require a company to either apply or discontinue the equity method of accounting under Topic 323, Investment &#8211; Equity Method and Joint Ventures, for the purposes of applying the measurement alternative in accordance with Topic 321, Investments &#8211; Equity Securities immediately before applying or upon discontinuing the equity method. The amendment was effective for fiscal years beginning after December 15, 2020. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. In addition, in December 2022, the FASB issued ASU No. 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,&#8221; which deferred the sunset date in Topic 848 from December 31, 2022 to December 31, 2024. The ASU 2022-06 became effective upon issuance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg_cont18"><ix:continuation id="Tb_HU2W9QyEwU60ZwFXliF_tg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The Company has $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_pS4YOMFg7UGetpJmSLjrVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_vJpReTPQJUm1dZ8wiipMgw">208,621</ix:nonFraction> of LIBOR debt as of December 31, 2022 and projects the balance will be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_suaZpF3p8Ui21dmFf_HEmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_JaGU2RPafE67xl8XU4y3fw">185,326</ix:nonFraction> by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In October 2021, the FASB issued ASU No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which require that an entity (acquirer) recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Revenue from Contracts with Customers (Topic 606). At the acquisition date, an acquirer should account for the related revenue contracts in accordance with Topic 606 as if it had originated the contracts. The amendments in this update also provide certain practical expedients for acquirers when recognizing and measuring acquired contract assets and contract liabilities from revenue contracts in a business combination. The standard is effective for interim and annual periods beginning after December 15, 2022, with early adoption permitted. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November 2021, the FASB issued ASU No. 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The Company adopted this new standard on January 1, 2022 and the adoption did not have a material impact on the Company&#8217;s consolidated financial statements. See note 2(aa) for discussion regarding such amounts recorded in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In September 2022, the FASB issued ASU No. 2022-04, Liabilities-Supplier Finance Programs (Subtopic 405-50) - Disclosure of Supplier Finance Program Obligations, which requires that a buyer in a supplier finance program disclose sufficient information about the program to allow a user of financial statements to understand the program&#8217;s nature, activity during the period, changes from period to period, and potential magnitude. The amendment in this update is expected to improve financial reporting by requiring new disclosures about the programs, thereby allowing financial statement users to better consider the effect of the programs on an entity&#8217;s working capital, liquidity, and cash flows. The new standard is effective for fiscal years beginning after December 15, 2022, except for the amendment on roll forward information which is effective for fiscal years beginning after December 15, 2023. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_N6FnzNb3lUyOieUtqIXvBg_1_2"></a><a id="Tc_WzU1B1bLNUKlZNfGaHmjLg_1_4"></a><a id="Tc_u5UWQNU4d0qO8WVc5qBsjw_2_2"></a><a id="Tc_cV6rn74q00eiaFuZvgxGMw_2_4"></a><a id="Tc_V56fIwfg6E-toz_cGy_BYA_3_2"></a><a id="Tc_SLJ9b4KvBUGezTFTxmxMQA_3_4"></a><a id="Tc_l9Z-TctUX0eoHysN8C61VQ_4_0"></a><a id="Tc_Wpqhw2mfIkm_vvABr-bQ3Q_5_0"></a><a id="Tc_t8GNMPjZSkyT94ZjG1eWnA_6_0"></a><a id="Tc_9DV9o56G30eArLy0MbD0xw_1_2"></a><a id="Tc__fPjTDnrAUGBgRPq1cyJ9Q_1_4"></a><a id="Tc_flBgJi7JzUWk5g3eEORVOg_2_2"></a><a id="Tc_CWkaelCW60u2cX4oAD7Erw_2_4"></a><a id="Tc_3ZvxZteqc0SQnOyZD67D0w_3_2"></a><a id="Tc_yNGpW_5fF0aIJSi7rUu7Vg_3_4"></a><a id="Tc_J2WxJVNKS0SOH-AOJUguIQ_4_0"></a><a id="Tc_JLTvKSD_TkyaV94Td-AJvQ_5_0"></a><a id="Tc_Q8z_pHBpykSoUKRl3LRESw_6_0"></a><a id="Tc_XBIVW8Zr1kGGLFAGYEIwZg_1_2"></a><a id="Tc_qpgZb5-gvk-owYddRU6NhA_1_4"></a><a id="Tc_Lf6BkliuA0KfBAAxKPUrQw_2_2"></a><a id="Tc_NZI4WpPVQ0CUnh6XJHGt_w_2_4"></a><a id="Tc_8PstTrtdqkuru3fxr_rdqQ_3_2"></a><a id="Tc_uISX8peuc0OK7wou1alN_w_3_4"></a><a id="Tc_haQv5k5dE0qFH-zmE-i_Rw_4_0"></a><a id="Tc_dLiTEy2z-ka4TFgkbeEn0A_5_0"></a><a id="Tc_KI_6IsN-f0OrMqA8uJK_5Q_6_0"></a><a id="Tc_JXVpSbstbEO-oyrQaGGXHA_1_4"></a><a id="Tc_fvauC32Gt0i1QF2LzbGD6A_2_2"></a><a id="Tc_LdO9T6mhJ0u48WStDGGg8Q_2_4"></a><a id="Tc_UdGy4RL8YU-aZlnw55OKLg_3_2"></a><a id="Tc_lZePAO_cUk26XAFWmcoW6Q_3_4"></a><a id="Tc_PSNyuIuCzUCPh5tkLkziNA_4_2"></a><a id="Tc_JFrx_9lb20qX_VkGqDQ0Mg_4_4"></a><a id="Tc_up5wsrMNAE6XU7ByM9kNyA_5_0"></a><a id="Tc_0TpCMrjWb0C1mQmEzTAuMA_6_0"></a><a id="Tc_RKZch2qB406pps-oE65IQg_6_2"></a><a id="Tc_FodOijrGYUaXQOutEt6x8A_6_4"></a><a id="Tc_5G1OJUhFxk-quwBLSQ_GUQ_7_0"></a><a id="Tc_QP4CBQRX7EuKa7Kc7N48nA_8_0"></a><a id="Tc_FID7Jx18TEyC2WY0UxhdwQ_9_0"></a><a id="Tc_LBHUkK3wrkippNzJJk4WOg_10_0"></a><a id="Tc_lC5Rrj1Mw063OrTHVmUM8g_11_0"></a><a id="Tc_VNcIXHDwg0ijovU62XjilQ_12_0"></a><a id="Tc_av-CPA4-iE6lDxRU_mlLbQ_13_0"></a><a id="Tc_tKmGDvMdFEu9nypWeWNLTw_14_0"></a><a id="Tc_QNJ2HfqdGUeCEQ7ua2thbg_15_0"></a><a id="Tc_l9cSpw-SrEqUryK1sXWFDA_16_0"></a><a id="Tc_PeHk5g22zEy7wrDRvc01kg_17_0"></a><a id="Tc_WZ3U7K2kGk-b6TkiFz6QJQ_18_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:AllowanceForCreditLossesTextBlock" id="Tb_RycUXeaG3k6bxq_RxapCsA" continuedAt="Tb_RycUXeaG3k6bxq_RxapCsA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables were included as a component of prepaid expenses and other current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable trade, net consisted of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_Vxd2exGCIUub3hPs3BmR8g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_PmfcdTWUTEW2CEwYuTXK-A_4_2">698,498</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_TIXodQtLfE6CAq0fbSIu9w_4_4">1,020,880</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_urVvTCO34USqsieNuJN45w_5_2">47,126</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_blwv8U9T_kaxVhJAU4zp_g_5_4">49,930</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc__myy7LGPK0qUITDdfUHI9g_6_2">651,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_B4097ic7YEO0CPuP6ROw8w_6_4">970,950</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Advances to suppliers, net consisted of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_iiRLL9PbM0ei1plmlXmJQg" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_v28bvE9mX0OO0ADZNN9s9A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_z79u3WOqGEmp_VcuqYHSQA_4_2">279,800</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_gu5ozxflj0WXt6KhuSOcGQ_4_4">320,211</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_BAaTGQjGrkej1UTUqNP18A_5_2">19,682</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Gi1mTbYm6keo4sMd4aYcZQ_5_4">1,375</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_3TOZlHtkK0-duf0LrpXLfw_6_2">260,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_v8JxcaJdyUy3bjtRdXivnw_6_4">318,836</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other receivable, net consisted of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rJWWHxg8vkG2JFRadWYidQ" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_fDnTszFmX0apYDoDSzdZNA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_G12xEkMAKkGhZCm5Vkqj_g_4_2">280,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_zv_R-PJ7fkulX9NzdaDynw_4_4">129,195</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Bi_e9KojbEaA2g3veNkB3Q_5_2">9,397</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_ynMzzJbG3UmOguKg0ivwMQ_5_4">9,999</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_qx5KfBwQMEi5ch10iSJypA_6_2">270,953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_lx0lqUoPXEWtgVE6yJ4Fgg_6_4">119,196</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table presents the change in the allowances for credit losses related to the Company&#8217;s accounts receivable trade and advances to suppliers:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb_0nSM5Dwu90itBGfYO3d8oA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_L8ECMlBnzU6k_pRy7P96xQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_VvVuhL-ZV0Ctg8yG_cfrIQ_5_2">29,545</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_p78HETWA0US7Mi5JE9YJUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_JVeTkfp9CkOvvzdb8r-3RA_5_4">31,712</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_jJIFD46Y7keohalL4BdJ9Q_7_2">9,785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_wGDZI--leE2WP7LCKDAbXw_7_4">1,647</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_QM-26mGUcEa_e2wS_J5A_Q_8_2">639</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_ZDTynoxsV0CFHX6q4FNuUg_8_4">5,490</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_fRJLhwecck2LcRl8x980Sw_9_2">1,602</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_F7lXYQRkakquLrq1tvTdNg_9_4">633</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Tnaw2BfUb0uCh_vlNGe3Sw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_fktrHg9gbUqIUqen6QLGIQ_10_2">40,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_yRzeOWSg_U-6iY6zqoCvjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_OYFkUhXlFEWuWKcpBydCjw_10_4">28,502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_ZuaDTxEkOUuSo0jGflsfgw_11_2">7,171</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_mKCbE20RCEO1kbJaTC0MOQ_11_4">444</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_2fjjtObs00qnL9Sv9cFxnA_12_2">197</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_3hcMDLJtqkO_xkgN8V_prw_12_4">53</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_v0G4Vd3EZUOL-o8oVolWZA_13_2">141</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_sARPnvhtrkiUMRCL0fYZbw_13_4">186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Pi6RPTlS2kyBJWkJLC3jyQ_14_2">47,126</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_75L7WSTPP0eB5J1UMjxHvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_maBrzMCEKkOUlpqsSn1BNQ_14_4">29,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_schz2jl8okSw0dE4P-WaqQ_15_2">4,349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_gzpejZ0on0KCU2Asq4xfng_15_4">1,424</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_mqghAh14s0mO87OZg9Lung_16_2">109</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_iSzC6ZM-aUKxEfAZze0JiA_16_4">18,295</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_8V3SKtgouUG6y-zb4ze2Nw_17_2">1,436</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_fIYTWyyh-k-VPMMS4i5OhQ_17_4">834</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_RfEG4PCBNkGxdvIzkmLYoQ_18_2">49,930</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_EWAhNK7qBEiz1R7gKwOVdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_hzjO17gl002_Rc4fpFKLzQ_18_4">11,374</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_RycUXeaG3k6bxq_RxapCsA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_iC440p1kx06jHzzjyXrkbg_1_2"></a><a id="Tc_X6DXW5S0wUmF7Irc17pO_A_1_4"></a><a id="Tc_qyiKa4sawECtQtXgxRZnEA_2_2"></a><a id="Tc_f30190Qkh0qpkJGQFkbWGg_2_4"></a><a id="Tc_ypu2aAcv1E6yfkxOSQh-UA_3_2"></a><a id="Tc_3b-DQe0CNUWpOSx1ZgSutg_3_4"></a><a id="Tc_Srdlq2PubkOs-FGXqW8VlA_4_0"></a><a id="Tc_pUyTS3VxU0mBiDL3MOWQ8g_5_0"></a><a id="Tc_zfw6KgzXdESp_uHSlXprdw_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:InventoryDisclosureTextBlock" id="Tb_KzN9aZLq-kyD344ZlEIBYQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Tb_xMYB-YAerkSJFT-KvJwe0Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_zWvUYFRhcUWQUCooNX4wjw_4_2">155,433</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_teGQHAp74k2pVhTg0d_WGQ_4_4">310,394</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_ZlaJyhDiuEizfzoSb_hcmw_5_2">117,509</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_lkG86g8UcEqlArepCC0I9g_5_4">265,109</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_FFdH6t4k_Emylo4c_eamxg_6_2">919,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_A4xbIvLoc02jhldPC0lncw_6_4">948,592</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_O77dsvunZUK7asMRm12_wQ_7_2">1,192,374</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_JR9xq0B9F0yeHJIGDEr17g_7_4">1,524,095</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Finished goods include modules of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_ENFc4oz3pUayfxQD3BdnJw">163,078</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_MKVrOyf6lECYiK-TJXs91w">161,138</ix:nonFraction> as of December 31, 2021 and 2022, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="Narr_t9jbS7o4wEq-jL-0VYrInQ">5</ix:nonFraction>% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2020, 2021 and 2022, inventory was written down by $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_aQgbJw_uKUuM_5gFi0oYqg">42,907</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_W-XOK48yoUqiNcxtNozVtQ">14,070</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_TqMZytchikmi-9nrm8jnNQ">7,475</ix:nonFraction>, respectively, to reflect the lower of cost and net realizable value.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_dSv7bxLD50KrUaJ7FzzHqw_1_2"></a><a id="Tc_QXRAwy2jqkqSkzs78jL8NQ_1_4"></a><a id="Tc_jdQTqUSOrEyo6o3zwCq9RQ_2_2"></a><a id="Tc_Up0ePWirjE2mJZsH07QMIA_2_4"></a><a id="Tc_pdqtaDkgGEi0YAbw4O4EQg_3_2"></a><a id="Tc_eHS2829F7EC2ngpAFH72dg_3_4"></a><a id="Tc_5Cm7BnLhWEWMnUrgPzqzIg_4_0"></a><a id="Tc__hU4wcgsuEmzOwm2rrpJ-A_5_0"></a><a id="Tc_CnmOMpbSCU-DvKw_nh83Iw_7_0"></a><a id="Tc_9vpaX4EqKEyBYzEgs4nPGA_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ProjectAssetsDisclosureTextBlock" id="Tb_Hhr-DtVayE65KRfaOP7xjA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfProjectAssetsTableTextBlock" id="Tb_PfpbMnyFVkmK1TB4VzQXWg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Development cost, including project acquisition and land cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" scale="3" id="Tc_cqplQ8KglECqaBAuXxdbjw_4_2">558,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" scale="3" id="Tc_i2gPNlgtZk263R8skttzeg_4_4">444,858</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other construction cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_pMyjgLR8ZE2GGcIv6SC9Zw_5_2">469,117</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_XCxalixpY0azavmhmzRNWg_5_4">379,635</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_CRUelvGRykyBMGDmetcLpQ_6_2">1,027,361</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_ChIek-bLIk-loizuIKAFSw_6_4">824,493</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_BDwoioYcGkaGc8pNchYuNQ_7_2">594,107</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_KIUP5WLIsU-M8M3OD-zyXA_7_4">385,964</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_4UarGr-8YUuPuOrt32-2ig_8_2">433,254</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_F_0TrhxYpEGrRPtSglZsrg_8_4">438,529</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment loss on project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_rZoYnfYJMkiu4MKW3mwdLQ">369</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_LvvmO2IdwkW8yqt1i4M5CA">17,152</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_WsWbvLT_L0i5eThXtc9TxQ">1,674</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of project assets was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_87kkCInZDEevPBEgPiok_A">10,197</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_AS3N1tes5EqQ3yrOyFfQxg">17,316</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_JhbsXH2zIEC1q4CpX7a2-Q">26,439</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_6q-5A0ImdUWo-akbozKRRg_1_2"></a><a id="Tc_ehDNhTqPIke1CzTit4Sn4w_1_4"></a><a id="Tc_mEh2Pre6PEWAmf7_I2qO9A_2_2"></a><a id="Tc_OlBiu55RX0Oh_NYpYnefmg_2_4"></a><a id="Tc_5uGSswLKJ0-vfXALpnIELQ_3_2"></a><a id="Tc_3-Pjm1n_0kmwOfChwUCipw_3_4"></a><a id="Tc_h_n5Rl5SgEKWNT262Yg7WA_4_0"></a><a id="Tc_eL-TYOklcUKREvy5g4RVUg_5_0"></a><a id="Tc_931rbn9oQEeAWBa5iKlbhg_6_0"></a><a id="Tc_ZT9rl9sbLUy6iwtaVIlgDw_7_0"></a><a id="Tc___R8zOvIVEK7830rMoyCuA_8_0"></a><a id="Tc_jd9ISiEp0kmje8QckQC7Bw_9_0"></a><a id="Tc_kjixB8NICEGX_ofn3K4kvw_11_0"></a><a id="Tc_C51_fQkff0aym6ZwKLElVw_12_0"></a><a id="Tc_LxfnE3rjWkiklFWj8TDpBg_13_0"></a><a id="Tc_c7XHoEwLgkmHooQ0WAI8Dg_14_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_Ea3SEjJbF0WhZWfseGgWwg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="Tb_8ltJN4EUWESs11PpacS0Ug" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_gfXGQOyaFEO2_sp_c_F8Zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_xO76BdW2pE6aA4YsRuwF9Q_4_2">720,367</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_8gQ9fsAY-UmW7ELwpxGuzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_phZFxSLWrUCrPg8YnE_ZfA_4_4">764,577</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_1mIRjU6lP0-DSiicZUGNgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_Gm3ubo0Ex0mn049ru3N0xw_5_2">32,812</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_USB4L6ldy06cUYWJca0DQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_IWGaWx200kyn9P3XzOlIhA_5_4">30,896</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Bo_sDyB3vECHrFSC4hxypQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_MyIOZdfZY0uN-DuFEyPezA_6_2">1,441,546</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Sj89mQPxAU6ZVsFclKWlzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_RIzcZkRFtkuwRu1l8gKnwA_6_4">1,470,957</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gZ4gWDEii0irn4i7bXD3Bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_9CTbaPJtqkKVotTxPKgTHg_7_2">84,694</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_zhKs-R2evEahQu9K62SZ-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_EfKaG_J2IEeMdG3srEc8RQ_7_4">58,928</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_wijJkgzxZ027fvPvxS8irw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_f0x7VfSKRkae6dBdSGG2Tg_8_2">9,775</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_ePFm11INK0W8r1eAfnckyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc__AmXtrleTUylnkzaYfDIUg_8_4">11,527</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Freehold land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_h3tGW7fuLkuwOWCkQk-Gjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_f02SOevQGkmkp89PE9ZNow_9_2">31,691</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_orL2HGkd90uS6LEedncvaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_RoueAKoN_UmZcnYfkK5D2Q_9_4">39,285</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_E-68cIGlf0eXBXWK2rDGxA_10_2">2,320,885</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_6iJ--H4r-U6wMbPVAyxfYA_10_4">2,376,170</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_x4GdwztBvECST-R9Nf0f-w_11_2">1,019,988</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_O9XA8Avz60uTPuJV67Rjbg_11_4">908,888</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_m1oj9_IZo0uc7VIEd-gwzA_12_2">1,300,897</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_T3i88oOA7kuLX11BsCyMZQ_12_4">1,467,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_h_cP4q01GEyK9WuuCXPIAw_13_2">100,980</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_uFsDv6TD9kqSXcJffIjqYQ_13_4">359,361</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_k5qHB1b3jk6iZvAcClTSIw_14_2">1,401,877</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_4vYX-zacwEO5dPudEJm5hw_14_4">1,826,643</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of property, plant and equipment was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_NSbT9Gz1G0e15ihmwmXVSg">197,600</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_sPoFwECVeU6zL84rmFHUSA">266,956</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_9NB-Ki_Cp0qceO2EIaJqCw">225,351</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_qOrxq2zYNE-lVLnxY5ReCw_1_2"></a><a id="Tc_k0yzB-KNxky5qF8wzwjWcA_1_4"></a><a id="Tc_4_g_MBe_Dk2xiN7g84fy3w_2_2"></a><a id="Tc_bV4jVbFHx0ytR94xvl53Fw_2_4"></a><a id="Tc_oemjpez_L0WeJ3xSDEeH1Q_3_2"></a><a id="Tc_e8_IeKrvS0usshhO8J3OCA_3_4"></a><a id="Tc_c-aP3zGsN027M37W6xmHSg_4_0"></a><a id="Tc__Xz-m_On0k2GvSEpcoXxNg_5_0"></a><a id="Tc_QOv9c43dF0KNolytFWpWdw_7_0"></a><a id="Tc_caxP2czE3kaY14ZD83hxAg_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:SolarPowerSystemsTextBlock" id="Tb_Vw5WaLFyZk-IAsIEGpQlNw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock" id="Tb_OtuKbogtW0-_FjUYvsCpGg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_N2Ubp5RqcEiFmKGlN3x7gw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_tlj8lv7rbUKCoSF0UeEX-Q_4_2">117,339</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Ns5vpw4-v0uzgbOYUuZXfQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_MsvNCct0JEixEEI5gAMy5Q_4_4">172,707</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_5iPj7Xch6EiY5_ZYLOJnGA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_4SjeyVjtZ0aXeLI7Oc5ltQ_5_2">4,684</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_XPnQDzHGPkGH-g_0awJQIQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_fFLR2gDX_Umbj2EYrmvdvQ_5_4">209,200</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_2mdT0CNqDUKwJ3fCkUCgCQ_6_2">122,023</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_b4EMV5zjCEGv7UKSuWFCLg_6_4">381,907</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_UC_iMhTU6EOWyNnYZTPFuQ_7_2">13,760</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_XBbYIMvWY024ZCKv1cx3bw_7_4">17,091</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_1a0flYWxHUKrgwtmjiqTwQ_8_2">108,263</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_25OLEDD4o0KX1-c1fYuhdA_8_4">364,816</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reclassified certain project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_lqzmswLxvEaaO9hypq-Skw">117,560</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt-sec:numwordsen" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_06FYy80jyEmQ3kkalsjhMw">nil</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_O9P9jK3RxkG8cwpUt5xHAw">263,710</ix:nonFraction> to solar power systems during the years ended December 31, 2020, 2021 and 2022, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of solar power systems was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MqGHYPqVzE6VvcN0NIKIUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_47aoNbtGbEyRYLqrGFY8mQ">6,396</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_FfyDW-3hBkKI55u6xIkFmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_1DG30PHApkG8lIXhvneF6g">11,212</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_M-uNWuNMsk-lb1V79YbMdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_bAhi_nm9X0ebGUrLMVVUHA">4,074</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of solar power systems, net was <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_kcnhq3RPKkirFezzp5Zv1g">nil</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_1Q0Jcz5NOUKolUM9CoUB1w">nil</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_M8CFuVK_SkKvWUg5m4D8-Q">18,666</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_592fb483_64e7_411e_be98_b5d33c1707ce"></a><a id="Tc__5LIG_asV0uja4hzsZhFQg_1_2"></a><a id="Tc_qMwXbXBBW0S4lgCNDAYJ7g_2_2"></a><a id="Tc_-98z0sYCKk2obpBVD1zruA_2_4"></a><a id="Tc_5a27xAbxzUCzjLPVZj84Ow_3_0"></a><a id="Tc_m5CVjnjOaEqDsm_rKZ-KRQ_3_2"></a><a id="Tc_vrT2B1-U1k2YFcv7panJPw_3_4"></a><a id="Tc_A-sD_St7q0uvkpDE7fXW2A_3_6"></a><a id="Tc_MBvoDwg1VECZF4sgjvoHxQ_4_2"></a><a id="Tc_MgRHQMM9iE6fTbkWXETqRw_4_4"></a><a id="Tc_KRywJRo0JUCKhfElnOX5ag_4_6"></a><a id="Tc_KahVXScRpUy2uYrOFBBIAA_5_0"></a><a id="Tc_ftomPQ82vE6Mi3ZRg7tZCA_6_0"></a><a id="Tc_lAdwHLB6WkidfruoEgILqA_7_0"></a><a id="_a093cbba_5a7d_4947_922d_6305e621fe65"></a><a id="Tc_zWrfSZVrKk-v-6bC3Fo3XQ_1_2"></a><a id="Tc_PawjFc2EK0Cx9QIk11uMnQ_2_2"></a><a id="Tc_NTg6vFdMlEWb4DLkq5YASw_2_4"></a><a id="Tc_IkNoKrAAAEacxS_0NM6BmA_3_0"></a><a id="Tc_J6K8vyUzDEakfuSYrOJJ-A_3_2"></a><a id="Tc_w63wThVsgUSXkNQzRfYuvw_3_4"></a><a id="Tc_dg5cjQqD5kOEa4GhACEJbA_3_6"></a><a id="Tc_e57K15ygeEiZftokUgy1AQ_4_2"></a><a id="Tc_EVk8GJI2TEqeKWGlTndreg_4_4"></a><a id="Tc_2SfhbMEVvEWxmlQnkBUrrA_4_6"></a><a id="Tc_4EOar11bPkaWQ77mPyta2w_5_0"></a><a id="Tc_bpG-zL0VAUaacNRb1BiHnw_6_0"></a><a id="Tc_28B3w3RDOES05wIDJttk0Q_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_7dUWLYcBqUKekh3Mgrgt3A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets, net:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_3ePQyF-kfUmXbbVvig0Kdg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_T_FsZsRk_EuP7TzJBjOMlw_5_2">1,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_Ce-c4dTroU6VJu4_QqYyzA_5_4">1,430</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_pQd9gE-FMkWTXPz9ErI5xw_5_6">13</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_BKMo3W2z80iW61hfu1yLUw_6_2">37,648</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_4SL2DX-7uUuEaZCIPKyI3A_6_4">20,131</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_hHnnvqW6JEed_qKW5zj18g_6_6">17,517</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_a3yNwFqlSEiGOiNpnMislA_7_2">39,091</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_YaRJfjBj00a0zOSW2S6xAg_7_4">21,561</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_BV6DSRe7xEmlMtK4yui9yA_7_6">17,530</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Gg4FQbXkpkO_tMXn5qgWnw_5_2">1,577</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_xMiMjIUvEkKGHcBfcy5IrQ_5_4">1,562</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_C5C5wQCbbky3p4UUIvWC3w_5_6">15</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_7sGW9rm-lUmukbthiHBpJQ_6_2">39,059</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ac_m3_mRukKxI4DIwX8vDw_6_4">20,082</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ry729HAUQ0eXZXfHDxafgA_6_6">18,977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_6agSFPd_PEiuw96__Kpk2Q_7_2">40,636</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_rbqs9MgVW0iNpKa8jYJd5g_7_4">21,644</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_SglzuZJuwUyToya2ZELoOg_7_6">18,992</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Amortization expense for the years ended December 31, 2020, 2021 and 2022 were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_NkTpXAb8K0a9S7-TzEx1zQ">5,122</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_ILDr3N4gU0KA77Lp9JolPw">4,601</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_s8H87jehdEetJapMt5coRw">3,586</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amortization expenses of the above intangible assets are expected to be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Narr_7iyKVF_Ul0yPu6FxQLavgw">3,102</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Narr_Vqjpxz4aFUGdYbs8NoF93g">2,627</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Narr_XcH8svmA9kSGviabSUAAQg">2,186</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Narr_SPUwAmMNdke5QZxqGi8gzQ">2,031</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Narr_koaSwk0wKkyQ6tb45aACFw">1,977</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="3" id="Narr_2gxS4sqPAkWB3lei8oI06A">5,607</ix:nonFraction> for the years ending December&#160;31, 2023, 2024, 2025, 2026, 2027 and thereafter, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_YxUP6TMg1ESyBNDhuYFqJg" continuedAt="Tb_YxUP6TMg1ESyBNDhuYFqJg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2021 and 2022, with the exception of its listed equity securities, mutual funds to satisfy its obligations under its employee deferred compensation plan and money market funds which were measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using standard industry valuation models. As applicable, these models use market-based observable inputs, including credit risk, foreign exchange rates, forward and spot rates for currencies. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are considered as Level 2 inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e33cfce8_1fa1_4df6_8a48_19d8a37f0af8"></a><a id="Tc_F8MYMxyFJUyyDt5vletIEA_1_2"></a><a id="Tc_b1ra031AR0-0sAcYSKgaxg_2_2"></a><a id="Tc_f9xneL7dHUiPuCTdyutkeg_2_6"></a><a id="Tc_gkJ915NK20WU1sJ_jQN9hQ_3_2"></a><a id="Tc_INloZAzJB0WgHth8aZ7j1A_3_4"></a><a id="Tc_ERc7pH2K2Uyk6deJf3h8MA_3_6"></a><a id="Tc_zGRKEawQnECOOk7EavLn7A_3_8"></a><a id="Tc_jrLKrsVgjkKGJR3nWoa4bw_4_4"></a><a id="Tc_Qj0QsD0u-EmJsuw0eK3fTw_4_8"></a><a id="Tc_eAqnKPWhIkiTQAjDgVKWuw_5_0"></a><a id="Tc_3-_ud6YEVUuxbmu7vi79eA_5_2"></a><a id="Tc_vGJ5huw-ukeGJrOoqMMxRQ_5_6"></a><a id="Tc_wtII1nNZfU6I6p6e1_rsnQ_6_0"></a><a id="Tc_YGzRxIPDd0WYMx72UWaDwg_6_2"></a><a id="Tc_KXbaWwOppE-MiW7S6Wdq8w_6_6"></a><a id="Tc_wrFXzqr5Q0mTk1W5cDSWcw_7_0"></a><a id="Tc_Rnjcgx96Nkyx5CLJ-KcBaw_7_2"></a><a id="Tc_Vka2xw5BFUauSosLtVE4dg_7_4"></a><a id="Tc_LItamLKrjk-yPS-kw9o1-A_7_6"></a><a id="Tc_Qo5sJs0FWkC_bN54vKl02w_8_0"></a><a id="Tc_Fcg5cBKExE-jthGy9hflwA_8_2"></a><a id="Tc_Yt6jZp_S4E24ofSbEhhLaw_8_6"></a><a id="Tc_KO5uyHiOhkGn2M7CC4dJMA_9_2"></a><a id="Tc_KXPd5XGcn0-74KkbtOcpRQ_9_6"></a><a id="_2f48f4ff_77d0_47b6_93cb_3abf4d6aa3d0"></a><a id="Tc_H8sRSY16m0-tk6qqIySioQ_1_2"></a><a id="Tc_jM2n4Jso-k-GBCU-eIG6Sw_2_2"></a><a id="Tc_vKolVdJH40S-ORcrh5dSrA_2_6"></a><a id="Tc_Ip79FkwdmEmJNYAs-mSlSA_3_2"></a><a id="Tc_ExKMBVrssEmixMLXXOj8Ag_3_4"></a><a id="Tc_aH5n2-NhME67TDI4UCM3sQ_3_6"></a><a id="Tc_Q71iE5CCoUCb6DOswQImfQ_3_8"></a><a id="Tc_oscW_eJCxU-Orqc_2oK3ng_4_4"></a><a id="Tc_WxEvt5U7rkeBLmXlkKnfhQ_4_8"></a><a id="Tc_S-74niU-FEefRTf0_6bOew_5_0"></a><a id="Tc_bcdzeP2pO0e3LPSvwfMzSA_5_2"></a><a id="Tc_l1z942Jy4k-0oDqAbLJSHQ_5_6"></a><a id="Tc_jvOy7sRoO0aoNVRLfpBoRw_6_0"></a><a id="Tc_nXTuOkK9PEqFJ_kH362Ldw_6_2"></a><a id="Tc_NZ4VYbLjoUaZuEKthLKQ_Q_6_4"></a><a id="Tc_ZxNqIINWmUWhWuEnaComVw_6_6"></a><a id="Tc_F4FIjMq0U0mIeKouNqR2dg_7_2"></a><a id="Tc_4-T_dLq41023DKzFrYWpPw_7_6"></a><a id="Tc_zy-LHmdYdUybV61uFmzTgg_1_4"></a><a id="Tc_5n8MFHUuSkq-1kPrjVcqUA_2_4"></a><a id="Tc__kop0ux1fkynkbTtXrKC3Q_3_2"></a><a id="Tc_wX__EMpxLEqAx3jwK5vehQ_3_4"></a><a id="Tc_qMkisNpFMUK2d__sgyQtiA_4_2"></a><a id="Tc_7bOG1q12zEu2S0XU5lZhnA_4_4"></a><a id="Tc_5_dA_BqTqkCO0v7laPdGng_5_2"></a><a id="Tc_2XuNrLTQ40WSyu-NyvCqEQ_5_4"></a><a id="Tc_9rFPgl3-FUuvXyTISdf2VA_5_6"></a><a id="Tc_R9_QqZ9Z50OnRpgzG3llAA_5_8"></a><a id="Tc_YMlksXGTEkqfPl9FiYl6uw_6_4"></a><a id="Tc_g0aj5CXCb0a-t6dYenKlAQ_6_6"></a><a id="Tc_fqVW6DSFV0iKoEVY8NOLxA_6_8"></a><a id="Tc_cj-RlR96i02Lby5wo2BGlA_7_0"></a><a id="Tc_XMM5Sa8_8ESXVQ1_nQF39w_7_2"></a><a id="Tc_Xlazw_bOrU-badiWfio5kg_8_0"></a><a id="Tc_VJ9b9OHZaEmwIShF46w6SA_8_2"></a><a id="Tc_DMCV3GZKGEC-fw2xkVnNUQ_9_0"></a><a id="Tc__aOEdfh3AU2R9KX9LI8mnA_9_2"></a><a id="Tc_3eBKdl3qwkGhJV9hjNCHtA_9_4"></a><a id="Tc_cgCLQJW6mUKEh3h5j4bpNg_10_0"></a><a id="Tc_gV9oSq_nkk-ZdLrXBhXV3w_10_2"></a><a id="Tc_zKoAMcOKIE-hkaDgl2TVDA_10_6"></a><a id="Tc_qlMuRmsLnEG5I-yzHUrwUw_10_8"></a><a id="Tc_8mclUJj6DEmioyG_Jyj4ow_11_2"></a><ix:continuation id="Tb_YxUP6TMg1ESyBNDhuYFqJg_cont1" continuedAt="Tb_YxUP6TMg1ESyBNDhuYFqJg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap and commodity hedge</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#8217;s interest rate swap contracts with total notional amounts of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeNotionalAmount" scale="3" id="Narr_qpohmbetHUuuxiezURpg2g">399,000</ix:nonFraction> were paid off following the loan repayment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In 2021 and 2022, the Company entered into interest rate swaps to manage part of its interest rate risks, and entered into commodity hedge to manage part of its risks of rising raw material costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The estimated fair value of interest rate swaps and commodity hedge was measured based on observable market data, which were considered Level 2 inputs. The unrealized gains or losses on interest rate swaps that qualified as cash flow hedges were recognized in other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2021 and 2022 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2020, 2021 and 2022 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_tZX-F4JpVkyyLRCOOJ0H1w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_wOxwUD6MGka9zgElNdFRQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_aApPzehL2EeTnOx26Z5Sug_5_4">7,124</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_M3Y8LOcSgU6xU3sdENlNxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_FHzE7BLGfEG9hh2F5GbhSA_5_8">7,730</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_CkXhBctMJE-vHz-9Mb1W0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_UimWKZ0KdUirCULJAQEe2A_6_4">162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Kx6cBoXg4UON4z0sH4As1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_FIWjNjZ4kUSJocDLeeOTyg_6_8">9,576</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_KOr5_Jtbv0uirWAmY3Av6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_NwmhGgLQ2EOvzaMpQvdq8Q_7_8">210</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tzisCoXcakiNFwDVP8wwnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_AMUxecTI00-vqZdMnAoTsg_8_4">76</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_FrpOwoJeYUy5WNoF4ARAiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_xjEHs8YZEkOFE9gmq-GVfg_8_8">1,064</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_jAwRDSxuDkesAsdp7b4Lsg_9_4">7,362</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_3cohIY05iUew6nnycC1R0A_9_8">18,580</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_0O4dmubGy06x0epzmoD-AQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_Ra7zlNPBdk-CidGUhvqF9A_5_4">2,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_fFHH1k-OYUCrl5dgcFiGlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_vEpyy-rEK0CP2_xz1ishsQ_5_8">24,104</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_1Z3RvnFavESCRo2PHXuZrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_U9bPGJpQXEW6y8VHp1MmWQ_6_8">1,255</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_WyKZigObFkiGoMZD5U-W5g_7_4">2,622</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_P_lmqP-GSU6SCvlncjLkzQ_7_8">25,359</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_IMVeNFrCBEK-TCnNQbZn4A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_DGhCQz2SmEuNdlUaqp8L3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_DwGcEnj9yUaXJpQBZj460g_7_4">49,807</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_UtE_-0OBPU6MhGnlQmAGRw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_3VU-BqcStEKNUZ4OlTQ65g_7_6">22,582</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_FDHuGmVG9k6uU-eOFwdmrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_zMHm0fswXkqlPj0EE4rP8g_7_8">49,388</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_BfUxPG8mRkeLmU9LGlBRlQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_Z7x7NnMKskqNVhEfhpGn4w_8_4">1,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember__yaE8XbB806SGhTx8c2rwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_5TrllYN6RkmfXR-0v__cEw_8_6">220</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_RFDkYLUKtUyRBdftb9jRpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_IEUZk_Q3mUSBcwJOEi7ZtA_8_8">8,918</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_7Ft6D4v5BE64dfirtTaT3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_j4S0PlbVRUKD8yz3Q_q8Sg_9_6">983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_4wRhCW2DyU26gHOuud0a5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_JKhqDUPUOEqep5w280ddpg_9_8">4,019</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_DNP6vdjwlUm1aWTIcwnbeA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_goT85v3ujEGOyuC0rRxDmg_10_4">1,182</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_omyq6pgSYkiFzYluqlrSuA_11_4">50,001</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_ayRtr9GTNEG85NbLvI3vAg_11_6">23,785</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_gzJh284HoEWDejwOXbKY5g_11_8">44,489</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Marketable securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd, listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB <ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent" scale="3" id="Narr_8Vx2dyFEukOK8duAZCZUCg">91,370</ix:nonFraction> (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent" scale="3" id="Narr_pArGK72AIkmq5hvLks6bWw">14,003</ix:nonFraction>) on the transaction date as part of the consideration. These shares were classified and accounted for as available-for-sale, and were carried at fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFVNINoncurrent" scale="3" id="Narr__AgMd23LKkqIqZnJjtVXIQ">20,195</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFVNINoncurrent" scale="3" id="Narr_OUIzMmhxPUaPUSW_xWlEdg">18,337</ix:nonFraction> as of December 31, 2021 and 2022, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGain" scale="3" id="Narr_pv7C2WooZkW8ixsyWg817A">1,048</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGain" scale="3" id="Narr_m3COk3a3rkuXoN-BYqujpQ">4,744</ix:nonFraction> were recorded under investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively, and unrealized losses of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedLoss" scale="3" id="Narr_xKVC-ZIoGEiyKXKS6bOYug">418</ix:nonFraction> were recorded for the year ended December 31, 2022 under investment income (loss), net, in the consolidated statements of operations.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_YxUP6TMg1ESyBNDhuYFqJg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment charges for certain solar product manufacturing asset group of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_QohzRn4p9kqqZFtXw9sXOg">11,854</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_OAjKanhRHkuZaGwKl_ekcw">6,084</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_lLBvBilolkqSrWM0eaczFA">60,330</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment loss on project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_Btb7SVBQLUWmEo1lYU8yMg">369</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_yjMmupb9j0qrCcGGh5hIZQ">17,152</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_ZxlWuThG40CSkV2IAzgvXg">1,674</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_paJ54523K0mj7jO7nmYsIw">523,634</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_ov0FRKtxh0as5J6JIMcJaA">813,406</ix:nonFraction> as of December 31, 2021 and 2022, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" id="Narr_tj13ZhAo40anDyj1IrGWEw">224,675</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleLongTermNotesPayable" scale="3" id="Narr_xS0-wm_WJ0OiYSmXhsh5yg">225,977</ix:nonFraction> as of December 31, 2021 and 2022, respectively, which approximates the fair value.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_mrRjz50wA0OS_z8sMaC3Iw_1_2"></a><a id="Tc_U6MlLmrCokax4p8QpeH90g_1_4"></a><a id="Tc_5ye8Vv7tQEi3nzekcbduuw_2_2"></a><a id="Tc__qRuw9nvckSQF7NluTK8ug_2_4"></a><a id="Tc_NXc3Eo__D0GKVutdHC3NjA_3_2"></a><a id="Tc_6qEwk4WGzkW2j_CnPgy4OA_3_4"></a><a id="Tc_FrBdy1UZ00CEYOHgx_esPg_4_0"></a><a id="Tc_f3Glyjknb0KkKcQUmHag1A_5_0"></a><a id="Tc_J31YhZVxp0KSZzYk21CxyA_6_0"></a><a id="Tc_xpNRqVRwk0eCZ8Nk45K7Nw_7_0"></a><a id="Tc_42ONbM7dQEKct5Yw6oTFMw_9_0"></a><a id="Tc_O3tGZJHV9UGkM4kF1zbTrQ_10_0"></a><a id="Tc_mgcqdoIOq06X9wkXSNFoUQ_11_0"></a><a id="Tc_StgHnVGiv02KicA5PMcPBg_12_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:VariableInterestEntityDisclosureTextBlock" id="Tb_NcODEuWfe0W9776zqmsClA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company, through its subsidiaries, may enter into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021 and 2022, the carrying amounts and classifications of the consolidated VIEs&#8217; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#8217;s consolidated balance sheets are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfVariableInterestEntitiesTextBlock" id="Tb_GviYwPlIiUGa__plQJ06oA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_YT5Hd-vzVEO451qZyySz5w_4_2">48,200</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_M6HiiBB_3E2di0AO7GEf3Q_4_4">15,903</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_Nt4fFUOakEuuCExjIJLSPA_5_2">289,315</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_BiGFbgV4PECQtAB7Ff68bw_5_4">320,460</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_H5b3I675FUOiCG44nm1Kng_6_2">53,091</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_G4LEzDs4xUWNp3Cui4OX9g_6_4">30,163</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_ctLJUJOHEUq6zjFDuqqtfQ_7_2">390,606</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_AbMTeEIBN0SadkZGmquAXw_7_4">366,526</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_cTAx8LHZdEmD2jIV4Rtm2w_9_2">113,857</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_7MFRLLLjvEOvyAIQC1lOvQ_9_4">191,792</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_Rc65UYql7Uml98FGZhnmJg_10_2">106,880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc__4KXMZh340Ov6RJzddkKDA_10_4">49,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_neB1aky7gEyVdYo24n-dgw_11_2">36,872</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_kY4mTslQkUKaaAeN3DybDg_11_4">26,366</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_VouOM4TuoEO4wy4-h9YIZA_12_2">257,609</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_1ZAACMF8H0STkynx0fWa1Q_12_4">267,833</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net income and overall cash flow activities during the years ended December 31, 2020, 2021 and 2022 were insignificant to the Company&#8217;s consolidated financial statements.</p></ix:nonNumeric><a id="Tc_yNwK-VX8MkWjThE2nJDjaw_1_2"></a><a id="Tc_Lmkc4F5jck6z3IfcO9yC1Q_2_2"></a><a id="Tc_UIZ_MnFApUWVFxwmuNvVtA_2_6"></a><a id="Tc_hEsuUNLd3EC-X7AN-TD9zA_3_2"></a><a id="Tc_fCJ0RX5zMUK32in-_wn99g_3_4"></a><a id="Tc_sx6qVVRBJ0qeTuZnXgA83A_3_6"></a><a id="Tc_mXyrOBxS7UGSVwG0GTvQMA_3_8"></a><a id="Tc_DyQNSGf_fkiW8JGcY7GQwA_4_2"></a><a id="Tc_O28RWAVwSk6Cpw0PpUAE7A_4_4"></a><a id="Tc_VIxVrG35dE61bk2I_UK4ew_4_6"></a><a id="Tc_s4ZBWZ9T9UynHZXWoBfcVw_4_8"></a><a id="Tc_xP2YHKCIFEyFWIZzizgL9A_5_2"></a><a id="Tc_MZ9UEVjVKkGp1hUX3GcpAw_5_4"></a><a id="Tc_oqXdiKm7oUek0Q1Rv0Gxkw_5_6"></a><a id="Tc_8HAlcAmBnkel4e3AX9e0nw_5_8"></a><a id="Tc__WZ0Nl-RAkKqjq5k4qAyfw_6_0"></a><a id="Tc_CzMK_7dveU-xdycRwDiOhA_7_0"></a><a id="Tc_OoAzRwHV2EuxTb-bvdIB9w_8_0"></a><a id="Tc_NVWZfY6XVEyjzj3vgFDy3w_9_0"></a><a id="Tc_5QNWFhvZk0OCas7w1ZeFYw_10_0"></a><a id="Tc_rt_w5_Y530y_siFJmrQ5uQ_11_0"></a><a id="Tc_lw48uBu2Wk2YomOy1Xth6w_12_0"></a><a id="Tc_QMPxTZP3nk2nKiOVicxiUw_13_0"></a><a id="Tc_6YmFzSm4VUqzulhAdhPCXA_14_0"></a><a id="Tc_12BvnXhqlUa3UhsFMF2x5g_15_0"></a><a id="Tc_XHvtcD7l_0ezMqphUVNHOA_15_4"></a><a id="Tc_4W6TpZOjT0aRPWam0hR02g_15_8"></a><a id="Tc_IVLBYG_er0GaTxtAmyp9rw_16_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock" id="Tb_WyJsfSJ1W0KRL0MS6b4pwg" continuedAt="Tb_WyJsfSJ1W0KRL0MS6b4pwg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:EquityMethodInvestmentsTextBlock" id="Tb_NMxJ6RC3NU6uueoRx0ea1Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:39.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:19.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_XB-qIqJmWEyMBRZTpjcK2A_6_2">27,026</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Ir6LWm-CRUqhxdAjyeQRkA_6_4">4.78</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_AHd3yZuIl0m8vVfXEqYzOg_6_6">27,328</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Y0z12QI71EeOaotKWZzkMA_6_8">4.17</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">RE Crimson Holdings LLC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_ulCn_BAuEEias10XkbQCew_7_2">18,854</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_CN33LaSKwkedm_ndGeCn5Q_7_4">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_s7Xi6X2SAUimDJSmxbl7BQ_7_6">22,272</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_EwOXNYeC_EmV6abpcLotKA_7_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-size:11pt;">Lavras Solar Holding S.A.</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Y-bBxiB35Ui6pOBhATNZuA_8_2">12,264</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_-74iUkWZlUu0nL4j425jhQ_8_4">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_s4VPC0czsESkoLuZ1hMWHA_8_6">14,318</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_jdY7k4IYCk-w6TGwg6PG0A_8_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_KGmuvlzxxUGcBYK2LTyfUQ_9_2">12,889</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_8K4y09FFjUObMgqkyMIamg_9_4">14.64</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_cM5JayTRbUaTa0AfAEEsQg_9_6">8,961</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_FM-Y5CnO60GNyZySQaDKAA_9_8">14.64</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Francisco Sa Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_mS2COkThIU6ml_T4KJt0WQ_10_2">6,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_zbEWZ5f9wEOJVCA6NymmJw_10_4">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Y1UO3LbES0emkgGWeBc4tw_10_6">7,683</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_xbpz9tygvkCIm75Zy8zO7g_10_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_YtbNxBj4_Eyo0t3KvhAQdg_11_2">4,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_A_vk_PmKQk2PZjATflkM8A_11_4">17.85</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_rFQk9pEjykuuy5uO30raQA_11_6">6,868</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_u01i_urr5E6afUyEs09zWg_11_8">17.85</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Salgueiro Solar Holding S.A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_jH8aEcNobki6Vxi82Hbkbg_12_2">2,989</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_fSjuavlbTkqBIP5wcgHl0Q_12_4">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc__NNLMfKyvkWrI75c3IcNUw_12_6">6,595</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_5KLiVUISI0OdTXJjgBcW2A_12_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-Dmdh8YaBkqMAvXD5zqszw_13_2">6,274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_qnvwfoZWI0KMHK7QHbHNPw_13_4">4.55</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_mGYmeP_UDEio8oGTLWTctw_13_6">5,922</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_a9xC5jOkiUGNlnZYcHuTYg_13_8">4.38</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Jaiba Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_UOwFekgJYkqnwfAqX5KD7g_14_2">4,903</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_vUcUqLwzmES7ADNKe5aIXQ_14_4">20</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_xZeqlzNoB0SpO6eNofWGQg_14_6">5,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_DsXiFpGDJEyCBHqD3v7m7Q_14_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_dW2WSCROnUa38uZSnGnSuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_pXrtDf9tXEqfBQNxpOK1fw_15_2">2,413</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-BF16P4rmkGUDZ6qgb34Sw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_A93ppnHdx0edKwuLzeZ4Hw">15.92</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tZswWPKWUEyFd8jErnRu_w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_AS43hE7YqECK6LGWrtQR-g">49</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JrNosuyERkiGgZi1C6E2Cw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-RQBFq6k8kawX4klZuIgqQ_15_6">10,760</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_U-VHBkYj4EeFCkEPl8BvzA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_UdhP1EklbkWcMHB_nrMVWg">10.86</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DViYwNU-I0i0wdkEXTFE-w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_GsEbPNoMSEmIfC__R30Z3w">49</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_RhRXJFYvCUyZGJpU_K_63Q_16_2">98,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_oE3i6Ab-mUW74VbaDzzitA_16_6">115,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_WyJsfSJ1W0KRL0MS6b4pwg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company co-established an entity, Suzhou Financial Leasing Co., Ltd. and owned an effective interest of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_FXHl7Mb4qEGM7LTRTLfdGQ">4.78</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_jDoglF8kIk-POXtwBqOIwA">4.17</ix:nonFraction>% as of December 31, 2021 and 2022, respectively. <ix:nonFraction unitRef="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity" scale="0" id="Narr_EL_5-OK83Eqmg9kY5jHIrw">One</ix:nonFraction> of <ix:nonFraction unitRef="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembers" scale="0" id="Narr_Cw7tNrRDEU6fLa1Rbqudfw">five</ix:nonFraction> board members is designated by CSI Solar. This investment is held through CSI Solar Co., Ltd. and is accounted for under the equity method, as CSI Solar Co., Ltd. has significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering. On March 5, 2021, CSIF issued <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_uYrMFSK5NEiPeNkXjP28UQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Narr_Gb0rAZw72EWr6lekL8_tHg">151,500</ix:nonFraction> investment units at <ix:nonFraction unitRef="Unit_Divide_JPY_shares_ELqJJHbgG0SEDH3ZjRog4g" contextRef="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember__04d94lhVEOKxcxbPEnr5Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharePrice" scale="0" id="Narr_IeZ3ioWxlUajtjPrXslOfw">125,115</ix:nonFraction> Japanese yen per unit through public offering, the Company purchased <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0-zRvEqlPEi51TDvpaSyJg" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_Z8WaJ4aXJUCyf9u0kdnh8g">22,725</ix:nonFraction> units in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_o-K9M7kzN0OnqnN8AnEmUg">2,843,238</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Narr_0PFwYPLR1kC_SYFSrKrgJA">25,683</ix:nonFraction>). Through its initial private placement of <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_NFSvB2JC5ESFPr5HcOvv0w" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_wo24vxLH8U-PKIw275C-1g">1,500</ix:nonFraction> units, the purchase of <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_h5tCNREYskGWIErwhkB6nA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_8QfQmO_RR06_0AwACrW7lQ">25,395</ix:nonFraction> units in the initial public offering on October 26, 2017 and allotment of <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wsqwrOkOUEm-A83iv3Qo5g" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_hZePHcf4ck-uyc6C4vRHNQ">7,000</ix:nonFraction> units on September 5, 2018, the Company held a total of <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsPurchased" scale="0" id="Narr_i2k3Dy18HUmPpx1CVhEk8w">56,620</ix:nonFraction> units as of December 31, 2021 and 2022 at a total subscription amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="0" id="Narr_HfM1VpaNxUm1iPFwxSPmkA">6,247,998</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Narr_5IMBj87SPk6ZRnmnL8J9iQ">55,697</ix:nonFraction>). As of December 31, 2021 and 2022, the Company owned <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_kmQB3Xgx506SX37jF98wxQ">14.64</ix:nonFraction>% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered to have significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company completed the sales of its majority interests in Lavras Solar Holding S.A. (&#8220;Lavras&#8221;) , Francisco Sa Solar Holding S.A (&#8220;Francisco Sa&#8221;), Salgueiro Solar Holding S.A (&#8220;Salgueiro&#8221;), and Jaiba Solar Holding S.A (&#8220;Jaiba&#8221;) to an unrelated third party. In connection with the project sales, the Company&#8217;s equity interest in <span style="-sec-ix-hidden:Hidden_MUI0Hs4i-UWlS0wnDlHGrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Lavras</span></span>, <span style="-sec-ix-hidden:Hidden_xi-hcSuPskCs8cLuNDV5sQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Francisco Sa</span></span>, <span style="-sec-ix-hidden:Hidden_X41kEkCh4UmEJSsmku8NvQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Salgueiro</span></span>, and Jaiba have each decreased to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_3KZmid360k-yukh5bNOLNA">20</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, the Company acquired a minor interest in Suzhou Zhuosheng Venture Investment Fund, LLP and owned an effective interest of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_IhDwSqGZpUCrxfmk8iavqw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_IhdZsBGmI0KseCrvzLLjTw">17.85</ix:nonFraction></ix:nonFraction>% as of December 31, 2021 and 2022. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as it designated a representative to participate in the investee&#8217;s investment decision-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, the Company, through its wholly owned subsidiary, Recurrent Energy, LLC, completed the sale of its <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg" decimals="2" format="ixt:numdotdecimal" name="csiq:EquityMethodInvestmentOwnershipPercentageSold" scale="-2" id="Narr_yfG4Z2b5MkKu-zvEoNB6WQ">80</ix:nonFraction>% stake in RE Crimson Holdings LLC (&#8220;Crimson&#8221;) to an unrelated third party. Effective with the sale of the equity interests, the Company ceased having controlling financial interests in Crimson, and accounted for the transaction as partial sales of real estates under ASC 360-20. The Company considered that it would continue to exercise significant influences over its retained <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_ssDObqt7QkeNHeubVYB1ZA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_O0JyNCds3U-kmF1h1kBSQg">20</ix:nonFraction>% equity interests in Crimson, and has accounted for these interests pursuant to the equity method of accounting. In connection with the sale, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_EMC0P1QUYUSNBJ88up5lNg">123,135</ix:nonFraction> was recognized as revenue, and with the loss of controlling financial interests in Crimson, the Company derecognized net assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_0yc269C1PUuPk88I2nXlsA">42,333</ix:nonFraction> and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2021, the Company acquired a minor interest in JuSheng (Suzhou) Solar Tech Co., Ltd, and owned an effective interest of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_h6bWsr-BS0SqEpgkVX8foA">4.55</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_XGiJKodLM0SaTwxuAXMtzg">4.38</ix:nonFraction>% as of December 31, 2021 and 2022, respectively. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as CSI Solar Co., Ltd. designated a representative director to participate in the investee&#8217;s policy-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#8220;Horus&#8221;) which holds its Horus project, and Recursos Solares PV De M&#233;xico II S.A. De Capital Variable (&#8220;Recursos&#8221;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_5qhaB1a7RUKp07xcHK2Azg">100,896</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_4IOGKGgxjE-qx0AYg8AmBg">113,843</ix:nonFraction> were recognized as revenue in 2020 and 2021, respectively and the Company&#8217;s interest in Horus and Recursos have each decreased to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_pDx_9ZYT-U29rL2AqudhSg">49</ix:nonFraction>%. With the loss of controlling financial interests in Horus and Recursos, the Company derecognized net assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_k3aAIWNeMEyJJDg6LR7xRw">10,363</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_bnP_rbNdo0mnKY9pHL0PMA">7,527</ix:nonFraction> in 2020 and 2021, respectively, and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets. As of December 31, 2021 and 2022, we owned <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_gUqjWdu6HkepzHHKjhwSRw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_Xnb6_1FCjUm5CNMehbVr7Q"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_j2fs5TTM3k2wowH8Bdx0Ew">49</ix:nonFraction></ix:nonFraction>% of each of Horus and Recursos, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of affiliates were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_-M45kTPhwE2u58HgceWPSg">10,779</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_fqGySXZieUy0aeOKDXjF2Q">7,256</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_E9y9jko2Yk6G0c6B2HadXA">15,440</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively. Refer to Note 20 for the Company&#8217;s related party balances and transactions in 2020, 2021 and 2022.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_AZz27LF2i0e_GzruY1jQ3A_1_2"></a><a id="Tc_72KLM_AxGE2_G34uuLaSSA_1_4"></a><a id="Tc_5XjBAa5PWES4ppxgIQU9Wg_2_2"></a><a id="Tc_6KBmLFf4Qke1fOc1GQn5WA_2_4"></a><a id="Tc_nsE63EnsAU64yDbCmJL3VA_3_2"></a><a id="Tc_q8Hn-nxRoEunzOoSMQbBGQ_3_4"></a><a id="Tc_QOkBhGGQfUuVCIufUHGjsg_4_0"></a><a id="Tc_LfQyK1nHn0WDe9aRG2NNFw_5_0"></a><a id="Tc_z49gypUctEKWQbZtz6icgA_6_0"></a><a id="Tc_yWS_5cUumkStOlPLzIh-Ow_7_0"></a><a id="Tc_knHtFHkTI0qv3F4GTyevrA_8_0"></a><a id="Tc_nJbi2_0_c0CrARN9JqnFCA_9_0"></a><a id="Tc_i8Oz-XQcXUGiYepcsU_NAQ_1_2"></a><a id="Tc_faPZ4dRLL0aQI1ADXlOTXw_1_4"></a><a id="Tc_qGE6wTyyCEKAyx08F5hOGA_2_2"></a><a id="Tc_GYIrIuHo30a53Ua2Q3D18A_2_4"></a><a id="Tc_H79OtCMvnEaC8TtVcHfBZA_3_2"></a><a id="Tc_b6HgZwQF8U20zr6wkgaSlw_3_4"></a><a id="Tc_XL18GHnmiECw-vz65hnruA_4_0"></a><a id="Tc_VALkC-U91E69lyPkJM14Vg_5_0"></a><a id="Tc_jjFqqmRzYU6yxvacvsP4Vw_6_0"></a><a id="Tc_CJcXMN2cfkmQrPWepRAjxA_8_0"></a><a id="Tc_b-180nTzWkCfZlAIrHXiiA_9_0"></a><a id="Tc_jJSNF0eMcU6aHWaRQCoJow_10_0"></a><a id="_01dd41bd_5805_4791_8b70_1fff5403d920"></a><a id="Tc_FUfc3LvcxEWKX9Fb_6-qeg_1_2"></a><a id="Tc_I7vMmfYmdkOm7xARM4S2Ww_1_4"></a><a id="Tc__iUuQJhm3kSlNAfDZngZzg_2_2"></a><a id="Tc_Dp-RLyBmbk6OwDQXHIOEJg_2_4"></a><a id="Tc_MBYNRhLoxESa2xyCOZg8vA_3_2"></a><a id="Tc_PLnhedXrQka7kUNsrcakjw_3_4"></a><a id="Tc_bSewOOEH90qHZOAVjntGsQ_4_0"></a><a id="Tc_p_EI9C95kU6i8k6hC6FHzg_5_0"></a><a id="Tc_S5UTKyv58Uess89Q8UdSsQ_6_0"></a><a id="Tc_twNqWCFmuEm8lCPYciZzCQ_7_0"></a><a id="Tc_1X0ZIKGxTEO6VsFAd1-zkw_8_0"></a><a id="Tc_doklWcbZI0CnGl1lJ928Hw_8_4"></a><a id="Tc_zH5AXH7mmkGE8aIrMZbB1Q_9_0"></a><a id="Tc_MJ1m_W9FSUWyKGRRv7yUZA_10_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_rTXjhPUEC0Gy_OcCO4qC3w" continuedAt="Tb_rTXjhPUEC0Gy_OcCO4qC3w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases manufacturing facilities in various regions where the Company operates. The Company also leases land for construction and operations of solar power systems, and leases office space, office equipment and motor vehicles for its sales and administrative functions. Leased assets are mainly located in the PRC, Brazil and United States. The land use rights represent lease prepayments and are expensed over the remaining term of the rights, which is generally <ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="Narr_4VuFogX_h0K1WiXIFRwJVg">50 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes lease costs to its project assets and solar power systems, when such costs qualify for capitalization as during periods in which activities necessary to get the property ready for its intended use are in progress.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The leases considered as ROU assets have various terms of up to <ix:nonNumeric contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_q8Dr7N7kD0ewSYdQ-T9a3Q">twenty years</ix:nonNumeric>. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:LeaseCostTableTextBlock" id="Group_522ym2aUzUG6iyg0XW0yOQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amortization of ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_sHT6pTdPrUWvObMMdOsy1w_5_2">14,920</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_yxkbEa7UnUWPn-f9dixPhg_5_4">11,406</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_seQCEDZ-5kSr9LYvr225Cw_6_2">1,349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_Pz9pTtc2SECaER8D91isVQ_6_4">1,994</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_2lx83Tub90ecB2NkcUBJbg_7_2">18,443</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_kFQqvbdRUUKaemtljjLzNQ_7_4">14,936</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_hRvG1OxudUWd0Z8dghKloQ_8_2">1,884</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_j0JxPOJ4S0S97JBChf4YkA_8_4">1,028</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_FLAezh-x5ky-P9hYrYPZWQ_9_2">36,596</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_BMuNB9l-iEGXjBmaRuneag_9_4">29,364</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Supplemental balance sheet information related to leases was as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" id="Tb_ysm1Xze2ckuu1jFWjig6nA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights" scale="3" id="Tc_7ItHASC3a0-XB7EMpEcp4A_4_2">35,286</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights" scale="3" id="Tc_3bsCsHr1akWs2vnHKQEeVw_4_4">35,506</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:LandUseRightsNet" scale="3" id="Tc_VjXRDg8qpk2Um9iGMetRLQ_5_2">71,011</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LandUseRightsNet" scale="3" id="Tc_-Bn2FQJxTkSf38DMidfBjA_5_4">68,094</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_BdwHL07l8EWRnP8Kmk_qYQ_6_2">106,297</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_JY_uBVUYK0CDLHGcsO1D3w_6_4">103,600</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_I2GM2BXP5kqmFOCeWRwVlg_8_2">12,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_junCbb6JP0uFikBge2U_wQ_8_4">9,810</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_unSSKi9Sg0iIHqoy3caLOw_9_2">23,215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_QbvZZuXRXEWN4X8Tv5gkVg_9_4">25,714</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_QpRG9B-lLkyr9ASNgXztZw_10_2">35,400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_tiH5a2H-kUKlbcIyV8rbQw_10_4">35,524</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other supplemental information related to leases was as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" id="Tb_VokcW4oJeUOzWGPoNhKgGQ" continuedAt="Tb_VokcW4oJeUOzWGPoNhKgGQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_Vg41FBm-3E6s4BvOO2L7Uw_5_2">1,349</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_qgB9CSMmxUqbn4Nr5VFIfw_5_4">1,994</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_C6j4jXt5eEaNT5LIEyGOmA_6_2">19,972</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_DrRdxj1aR0eZSr3YXR3EVg_6_4">15,032</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_rg8XHvvD1kKXDmLkF6A6zg_7_2">35,554</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_jEwPm7OAb0-re4frWm5b3g_7_4">20,194</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_bHif5oT2IUiYA3Tj2INU-Q_8_2">60,102</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_17r7Ku9ws0S64FlBgi50AA_9_2">24,694</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_OLjYn8u_e02ywn24Lz8-Xw_9_4">14,393</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets disposed through early termination of operating leases in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_2tLX03Lol0ui_iuErVNeYA_10_2">1,880</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_BZPa2T8NOkqSmXY7PVc7Yw_10_4">965</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_fddede3e_893e_4c1d_bf57_12a06204cf40"></a><a id="Tc_4J5ZFjMOjUCIDw8Mqy4QjA_1_2"></a><a id="Tc__vLpaoak4k-juqcJfIc41Q_1_4"></a><a id="Tc_1XroizwySkKBZLobSaFblg_2_2"></a><a id="Tc_o_UIHEazP0iuyLqvFzRR1w_2_4"></a><a id="Tc_d6u5nco6K0W6rBs4WQaFTw_3_0"></a><a id="Tc_6rMTKMgMIkyyW6hdz6t-Ww_4_0"></a><a id="Tc_ySbGv4otrEWyESFCjzetjA_5_0"></a><a id="Tc_ew2S1vR_002Ks4-BpQkrRg_5_3"></a><a id="Tc_32fI93MupUGh2dwNXz5iGA_5_5"></a><a id="Tc_dLvUTNyxx0uqRajyifsxug_6_0"></a><a id="Tc_howvpolxCUqn9FemzkuETw_6_3"></a><a id="Tc_5A7zV9UekkqEp3laVOlnCA_6_5"></a><a id="Tc_FVLg68A5TEKRkc7f1k2lCg_1_2"></a><a id="Tc_JyAby-pg2UytkUvbbDKOog_1_4"></a><a id="Tc_ka1OvPmJRUWVX7iboR_tow_1_6"></a><a id="Tc_jGydyjV2CUWSEeAK5nmYvQ_2_2"></a><a id="Tc_H3V4sf-6_U6C7_u4KkY_fQ_2_4"></a><a id="Tc_wCNwp4ItJU6e9wQu_Ok2ig_2_6"></a><a id="Tc_Cigs8g6dAUO3qUotUC-3ug_3_2"></a><a id="Tc_lnrprAZdwkO-4N159tQ_wA_3_4"></a><a id="Tc_23dROEEzOEqgGW8vqScdCg_3_6"></a><a id="Tc_5j153YqSI0iRmHDZtP10dQ_4_0"></a><a id="Tc_G9CmS9QLDU2WFLmQzNIr7A_5_0"></a><a id="Tc_XPYo8gKPUU-xWyjbksfneg_6_0"></a><a id="Tc_tPO7IHJx8EmUhZOnDmfr1w_7_0"></a><a id="Tc_on7a8efOgkiVjADHFcfVqw_8_0"></a><a id="Tc_p2fJPsMg1EyiUYbrP-INoQ_9_0"></a><a id="Tc_Z9n9tTaUq0ipCKR-T-k05w_9_4"></a><a id="Tc_eVarMttheESh8zb_Ar7YOA_10_0"></a><a id="Tc_9VKie5lg7kGn31WfE9s6nw_10_4"></a><a id="Tc_1h2W0PahdU-vgy2KJQVulg_11_0"></a><a id="Tc_gHqWd9gnlUe7PgbvsmNEAA_12_0"></a><a id="Tc_hewKLEJ560WJhsbRoK6Obw_13_0"></a><a id="Tc__MTBeqxlV0WhEFZZYxOWXw_15_0"></a><ix:continuation id="Tb_rTXjhPUEC0Gy_OcCO4qC3w_cont1"><ix:continuation id="Tb_VokcW4oJeUOzWGPoNhKgGQ_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - finance leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_Htz5vOV1y02OlLi4VpDm_Q_3_2"> 2.7</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_OY05vTS5h0KHUyuylp6ExA_3_4"> 1.8</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_igTaoK9DUEWSRsos-Z72yA_4_2"> 4.4</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_q9mwkH-5Tkubkq_KMkpx3Q_4_4"> 6.6</ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_F4JcZYGvD02WR9V0mFTXMg_5_2">5.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_NCA2IEm4MkOiGbwHxNUnJQ_5_4">4.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_8uGmjhemTEaFIbcBBpx5FA_6_2">4.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_oCWNsHmbVUCzNGXDl4MIWg_6_4">10.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, maturities of operating and finance lease liabilities were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_EshxP_VfWEyxD9-08A4ezw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_c2fSKgKpw0KFe3Wmyb4cMw_5_2">10,798</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_TpfJN00_bEWqJQl-fn-G0g_5_4">15,517</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_7y_QPzjXw0-YvlZicQcXog_5_6">26,315</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_UyNsqHHtSECXwBl4PJYxsw_6_2">7,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_mVfY5gIRZEytb1NlTwhecw_6_4">14,846</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearTwo" scale="3" id="Tc_aDx-UhF5t0mg6uCzEU1EaQ_6_6">22,062</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_FSFh6hKkmECl42pCL_e8yQ_7_2">5,580</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_PpuJ_ZQBaEmHpdAQp7LJFw_7_4">6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearThree" scale="3" id="Tc_dJEwQmLaSU2yuYqPj5O_Xg_7_6">5,586</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_-99j3xTe0k-_fwtV35OeSg_8_2">5,155</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_RIncYu90JEqzsL5Suhev-Q_8_4">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFour" scale="3" id="Tc_rhJEFBeyMESNR2RlMbGeog_8_6">5,156</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_SHCrJ96bU0itkU0q9rJFrw_9_2">3,666</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFive" scale="3" id="Tc_WRJ2S-XKa0Ww_RdXzyGWsg_9_6">3,666</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_xdSpEimPjEmFmD2ZViyRdw_10_2">33,133</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_pKi6uT2EpESaBRZOScqSpg_10_6">33,133</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_R307vAP2zkqS9ZxctrLrXA_11_2">65,548</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="Tc_lSpUOObXYUO_Ti9OcCYDTw_11_4">30,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDue" scale="3" id="Tc_UDWWGo6KIEqCi23_gH4XLg_11_6">95,918</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_ZvPOfE5KcE221HowtISEDw_12_2">30,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_37em6n_UTUCe8MmOXaFAYA_12_4">1,301</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityUndiscountedExcessAmount" scale="3" id="Tc_UDcpEb-WbkO3hNYiMB6byw_12_6">31,325</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_aF7DGqXQs0uz8RteK4vVsA_13_2">35,524</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_TIfwvR4JMUuQYU86wjA1pA_13_4">29,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_u3_84TYMNEmL0cROvHX3QQ_13_6">64,593</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_fABpZzIpOk-x8U7lksz8Cg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Short-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_Mct3aFlDqUm_lHGSzA2vKA_16_2">9,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_QI6SkyEdI0yJnTr-WW82rQ_16_4">14,697</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityCurrent" scale="3" id="Tc_dqgA_jl7n0Wh-vjNc5fuTA_16_6">24,507</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_ZpeYQQuy1023lBvr_RvBDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Long-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_MX5r5ur9AU20HNN-dg7dgw_17_2">25,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_3W07SQCykUyg-baYYvN2YQ_17_4">14,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityNoncurrent" scale="3" id="Tc_XgFToImZBE-VcuWRmjc1sw_17_6">40,086</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Tek3YO5uCkiiEpdXHPnrpg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total lease liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_dSm5Ngc8m0GfhSDPR4mrJQ_18_2">35,524</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_H2OIbYdIpE6ehygCh4Cc3Q_18_4">29,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_XRx5X6DKzEafJBTIQScr9Q_18_6">64,593</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;background:#ffff00;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_480158fb_ecdb_4dc3_aad6_a978273b00b8"></a><a id="Tc_uFsdeQ_ZNEKO_F9HVitxvg_1_2"></a><a id="Tc_jkTfsht5ckSb7RN0e2SyAA_1_4"></a><a id="Tc_FJ3k0UfNDUO4b8wDQSATwQ_2_2"></a><a id="Tc_kRe1T3TELUuVPlr_c2NaoA_2_4"></a><a id="Tc_S9VXe8R8bUKx58BDUQ1-Ew_3_2"></a><a id="Tc_nwlIPNW2HkKlPpTnes4u2g_3_4"></a><a id="Tc_l1jtQFaVP064q2yGGNpd2A_4_0"></a><a id="Tc_NxeV-sYvN0O9WJJkyhc9lg_5_0"></a><a id="Tc_CAepo7qNLESnSkcOq4ez8w_6_0"></a><a id="Tc_077EGO2NKUS749_FcRDAbg_7_0"></a><a id="Tc_J_4QNqrsHUufD2IbcW6nLg_8_0"></a><a id="Tc_ILa8SqehwEiFB2Osp5nyRA_9_0"></a><a id="Tc_0FPG7D4zokGSHvBUUjXB2w_10_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:DebtDisclosureTextBlock" id="Tb_uAjuyaYFn0OGhek-qC7LDQ" continuedAt="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;">&#160;BORROWINGS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Borrowings consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_CXC0MPuSHkeVaZqjCEchow" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings related to project assets<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermBorrowingsOnProjectAssets" scale="3" id="Tc_fuYCDD_kTEqG3jqWv3g-1A_4_2">474,555</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermBorrowingsOnProjectAssets" scale="3" id="Tc_tZ_51xpy7kOoh6kAkPnMUg_4_4">333,521</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other short-term borrowings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_DoCOiuPM0UKfiifhSQPQTQ_5_2">1,118,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_WO-f62FQq0WzzieVpk4_Aw_5_4">1,110,295</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_8xxAXsn3k0-uSbYWQLL6jw_6_2">1,592,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_GgeAiELRR0e694gw0w6GhA_6_4">1,443,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings related to project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssets" scale="3" id="Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2">327,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssets" scale="3" id="Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4">318,987</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermDebt" scale="3" id="Tc_s1xqFhvZ0UuSwerybdpGtQ_8_2">196,418</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermDebt" scale="3" id="Tc_aNhaIGsIXEKszX_qNXihbg_8_4">494,419</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_y-csmub5qE-jhNRhlEQFvw_9_2">523,634</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_HHpIT1HHDEeNFsdRfG96zg_9_4">813,406</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_RFEjumsNB0Kgf3-hGybqSg_10_2">2,116,504</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_27OmcSPlw0KdkzvYf6khBQ_10_4">2,257,222</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><ix:footnote xml:lang="en-US" id="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></ix:footnote></td></tr></table><div style="margin-top:6pt;"></div></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company had contractual credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_CVinStw4hUi5qCI4KKIr6Q"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_s5F-SjKVc0u5rdSkNjM3gg">3,412,104</ix:nonFraction></ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_bdZTic9QyU-tUM7NwkJmdQ">1,694,732</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_eWSIacWMgECyb7pqvbIKjg">623,377</ix:nonFraction> has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="3" id="Narr_OJLB0ArTPUSgt1I-_ivScw">1,093,995</ix:nonFraction> was available for draw down upon demand. In addition, as of December 31, 2022, the Company also had uncommitted credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_TBle2o3tZ02_JiugJpwP0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_fHQC8M64REeTMQFGCSYYYw">1,464,055</ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember__5IlVZK5ukWwgQfjgpaQ0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr__33-fik4IkSpC_M6HlIxtw">562,490</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_oz1Wv7rLIUiwDsVs8pBSuA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_oPdN63Rne0eXOBSzjgiMJw">426,734</ix:nonFraction> under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_4aGxm9E8XU2xcWHUpqs4bA">365,065</ix:nonFraction> of the Company&#8217;s borrowings under its energy business were non-recourse in nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The lenders under the Company&#39;s non-recourse facilities generally require the pledge of underlying solar projects and do not have direct recourse to Canadian Solar Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredDebt" scale="3" id="Narr_SR-T6-RsaUq1lFzBKucpMw">1,042,407</ix:nonFraction> were secured by property, plant and equipment with carrying amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" scale="3" id="Narr_lsHPCpuWn0CPoJ_QE5ZcUw">414,244</ix:nonFraction>, inventories of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedInventory" scale="3" id="Narr_oI3LehLXLEOtWQKk1lkedA">161,673</ix:nonFraction>, land use rights of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedLandUseRights" scale="3" id="Narr_nyM8k2TGU0WeULA9JibJ_A">46,607</ix:nonFraction>, restricted cash of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash" scale="3" id="Narr_OpoD5RVlekqNzPomrXk1Vw">6,715</ix:nonFraction>, accounts receivable of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable" scale="3" id="Narr_z6M_Ltxa-EKtwkjgXdRnaw">33,690</ix:nonFraction>, equity interest of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedEquityNotSeparatelyReported" scale="3" id="Narr_-Lqu22YO6EC615UTiGg8Lw">34,859</ix:nonFraction>, project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedProjectAssets" scale="3" id="Narr_1tNoegaGqEmpDxPkNl6WFA">353,503</ix:nonFraction> and solar power systems of&#160;$<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsSolarPowerSystems" scale="3" id="Narr_wsLi2cw010CiCfJ-LC70bg">295,145</ix:nonFraction>. These borrowings were recorded as short-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_0Uq7Dfe5e0a60CwSZFnhqA"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_RecourseMember_vp0ODBBnSkenOFOmcNGaSQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_8WHXGwLsrUKmQFirkV9rSQ">207,134</ix:nonFraction></ix:nonFraction>, non-recourse borrowings - current of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_sV13PaUk2EioG49ZyY592w">335,893</ix:nonFraction>, long-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_VxySeFcLN0KtOj1pjxKcZA">470,208</ix:nonFraction>, and non-recourse borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_SYbQl9zbgkStiY22-sEfNg">29,172</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s significant borrowings during the years ended December 31, 2021 and 2022 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2016, Canadian Solar Projects K.K. obtained a syndicated <ix:nonNumeric contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_z-d-Jobqj06Wn0bjM4JqKA">three-year</ix:nonNumeric> loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_p5ER40Y3xkq0KAhG_Br3cw">9,600,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_LDm5Ge8zAUGhWRSqN3mjbQ">85,200</ix:nonFraction>) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and <ix:nonFraction unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg" contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_O2jbqxcs7E25KhTbiJr2_Q">13</ix:nonFraction> other participating financial institutions. The facility is unsecured. The loan proceeds may be used to develop its solar project development pipeline in Japan and for general corporate working capital purposes. In 2020, the facility agreement was renewed with <ix:nonFraction unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg" contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_CaoQ8MROuU23Nt9_vQvQRw">11</ix:nonFraction> participating financial institutions led by SMBC at a term of <ix:nonNumeric contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_YUYQ3tyyXECWplUfQdrXGQ">two years</ix:nonNumeric> and a facility amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_7Y7AKJvtfkCLhCwGGXuViw">9,100,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_Dxx60Aw99kGvjGmHnfdepQ">88,200</ix:nonFraction>). In 2021, the subsidiary further expanded the facility to JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_CBk5Ue3inUmu__3xXM_GZw">10,000,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_j-O5oqHpfk6x7Deqa95FhA">89,859</ix:nonFraction>) for a term of <ix:nonNumeric contextRef="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_xz3M2LaHOUuzGgUychNB4A" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_aOT8F8-U80y3SQAPX5d6XA">three years</ix:nonNumeric>, with a September 2024 maturity. In 2022, the subsidiary amended the facility agreement to tranche 1 loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_UEA8cSRtO0qT-JN5_Tccxg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_Ob1GCqVAnkGCqQNXmHmO4A">7,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_D0TCTT-wRkyhOg6tczHT9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_tweTPhjwVUycY0ktyeLizg">57,198</ix:nonFraction>) guaranteed by the Company and tranche 2 loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_48r1sN6kBEu1gb-Vrmm8Xg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_lPdYUWR4iUiC6Tu7L0bhxQ">2,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_89RAnytBNUmi1ibWJmSYtA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_qyaXLQVdd0W4VvZaGnbT-g">19,066</ix:nonFraction>) secured by a pledge of equity interest in CSIF. As of December 31, 2022, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont1" continuedAt="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. obtained a <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_B13mEfbPxUCiuahfDKBHxw" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_PHgo0VDfZkiZFSE2fsfVhQ">five-year</ix:nonNumeric> syndicated credit facility of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_pT4bHCJD0UKmDEqvHLrB4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_NDXoGqGWVkC47ZtZPMn7KA">188,000</ix:nonFraction> with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB<ix:nonFraction unitRef="Unit_Standard_THB_joOAZ6jxnkOc2RX95GC2qg" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_MtYEz4NR-kOt5xH8Kq8yUQ">3,540,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_DGPhFCcPZEm8K6_iUOsyCg">106,729</ix:nonFraction>) from SCB to support the operations of its manufacturing Company in Thailand. As of December 31, 2022, the outstanding balance of the long-term loan was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_PJzVbHRZkEGVsOJslPoauw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_1QUUS099fUGJdCgIBCd4aQ">34,606</ix:nonFraction> and the outstanding balance of working capital facility was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_V-daamt8Lk2CYrQZreYX4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_DlTnvCdRekSaTY7_jMshfw">11,777</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Recurrent Energy, LLC (&#8220;Recurrent&#8221;) executed a $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfDevelopmentLoan" scale="3" id="Narr__GO7Oe0Kn0218yKrVLMC9A">75,000</ix:nonFraction> development loan with Nomura Securities International, Inc. In 2021, the syndicated facility was renewed with Nomura at an expanded amount of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_11_30_2023_1PBXplHmH0SH-E9JNu-yDw" decimals="-3" format="ixt:numdotdecimal" name="csiq:TotalAmountOfMatures" scale="3" id="Narr_35NWUf1Ysk6FDnsvP69e0w">125,000</ix:nonFraction> that matures in November 2023. The outstanding credit facility is secured by certain project assets in the U.S. and Canada, and is guaranteed by the Company. As of December 31, 2022, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated <ix:nonNumeric contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_6GDanUqDRkOaWk7v_NL2BA">five-year</ix:nonNumeric> non-recourse facility of AUD<ix:nonFraction unitRef="Unit_Standard_AUD_jWFbINBFkE6ICAPYV1Rt5w" contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_sk0khSNKLUak-hv__YIf9w">289,419</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_FO7HSBP9y0-TPw3MSpqnXw">206,022</ix:nonFraction>) with Australia and New Zealand Banking Group Limited acting as the facility agent and <ix:nonFraction unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_qtR4CbTdXESpkiidotHtuQ">3</ix:nonFraction> other financial institutions, to finance the construction of a portfolio of solar projects in Australia. The facility was secured by the project assets and was set to mature in 2025. The loan was assumed by a buyer in connection with the sale of the portfolio in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Japan Green Infrastructure Fund LP obtained a <ix:nonNumeric contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_SZtzIqPLA06h5DQGnYNPaQ" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_VpdHGz3m1kCdXoagB8WJZg">six-year</ix:nonNumeric> mezzanine loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_Khlz1CJc80WwMV5RkQ9hYg">18,000,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_FG2RziEULkqOzgsD6NG_xw">174,241</ix:nonFraction>) with Madison Pacific Trust Limited acting as the facility agent and other four financial institutions. The facility is for the development and construction of solar projects in Japan. As of December 31, 2022, the outstanding non-recourse balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_FBoGmazZY0OplbK5P1a87Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_U-hBq-5rl0CfnLrLSzDw4w">16,002</ix:nonFraction>. Subsequently in January 2023, the subsidiary cancelled the unused commitment of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g" decimals="0" format="ixt:numdotdecimal" name="csiq:AmountOfAvailableCommitmentCancelled" scale="0" id="Narr_Q0c6a_XN70ezH9VfViYF-g">15,901,795</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfAvailableCommitmentCancelled" scale="3" id="Narr_TQcoDv0YSEqNVzNuev56rw">122,208</ix:nonFraction>) under the facility agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Azuma Kofuji Daiichi Hatsudensho G.K. obtained a JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_qZU_AJ2KNUGfy0957cTfLg">24,513,530</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_i1tRf_BmVEOABdYzMpRUQg">230,759</ix:nonFraction>) project finance loan facility with Nomura Capital Investment Co., Ltd. acting as lead arranger and other participating financial institutions to construct the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by the Azuma Kofuji project and will mature in November 2023. As of December 31, 2022, the outstanding non-recourse balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_LDRFTpa0GkCYBCKoCmkv9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_4o58xhFZIUm56gwWNrAJIA">148,867</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, four Japanese subsidiaries issued JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_p2pIA34M00ef9xOnmq3h_Q" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_zoSUFOfpI0uJJa5XcbVURQ">8,100,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_D1U6Pvt0vEiBhcgY-xmcKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_pThu1wh32EipygjjcxHfMw">73,167</ix:nonFraction>) of non-recourse green project bonds to construct a portfolio of projects in Japan. The project bonds are secured by certain project assets and will mature in 2039. As of December 31, 2022, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_o0TMokwSpESqxliSNRvibA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_v50vLvlQXUugRzT7mEB9DA">32,515</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_JScYiNdIxUu7Np694n1OBg_1_0"></a><a id="Tc_hzyEsE4KbUuCuBeFJdwSNA_1_2"></a><a id="Tc_TUxBJgVRDEyQlqMhSR057A_2_0"></a><a id="Tc_T2qKh_qsdEGdBOQnYzVlKg_3_0"></a><a id="Tc_TIB77FCnHUq0PyzkqAqG8A_4_0"></a><a id="Tc_M3YblUPLjEaevOQ3asMc9w_5_0"></a><a id="Tc_lf6IPWA7mk2otx1b_teXbg_6_0"></a><a id="Tc_o4CauO-x9ky7h9Mqrb0PEw_7_0"></a><a id="Tc_ZHM6P1ko0U2E_CV6dr57mQ_7_2"></a><ix:continuation id="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont2" continuedAt="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_F3BQvvxmHEGxFCztJYAeAg">60,000</ix:nonFraction> project finance loan facility with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;). The facility has been partially drawn for the construction of the El Mayo project in Mexico. As of December 31, 2022, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_XWSSj0wP2UWyTd6agVVWkA">28,000</ix:nonFraction>. The Company has provided a guarantee on the outstanding balance through a letter of credit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar Spain S.L.U obtained a &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_ae-sOnjw-kGxG0DbFuIglA">50,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_0vfwJLb9TU6fDs8U_Y04mA">61,132</ix:nonFraction>) credit facility with Banco Santander, S.A. (&#8220;Santander&#8221;). The facility comprises a term loan of &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_SaZKbDxhjk2ZrXdWVQKArA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_nQPB1mFAAEKB1zS4Z7g-tQ">25,000</ix:nonFraction> and a revolving credit facility of &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_BR0kKiksTUmrLZa3XkkzRA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_5CtQcvgxDEKmiiwrkRBuNA">25,000</ix:nonFraction>, and is guaranteed by the Company. The facility will mature in May 2024. As of December 31, 2022, the loan was fully drawn and the revolving credit facility outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_JxqqL43SuUSUZNrbJiKmTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_MngHHv6CxECjCwT33adswA">26,755</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, eight Brazilian subsidiaries obtained a BRL<ix:nonFraction unitRef="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_N3X6j4jD60uo91bU0Y2sCQ">500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_GcRUFlrBeEiGSbY2jiGRKA">95,921</ix:nonFraction>) financing facility with BTG Pactual and Ita&#250; BBA to support the equity contribution for the development and construction of solar power projects in Brazil. The facility is guaranteed by the Company and will mature in December 2023. As of December 31, 2022, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_GtVfa52VakiF4ZKM-1DJEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_1vxq5BJsNUSUMXykhsBjDA">87,873</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_WgFPPDrsMU-v4oOP6VFyqQ">580,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_fBd-RLZsM0qu1umFRwsBwg">90,918</ix:nonFraction>) long-term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property and plant, is guaranteed by CSI Solar, and matures in November 2028. As of December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_UOEfshE51kGG4iNgz--ZGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" id="Narr_9piCEo0hT0m3YS3cGPVMXQ">55,510</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar EMEA Capital Markets, S.A.U. issued &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="0" id="Narr_IJVmh-wrmkC7cn6It1aYVg">30,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsNet" scale="3" id="Narr_a0OSOoKdvEaOimB0WmLjYQ">34,106</ix:nonFraction>) fixed rate notes on Spain&#8217;s alternative fixed-income market (the &#8220;MARF&#8221;). The notes are guaranteed by the Company and mature on December 2, 2026. As of December 2021 and 2022, the carrying value net of unamortized issuance costs of the fixed rate notes were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscount" scale="3" id="Narr_DdM_V_ljtkWPVwyZ87GNAA">33,676</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_FlBVN1R30kmsfxvkYbSF6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentUnamortizedDiscount" scale="3" id="Narr_C4Lzyei05UaiKHUHV9h9zw">31,638</ix:nonFraction>, respectively, and were included as a component of other non-current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2021 and 2022, CSI Cells (Yancheng) Co., Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr__I3XuO3GV0iEKvo0b1uDpQ">710,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_CoY3ErNz1EaQATlTLrAsZA">101,944</ix:nonFraction>) with various banks. The credit facilities of RMB <ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_UUb1lwyUaE6oHNZss6aMZA">510,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_ti8fLDfMLkubzVsyZkaNHQ">73,227</ix:nonFraction>) are unsecured and are guaranteed by CSI Solar. The remaining RMB <ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_5kWF8uk0XEq_1cmO6Flq-Q">200,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr__p3lUyJsNEu3HbF7RuzQpg">28,717</ix:nonFraction>) is secured by certain property, plant and equipment, and is guaranteed by CSI Solar. As of December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_E2qd8LcCZU2ZyD9S9I52KA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_cE3hCzTRy0KC2ExSVghYkQ">78,072</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Between 2021 and 2022, Canadian Solar Sunenergy (Baotou) Co., Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_8UzjVGkUWUSO1O9zdGKLFg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_AXm7D0XVMUW0Kgr3pHvUQg">880,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_yCUXmcYT0Uye3sTzz5PKIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_8goM64t6LEWH-y183Of3eg">126,353</ix:nonFraction>) with six banks. Credit facility of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_4mznkKuBA0-Y159YyGNiWA">580,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_1C0-DEBlRkiZ7diDsRPf-Q">83,278</ix:nonFraction>) is guaranteed by CSI Solar, and the remaining RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_vzP1BjsbHkSX1M4r_EqTPw">300,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_kPkWNfkOuEyQtxfBRTinmQ">43,075</ix:nonFraction>) is secured by certain property, plant and equipment, and is guaranteed by Canadian Solar Manufacturing (Luoyang) Inc and CSI Solar. As of December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_d6lRyXHCw0ml5AeC6iLwGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_jQfe1AkSVE2WxOqsBYd8Vg">101,407</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, the financial covenants related to these borrowings were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In connection with the sale of solar projects for the years ended December 31, 2020, 2021 and 2022, borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_V2G85_fiPUurY43hSFCXTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_P-KvI_8VhEC7HEVRusHxSQ">316,496</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_U293J2ngv0KvbJjbfEuF1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_SvxOFo9G_kmVdqCqVN5ANA">118,406</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_zpSEeGDqzkKtoerMmY7jgQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_TxrEDJ8JXkaqMY-F7wlHIA">193,578</ix:nonFraction>, respectively, were assumed by the buyers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">These obtained long-term borrowings mentioned above bear effective floating interest rates from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_vpirmkt0HEqB9fXlKnB-OQ">1.2</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_tIFT4r5SV02701YusmIuFw">8.3</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the borrowings are as follows. Included in the future principal repayment of 2023 are $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Narr_RDgamwcqs0SzMLZ1uTQcSQ">333,521</ix:nonFraction> of current portion of long-term borrowings, associated with certain solar and battery storage projects that are expected to be sold within one year:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="Tb_3ySJhTRX00WacKR4JxbjdA" continuedAt="Tb_3ySJhTRX00WacKR4JxbjdA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_2IXKW7sms0ikBSN4gxr5qA_1_3">1,443,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_iUAjWhKfR0S7FkyzumbVjg_2_3">639,862</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_FrzlyFxqq0ufTC0FRaPHSA_3_3">83,615</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" id="Tc_0D7BUR78OEyO22cPpm0z_g_4_3">31,775</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" id="Tc_Gwo8WyJOw0upMqkkKXrDPA_5_3">22,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" id="Tc_APJIXXFOMk6w0YI4-8CYTg_6_3">35,679</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_b6iZtNuSs0aC3ZmtqGJ9EQ_7_3">2,257,222</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_BdP-nm6i60eVBTreZst74w_1_2"></a><a id="Tc_7fKEIy6i8UeIqQRUcrA8GA_1_4"></a><a id="Tc_7N4INtcB00KSOXOEv_U9RA_2_2"></a><a id="Tc_O5ExuRRG90CcJAjtObk7_A_2_4"></a><a id="Tc_NU9dc2-ffkGAPX9wxaYQ_A_3_0"></a><a id="Tc_9KYtEg853EqM2-4TKAE1lg_3_3"></a><a id="Tc_tOG52gc10k6atK4R7EblSw_3_5"></a><a id="Tc_XDeaWZ4VsEeIEr82klIBCw_4_0"></a><a id="Tc_7lYoLBK8tk2MubcgEBJCoQ_4_3"></a><a id="Tc_SAX-wnX8FEK57ESGFTV3_Q_4_5"></a><a id="Tc_AUnyj1U8y0a1x8mAo9G9lA_1_2"></a><a id="Tc_X7vuIbp30EO3vxOD6fVwSA_2_2"></a><a id="Tc_7Be8YHAGqEGrTA3AGfpaXw_2_4"></a><a id="Tc_UssSf6oltE-ROFXD4ecUSg_2_6"></a><a id="Tc_i5ubq-Sbx02NM4wuYdoNsA_3_2"></a><a id="Tc_15Ei31tXVkG4ZnAe1cNbrA_3_4"></a><a id="Tc_z8Dxb4rmBkuglVTbkyTaSw_3_6"></a><a id="Tc_wLhbtMHdj0aEByoIoHXlXQ_4_0"></a><a id="Tc_gKQC-kAm0kmKc5Nly79A2Q_5_0"></a><a id="Tc_mdrvwFP-Bkq9bE6mZEpUFQ_5_2"></a><a id="Tc_4dThyKkto06pqaDvDRicdQ_5_4"></a><a id="Tc_cxCN_5qZpkiyKMp9K8mv7w_6_0"></a><a id="Tc_FNP3BI-KG02kNYDryLnpTw_6_4"></a><a id="Tc_6IM3bryhSE6Ghhcz0ejvjA_6_6"></a><a id="Tc_-nGBYjuMJ0K5L89caLcIQA_7_0"></a><a id="Tc_CiZojhL25EWm3pfFK_k8nA_8_0"></a><ix:continuation id="Tb_uAjuyaYFn0OGhek-qC7LDQ_cont3"><ix:continuation id="Tb_3ySJhTRX00WacKR4JxbjdA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Weighted average effective interest rates on borrowings are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfEffectiveInterestRatesTableTextBlock" id="Tb_wFHeMys1dU2Ne4Eylvqx4g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_BrXutxSrWkKrWeg7XraGTw" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_Ge2kc8cY5ku9bQPbd0PKbQ_3_2">3.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_ef8_AhvJHEmJNZ2D7q5Fvw" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_lz68-HfcxkunAprPlEWXQQ_3_4">5.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_EwcflZ0IGkmsEMXUo4Z1Bw" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_nIZgUxu-SUW2p3jk0mkUYA_4_2">3.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember__jUXUzlycEWTEzGVgDPIzQ" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_wCPkQq5WYUCZpwSqqaRN0Q_4_4">4.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2020, 2021 and 2022 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ScheduleOfInterestExpenseTableTextBlock" id="Tb_XwrNv8MxLESn_IufB4DzPA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_8o5OcrPb0EuBjUkKmbWpDQ_4_2">10,197</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_uZKQmUYq30a0fsyaKglX6w_4_4">17,316</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_Th8LYzACnE-h_a17ER4IQA_4_6">26,439</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Tc_tE91Xjuxv0CTfaki6CMJSw_5_6">18,666</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_TmIzqsEXo02bXfLKApLUBg_6_2">154</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_TG7iPRkx0EaP4B-V9F__Qg_7_2">71,874</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_EobfgzcoUUeE_GBBMMndtA_7_4">58,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_RPRamm09QkmnNnxAZtVwXQ_7_6">74,266</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_eDoqiIqnZEyRu6Z6Wk0tng_8_2">82,225</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_XbVkvRK0G0yMId-tZ1rvJA_8_4">75,469</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_1wpQegv3aEaod9QdwncYfQ_8_6">119,371</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ShortTermNotesPayableTextBlock" id="Tb_1hNZHwFbp0GiVSYTQvR01w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s materials and equipment vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the bank&#8217;s settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable due to suppliers, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company&#8217;s restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2021 and 2022, short-term notes payable was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_fadcPey6kUiitbUTCIE7WQ">881,184</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_Mw_l45fiq0-iy0Gp5G0FcA">1,493,399</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="Tc_cneX-_-UMEmFyvxRtogr-g_1_2"></a><a id="Tc_8tNo9tCzFU--lQdjbNVCww_2_2"></a><a id="Tc_mHZ9GaDJk0O_71CzxnssIg_2_4"></a><a id="Tc_mvPg2aCy302BwoagUDzlPg_2_6"></a><a id="Tc_OjOyx8PYfkKkSbIcz4Z7mQ_3_2"></a><a id="Tc_RizEtJP0QkWl17Drbj8wOg_3_4"></a><a id="Tc_LppELxahH0yzto841EORIA_3_6"></a><a id="Tc_XzVleCeNGUGnFrR2YJYHcQ_4_0"></a><a id="Tc_O0f5hlYR5UqGTiQvv7i9JQ_5_0"></a><a id="Tc_cjIK7Z3gl0aYyOkxhR2Q9A_6_0"></a><a id="Tc_aiBLg2scwk6mtZ8DIRcPcQ_7_0"></a><a id="Tc_kdMASQ7Vg0WYGBm5dP_qJQ_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="Tb_adOStHYgnUOELJzyo1ZEBQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="Tb_zRaayDzNz0ycaK4PCGJv0g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_W4HLfOqcREG4T5M5-NZScw_4_2">55,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_smOX_EIHrEO-g6LqIKJs1w_4_4">37,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_gSK2wdkDQE-ybTuQH6NTVQ_4_6">45,146</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_AUyio8n5fEiUePGNtmi8Lw_5_2">26,931</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_vNk7ofiZaUO4pYkT9B8NzA_5_4">45,053</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_AiOMm05sI0qkKiz8TQyUzg_5_6">68,411</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_PR_225YvUU6EIzOMhIirOg_6_2">46,067</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_O7KLZUr_b0Wfg5DqUUam6A_6_4">35,432</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_n3JdwqyTw02gspnJkA23fQ_6_6">31,943</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" scale="3" id="Tc_EkgZrB5w7EaQUVTKBNN2hw_7_2">990</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_ZA0TnYz9h0udpf8EZMnWJw_7_4">2,207</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_NLbFt4nXb0iHab23_XhVKw_7_6">4,937</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_hv2o6kI2o0id-FqtbR013w_8_2">37,732</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_UXvcQaM8nU6S-sBnGtBo2Q_8_4">45,146</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_OgLamj2_A0i_iNJiCPw55g_8_6">76,677</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:RestrictedAssetsDisclosureTextBlock" id="Tb_5MaPAAp_G0GUTcZClNV5pA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to PRC&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="2" format="ixt:numdotdecimal" name="csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" scale="-2" id="Narr_bFR5bAq4OEeEf9CPRKA8_A">10</ix:nonFraction>% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employees of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#8217; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition to the general reserve, the Company&#8217;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#8217;s PRC subsidiaries are considered as restricted net assets amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_cGEbkQDPeEywqUKt0ijOJg">658,166</ix:nonFraction> as of December 31, 2022.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:ConvertibleNotesDisclosureTextBlock" id="Tb_fzfT3_w_KEKG3iCDgXZeuA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 16, 2020, the Company issued $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtInitialIssuance" scale="3" id="Narr_0nU7MWai70WAjXbGHCOz7g">200,000</ix:nonFraction> of convertible notes (the &#8220;2020 Notes&#8221;). The Company granted the initial purchasers a <ix:nonNumeric contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" format="ixt-sec:durday" name="csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" id="Narr_kga-zhEO80u-9XjHPA9GLg">30</ix:nonNumeric>-day option to purchase up to an additional $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtAdditionalIssuance" scale="3" id="Narr_j5BorGt2cEaHTAWanSozpA">30,000</ix:nonFraction> aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2020 Notes mature on October 1, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2020 Notes holders are entitled to receive interest at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_3Zfy_jp6xE2_fXl6xzVBig">2.50</ix:nonFraction>% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" scale="0" id="Narr_kh0t4IIDUk20dk6eiGYS7A">27.2707</ix:nonFraction> shares per $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentAnnualPrincipalPayment" scale="3" id="Narr_B0MbW2Pd-UCvH1b52jEoEQ">1,000</ix:nonFraction> initial principal amount, which represents an initial conversion price of approximately $<ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="Narr_Miz5i-XVikSkP-QLwKDq2g">36.67</ix:nonFraction> per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#8220;Fundamental Change Make-Whole Premium&#8221;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after October 6, 2023, if the last reported sale price of the Company&#8217;s common stock has been at least <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="Narr_Bm1XfdEh4EO2FqF7xu-Y_g">130</ix:nonFraction>% of the conversion price then in effect for at least <ix:nonFraction unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="Narr_Bxt-oFXyrkeSwFN-5UoUpw">20</ix:nonFraction> trading days (whether or not consecutive) during any <ix:nonFraction unitRef="Unit_Standard_D_CzOrryFZXUeNpd0I3__dwg" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="Narr_vBLX7K70gUaQzS7Tv-tElA">30</ix:nonFraction> consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw" decimals="2" format="ixt:numdotdecimal" name="csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" scale="-2" id="Narr_93U1qroH-UqEiP-C02bBow">100</ix:nonFraction>% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021 and 2022, the carrying value of the convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_HUj9VZnwRkajK9x8XR8spQ">224,675</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_CLWllNfAo0yf6Qo7CpHcEg">225,977</ix:nonFraction>, net of unamortized issuance costs of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_oRGJcO1W9U6EzwbcmEzNzw">5,325</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_RdFv9SF-0USYFGGNJ7pzLw">4,023</ix:nonFraction>, respectively. The debt issuance costs are being amortized through interest expense over the period from September 16, 2020, the date of issuance, to October 1, 2025, the date of expiration, using the effective interest rate method at the rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="Narr_-gVYCkOhv0ixNBfOis3mUQ">3.18</ix:nonFraction>%. The amortization expense was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_OnDMWFSZvkGd79qHCtaCgQ">1,461</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_7Lj118H1_UCFjxwNRP1kjQ">1,302</ix:nonFraction> for the years ended December 31, 2021 and 2022, respectively. Coupon interest of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_BDfCZ48w_0SOht_P62rwCQ"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_VbXQhC5QvEOmx9CC_nEs8A">5,750</ix:nonFraction></ix:nonFraction> was recorded for each of the years ended December 31, 2021 and 2022, of which $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_Afp68o09X0C5nRABoaahxw"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_jFzwssbZaUaiSX6nbZdF_A">1,438</ix:nonFraction></ix:nonFraction> was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2021 and 2022.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_9OWpgkMDx0a6rxj_D2Jqlg_1_2"></a><a id="Tc_AxdmmLRDLUWOAbUxoFyMZg_2_2"></a><a id="Tc_uYaXxC1g70G9U3s19SApjQ_2_4"></a><a id="Tc_Z7As9Vh2KkaGBpOTq6MaUQ_2_6"></a><a id="Tc_lffFhXD1GU2H-Ux6R8-aGw_3_2"></a><a id="Tc_4BqZSr7QqUqmnZkPJNR4aw_3_4"></a><a id="Tc_FLulMYtcyUqGlDicrlp1FQ_3_6"></a><a id="Tc_iT70ATj-h0OCSI5p6aYJIA_4_0"></a><a id="Tc_RqczMnNW7UqnHMETAvb_mA_5_0"></a><a id="Tc_DHlR141cXUOIbOSZKOmAFQ_6_0"></a><a id="Tc_MfqUL2Z74E6UB6PiqUDeMw_7_0"></a><a id="Tc_eSSbtH2CXkqI0rRZIbE_Zw_8_0"></a><a id="Tc_bwW0GVyLG0-2-SfGp2oFbQ_9_0"></a><a id="Tc_p5ntxvFUIk-Y8pozR3ZjYQ_10_0"></a><a id="Tc_jSMBvdPJyECvz0CEkiw3GA_11_0"></a><a id="Tc_TV8c2cE1sEKPDdGN713J9w_12_0"></a><a id="Tc_NS3XSIkrzkuO3z-DZg1JMw_14_0"></a><a id="Tc_gbBknyfyM0u3wT53ZFx59Q_15_0"></a><a id="Tc_VaBNcOUczUiBLiptYKNaSw_16_0"></a><a id="Tc_j47bXVuumEuFBBe_kM4G9g_17_0"></a><a id="Tc_S1iEXy4YAk-5qm5xrjQ2Dg_18_0"></a><a id="Tc_S9YK1ftHfEOnZAXxD5i6sw_19_0"></a><a id="Tc_IjQLunuszUyPEFxjspqpSg_20_0"></a><a id="Tc_G8MntgbB6kOH9hF9nX5ufw_20_2"></a><a id="Tc__DQSVjfWp02N5vL7MFaKIQ_21_0"></a><a id="Tc_1qScxviwakqBeu2wAcxTBw_21_2"></a><a id="Tc_aJ-2gsKIJEW_uiskQQ1Cag_21_4"></a><a id="Tc_y9t9t5HqKUOMxsa8lSUPZg_21_6"></a><a id="Tc_Rv0hhX1dbkSfIfHRMD5wnw_22_0"></a><a id="Tc_a5HvEUsiM02ySrQ7Rz5SZQ_24_0"></a><a id="Tc_612P43uQsk2uEsRWq_R-QQ_25_0"></a><a id="Tc_yOGXRX0ewEOncyflnZrj5g_26_0"></a><a id="Tc_8EAqVm-_pECf3MHV5ROgvQ_27_0"></a><a id="Tc_9SuP77yMCkWXhSxBxsguWA_28_0"></a><a id="Tc_bmMlhljqwUq0_GZ9Ivgyiw_29_0"></a><a id="Tc_lGcwlEjPskCvvJHAU-LTeg_29_2"></a><a id="Tc_RTzKzJGzN0C_ogBNSFLbhA_29_4"></a><a id="Tc_kLknCmmmjkuYYVNVmxr1Ag_30_0"></a><a id="Tc_1Lgdkz4r1061fksML4MnxA_31_0"></a><a id="Tc_hkkilK_KrEqp7hbEMJKGPg_31_2"></a><a id="Tc_8tlQ746HakeosLVK0PzhOQ_31_4"></a><a id="Tc_ikFi0-tgoE2BI-iDTw3XRg_31_6"></a><a id="Tc_ER8kIzqyU02r8j0E1U_dmA_32_0"></a><a id="Tc_2CEe1BV3yEeP2cxa2Q_K3A_34_0"></a><a id="Tc_z2biJtJn8ESYEuHt8WZZrQ_35_0"></a><a id="Tc_EVNhbyrZGEm6aA7B9zpIeA_36_0"></a><a id="Tc_ICf0MAjj3EaUwnVMoBwTgA_37_0"></a><a id="Tc_VGZzoSfDak-mFcNIMZnlBw_38_0"></a><a id="Tc_oaM8mcho6EaMWXggKKjK8w_39_0"></a><a id="Tc_s3RiKYP-a0yf775Qvos6Cg_40_0"></a><a id="Tc_u3pI2R3R0UCJ_X5qceJv-w_41_0"></a><a id="Tc_fL8bWlrIw0Ob9yDuyi7m_A_41_2"></a><a id="Tc_CH8gDrhw-0yMVgEQujKbNw_41_4"></a><a id="Tc_G4vvHaGMJ0iCtLRQ4xrVXw_41_6"></a><a id="Tc_blLJxQsU00y9-w2yYHCe1g_42_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_pF8bfC5mDkmO2QXu8h8d1g" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses (benefits)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_50nwUpv-lEafgJL4MTMi8A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_7-iDqKT9Yk22ElCpUCVuxw_5_2">31,896</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_9E67v_JBe0G92CJlAb47Bg_5_4">6,237</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_o84KEsx7wUOLCymPJzDpcg_5_6">19,357</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_EbmiDb9UX0myuUhNrYzrOw_6_2">117,145</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_4bldtaPQTUOJC6bTrddwZQ_6_4">66,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_wgwr7mf3P0eYj75VldzOVw_6_6">22,275</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_1YeKH9i2tEGgaj5YGzplqw_7_2">184,113</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_FjMRd0gYdkutF21kOErFuw_7_4">35,943</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_dHS525fCCEixfaHagEJlrw_7_6">193,705</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_cb3NYaVhwEKtxC6yqfiZ4g_8_2">48,665</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Podq5W7I1kKt09HCUp7m8Q_8_4">51,910</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_AompgkO6e0-x6aO5JerZCQ_8_6">1,179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_e83qrOdqMkqwmRCfEgM2Ig_9_2">2,956</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_JpfiRmQmQ0aESPfn2ei-vw_9_4">7,728</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_k1z-9sTRhUOEwcsR-nztxw_9_6">69,424</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_ymZZuQADKUqx4VJRuVGd7w_10_2">39,412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_rSqWyAatZ0mDWdGgfvr4hA_10_4">14,448</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_GVULZVaGcE2_ngn5X8UhKg_10_6">32,052</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_TH_Uk9IByUwCUKceqVw2pIZ4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_9wEt5O_rRUSBkGolb15_iQ_11_2">74,166</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_pCNR5N4xREOdQxhur6S0PA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_1-Rb5SYxTkWi4NKoXVkWpg_11_4">15,562</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_cJijrFL2A0WHKl0DVqUI9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_TU6L-4faxEybY2KHN1LvjQ_11_6">17,155</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_8FESJYNQYkmMDDm4mcqT0g_12_2">18,949</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Q3swh38at0qS4auP4aobSA_12_4">58,670</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_wO5he6AZ8EatgerP-tANOg_12_6">40,035</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_EqDUKkDflUeL8QcXSO4SNQ_13_2">134,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_PAGcmfqIuUqmNcXwu6e8TA_13_4">138,464</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_B6W5dyfD7EC4QZP4mQNZ8g_13_6">356,468</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_8to_qVNb00mWTpTQGEq_GQ_15_2">36,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_wdHuRI-gOUKmaxpyUyHlpQ_15_4">1,124</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_tmoOcdW85E27_NCdeOLQhw_15_6">16,707</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_vZgru8tDE0OJbuJqqel18w_16_2">71,421</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_D_4oQTiV2kSQdpfOZUspaQ_16_4">15,937</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_vSP1P8nxbEinxkaWLL1vkQ_16_6">1,684</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_-yiwhcavwUShsX-Aj2Vb-A_17_2">30,276</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_WZpLZAVE6EinpNKqOIx4CQ_17_4">47,356</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_tT5rz31ATU-zlJKpvn2bGg_17_6">47,528</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_arxFS6BGtkyASj2hWQj8kQ_18_2">18,941</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_p8VFY-moL0ex23dsxuG96Q_18_4">24,047</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_cbgCeeOWDEW8n0_glY-e2Q_18_6">3,054</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_qeuMy30Y6UWNpLEY-5nzCg_19_2">489</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_yF78zNAaOkiGUuBJCaMmSg_19_4">617</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_jThCrSRpn0GqqQU8Lckgwg_19_6">872</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_PPmcdGBx90Sf9TQH4z-qMw_20_4">6,151</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_IPScz3uflUyn0mL7tQOlaA_20_6">5,023</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_pjO2ouCgjEymMO-gMz3y0g_22_2">8,722</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_fAB6L8MSuUGNQvpvTveh0A_22_4">10,097</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_Z9FQy-mtB0O_rP8omz7JOQ_22_6">19,183</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_TgeZ7uxHik-1qichyTzELg_23_2">22,255</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_NF1dBh484UOq8Umnwo1JdQ_23_4">103,081</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_LvLg81ntz0-ahouxenFnZA_23_6">57,269</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_PnKvpnptO0yuoen--v86oA_25_2">10,792</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_AexUZR8yGke4nNd79ATF5Q_25_4">685</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_7fAWVDLWo0uGvGwdgLauOg_25_6">10,629</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_FYjeY1f1U0qNQBERR8srGw_26_2">23,173</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_OOy2P32JT0arBlKAHI621A_26_4">1,604</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc__MiLvcQd9UGmEAeh1dBSng_26_6">1,996</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_cimrdz8kXEqG6C3_WwOYsQ_27_2">17,998</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_NEdkONf5TUSvYn2QdCqx3g_27_4">65,017</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_xJjW_FFzCUOVTPQd8MT9WQ_27_6">500</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_r_oa017CakqwXC9Iyu9QbQ_28_2">10,571</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_NPzTw5zscUKpL2qCwhdYzA_28_4">353</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_itoGs4Jm7Uef2imc_MSiHQ_28_6">173</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_937PF-qSXEq7F-MczhO6SQ_29_6">231</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_O5maAwcYnUObrUAtTyw93w_30_2">11,670</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_lRyb5E1-H0KRMnrN7iJSLQ_30_4">1,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_aLBkUZ8r-E6UisiEGX6oqA_30_6">5,546</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_tADdUMPTrkyXZQ2c28kD2w_32_2">3,620</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Y_IHAbJXEEGKmouuiOBnRg_32_4">2,192</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_gFt25Wm0TEK-WoUh7Sus_w_32_6">2,645</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Yv6TdX1HtUOZU6_s30qDnQ_33_2">24,238</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_s8rDeALYDkumf73Zu2IAiQ_33_4">67,237</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_3jEQ0r-2qUeiSU7Vc4g_-g_33_6">16,084</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_-29xn52pBUW-_5TKicEV4Q_35_2">25,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_ivvWNRgelkKshgZ-h9cxkw_35_4">439</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_r9uo-BdtSUG41UQBJpDvEg_35_6">6,078</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Z1nyPdOtlEWGY28fNjU26A_36_2">48,248</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_NhtRD7p3gkqswEaBpHW_hA_36_4">14,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_bfK9KTLHBEWJvbVGfHzSWg_36_6">312</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_LM_j72T4vkSfsN7jReajTQ_37_2">12,278</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_McBOQQ3jDESvf2uWc1Qnjg_37_4">17,661</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_fD6-yH8rAkiGgXDuF3PIJQ_37_6">48,028</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_-ylbogBCXEa30iIjH6_keA_38_2">8,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_GsY-3HCZEkmlyML2kTHRkg_38_4">23,694</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_JldsBbieUkeuTMkBey2qMA_38_6">2,881</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Obwg-lABoEi0tCzlrH0vbw_39_2">489</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_w5elo7CFIUqXNUu7aK9yDA_39_4">617</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_YA6D-t37pUeI7W8QRHTtYA_39_6">1,103</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_XrirmEAF5UmGFhg1hEikyA_40_2">11,670</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_v9vCL-nseUKST7gZGYbBow_40_4">7,395</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_sXhsTdc4EEqemnyhEAc4lA_40_6">10,569</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_E7AoWnA2vESZ7SnPMFdOAA_42_2">12,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_BrErY8VmpEG-KEG2aCrtcA_42_4">7,905</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_hooZaY87IU6WQRVJNfESIw_42_6">16,538</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_jD1Rf54M-0aQBhEvsAY1sA_43_2">1,983</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_X3WTrQBb206vTChq9-gqAA_43_4">35,844</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_sGeFKp_o_UqGyFxeLWCWZw_43_6">73,353</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont1" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s major operating subsidiaries and their respective income taxes are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canada</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSI was incorporated in Ontario, Canada and was subject to both federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_soW1J6il4UqDMKUHxoU2eA">26.5</ix:nonFraction>%. In July 2022, CSI filed articles of continuance to change its jurisdiction from the provincial jurisdiction of British Columbia to the provincial jurisdiction of Ontario. CSI is subject to federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_wkX40s_Fs0CexOZxYw0B2A">26.5</ix:nonFraction>% through December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_20VDTG5dLkWDy7XqUU9Y-w" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_-zfe89Jyjku_YUC13T-6AQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_JKafbkw3SkOgE5oDucQjaw" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_ClEKANVmMUKQVVfas6LBJw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xgWSR9377kKJj4hfrhszgA" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_OjoL7LpMeUKT-eEefvle5w">25</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for all years ended December 31, 2020, 2021 and 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_s3KBBk6DoUan87IBBNuZNA" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_NM21ud9PkU-fIsdnQ6RQBQ">22.2</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_kz6mkTAGJkSTYNFtmDxUSA" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ebGv3gmhCk2h9_HY2m3r6w">26.4</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_9CVSad79-UO-RVFnaq3B9Q" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr__Cbdbws07ESUXd4e2ZorAA">24.6</ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar SSES (US) Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_rXnJHpPK9kytHGIrJPLwEw" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ok-LnrKnOUGbZt1d8cAxvw">21.9</ix:nonFraction>% for the year ended December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recurrent Energy Group Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_m7FBD6qubke6WZ6c3qYLBw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ewwtnsdpzEKD1k4hDPJgYQ">26.1</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_guLaUqHpZUWfk5Emh-2uSA" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_4CiCZeqe3UC_Rc6CV4DHIg">22.2</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_cSkrjd0ZoEGRpSqwbb8NqQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_VxbWFcXLG0m4Gxnwg4-7bw">22.5</ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_jHNiUTiVgUOGEo5IEPWZQQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_rCbOv66ixUG450odzYiKlQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_PbCYhWm2ck2z_WqfXekGRQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_KNOcS0uKakO-NIXcMPy67A"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_wkM9lA4CWk6AWGqDxcHv5g" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_gdaIb-tBF0i1CAlVg8yuWw">31.8</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Singapore</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd. was incorporated in Singapore and is subject to Singapore corporate income tax at a rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_C2si07GDRkiv6GSHtpKpOA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_NPvwoOhPtUioOf4lJdzXuQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_6KaE9rl080igR6eWWkZHfQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_SSPgIFft7kKd9Zs0Vy9sYw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_lrmHvBhGn0WXjWKhtT3aFA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_53dl767bV0K9CadMnT6wfQ">17</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yRYqeAs1ZkSEswiYOORBeQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_674rN49pSUGDT7j0PXn_SQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_uIUV0klEAkqLoiD87xa3Fg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_qLsXXC-wLEababipIOfnOg"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_Y43hpORsYE-vcUWEpHNXrw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_OoO3rYpfeEu1qkx96k_O4A">33</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Brazil</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd. was incorporated in Brazil and is subject to Brazil corporate income tax at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_NwOpM-4iQEqjWzfSlxmjKw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_dfEii4I_40CcLuv2xxgRlQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_L7WMwTmkLk6WYqx0crNKzA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_umHOnPdll0eJkuz7Xv1bbw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_8s7anVBIZEW2XzLfGFkQjw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_BdgFU1l9LUOS3kvq5mI8IA">34</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_yWrkBG_TNkCmPME7-IG4Ng" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_MXT6wUWUWU6oQNmjvOgjmQ">20</ix:nonFraction>%. The Company currently has <ix:nonFraction unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_pSV1ltf1LE-I17K7zWLTkw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption" scale="0" id="Narr_Si6sCUCGq0CX6Ow5_ANpGg">three</ix:nonFraction> Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2017, 2017 and 2020, respectively, one of which expired in 2022 and the other two will expire in 2025 and 2028, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The major operating subsidiaries, including CSI Solartronics (Suzhou) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#8220;EIT Law&#8221;).</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_BOVM6-So0UOX0dBm67awJQ_1_2"></a><a id="Tc_eZScbJZbSUe97ppbwUQkcA_2_2"></a><a id="Tc_PUeIjPSS70ONK0sbE2mOPg_2_4"></a><a id="Tc_K5dOdJ1Rv0KsnPg1FVRfRQ_2_6"></a><a id="Tc_xDm9EGIfUkqNAPOsvx45-A_3_0"></a><a id="Tc_E5Cd33JElkSb4txPaomuDg_3_3"></a><a id="Tc_4sTiXgd630SEbU_yWY-6ng_3_5"></a><a id="Tc__paRvobz7UenX0HNSXI72A_3_7"></a><a id="Tc_-6DB8j26eEmcQE9mcESIQw_4_0"></a><a id="Tc_BG43bkVTNEWne0fKtthmFw_4_3"></a><a id="Tc_odyy6gbUJkuxWlAw5relOA_4_5"></a><a id="Tc_LT2tuYpZ6k2Bj-_ETH_Jbg_4_7"></a><a id="Tc_O4XFFfuCjUC8HpYo5KvTQQ_5_0"></a><a id="Tc__ekEyrtBC0ereGYbLinTGg_5_3"></a><a id="Tc_eJdLylxFJECk7Z0yMbUrqA_5_5"></a><a id="Tc_chnE-uwD_02dHY_9pJks4g_5_7"></a><a id="Tc_E3l7UsXaSE6G859gKYywyw_6_0"></a><a id="Tc_hms1Fca3_EiT5-wudvs9cA_6_3"></a><a id="Tc_RmKVLePM-UKKHW3NogXG7g_6_5"></a><a id="Tc_HJPhQqZrDEW-KaDzJ045bA_6_7"></a><a id="Tc__Fkqk5KONUqx2sZMZJ2Sew_7_0"></a><a id="Tc_n_uSh-G0B0uqAx6-JLtBYw_7_3"></a><a id="Tc_nbF7if400kmM_Z4iD1KbaA_7_5"></a><a id="Tc_93N-f6j_AEaFrydTS-Hhqw_7_7"></a><a id="Tc_j1ak8PQmX0-dYALm6Zoxvg_8_0"></a><a id="Tc_zys15jz_70aOTuNuQrdEfw_8_2"></a><a id="Tc_GXv8XABUj0CMQWOZdwiFUQ_8_3"></a><a id="Tc_H_ZWwfRzR0-B0sKacCUxoA_8_5"></a><a id="Tc_cFhw_Al_-EyWTG--cqzZEg_8_6"></a><a id="Tc_152dB0JOPEubHzaXESpnXw_8_7"></a><a id="Tc_xvhMOECNjEW0PwdZg1F9Jw_9_0"></a><a id="Tc_O45-ZtGCQUuuvR5kjiD9GA_9_3"></a><a id="Tc_-xROlj7T50KuJQ8n304EnQ_9_5"></a><a id="Tc_GcvKhFAlq061abYalenS6A_9_7"></a><a id="Tc_pQcCI6XKxUqwVwZw2SPNyQ_10_0"></a><a id="Tc_SDIN0RCZiUq33K4HJnChkw_10_3"></a><a id="Tc_g1oBC8zbpUWaRyZ4pUqFLg_10_5"></a><a id="Tc_Mn7nD3glAUGJWqkQf61P_Q_10_6"></a><a id="Tc_CAlJQV5mM06t8uSJAuCPQg_10_7"></a><a id="Tc_F34dEOrNZEi7xEda5q0C8g_11_3"></a><a id="Tc_rssGUd9CxEiIrE_0YYnv5g_11_5"></a><a id="Tc_N4qF-s68uEWBKTQ_YH6NAg_11_7"></a><a id="Tc_XR5qhYE9dEysGbQKgAnZyw_1_2"></a><a id="Tc_pzJWsdFpZkeG0cacqyed_Q_2_2"></a><a id="Tc_MS-T1AkG80qInHO7fHytUA_2_4"></a><a id="Tc_TIGR0pcyb0G09r1i8uoZtQ_2_6"></a><a id="Tc_T-JVjPDEyUyPlP_VMYogPA_3_2"></a><a id="Tc_N3IqxVpDP0u0m0Vwofx2Uw_4_0"></a><a id="Tc_EzkV69TCeU2fT2kbWJzGfQ_5_0"></a><a id="Tc_BuuStDlFuUqjLfjGT_1JJQ_6_0"></a><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont2" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company&#8217;s PRC subsidiaries, such as CSI New Energy Holding Co., Ltd. and Canadian Solar Manufacturing (Luoyang) Inc., were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. and Changshu Tlian Co., Ltd are HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_3hmSNvsvpkqR-t9VpwiFdA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_t6n9tZ_GiE21ZMz6-OhsWw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_OqP3OGzf_kSs3SJoJZfpTA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_RXnhEagutkedHw9uwLkGCA"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IHfLCa6rgkyNcek4wPMrBw" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_Bv_OkQIrV0qXdQedNQad9Q">16.5</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and equity in earnings of affiliates and the actual provision and benefit for income taxes is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_SVBCNZh2n0KGTiJJ1DZCMw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_2EeAeLXyFkmlYmq_ZTrHYA_3_2">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_a8Gba-LHskiEp-l_BHUyww_3_4">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_PZsONqBZTEKjf2vx2N2kCw_3_6">27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" scale="-2" id="Tc_gK53rDPeI0Or-nrQal1s0Q_4_2">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" scale="-2" id="Tc_vv5jFEa_A0Sxd6UWp5gudA_4_4">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_SpoXAZqLqEOEI3dZmgEnZw_4_6">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_27z6F-zDmEy_Zwlr2I35pA_5_2">6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_UxTwovDE50iVVkQEVtZ6kQ_5_4">9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_Iu8kz3H8h0GrnbzH7WlAFw_5_6">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_C-ZsiN9O0ESrgDlfFB7Z9g_6_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_erKA4etWsEiNzCK9Ijwbkg_6_4">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_CXyRFp2dp0-fO4khOymz9g_6_6">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" sign="-" scale="-2" id="Tc_peTPbO8M3kWPvpVIOqXF8A_7_2">13</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" scale="-2" id="Tc_7wyEpL2IEk-sdcBLbP7N2A_7_4">4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" sign="-" scale="-2" id="Tc_Up0fLbufB0izMs5Hg2wCng_7_6">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" sign="-" scale="-2" id="Tc_FY9d3Qm6eUamBzmtHFM0pg_8_4">5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_IsXyjgQqSkiVss5B8ifN1Q_9_2">14</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_HxiFH2GRTUS0JxN9QGxymA_9_4">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_JMkYW0s_pki7qGVKaPrUbw_9_6">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" id="Tc_WqebRfXlbU-dCSSfWNIWSg_10_2">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_FdXxbWtT-kSth-HDBtOWWw_10_4">7</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" sign="-" scale="-2" id="Tc_NLRUWxqmpUS6hliw2p73JA_11_2">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_6ocOFwCrN0aVfoS0s9y0Mw_11_4">26</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_X-FpTWNhUkq6Ooybk5srDA_11_6">21</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The aggregate amount and per share effect of tax holiday are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:SummaryOfIncomeTaxHolidayTextBlock" id="Tb_BThLw_-MmEuDs2nmOQ3e-A" continuedAt="Tb_BThLw_-MmEuDs2nmOQ3e-A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of U.S.&#160;Dollars,&#160;except per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_tVTLzQIqt0m_of6AjSy3kw_4_2">1,287</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_V7ezR6qFVkuu8HEzdPIdXA_4_4">4,466</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_9-lzLZoHgkymhDaFM2njRQ_4_6">2,520</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_10DRDA4gsEusDFJpnuK0Sw_5_2">0.02</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_uVbThKPKgEyA6XxNF9b0-Q_5_4">0.07</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_Ovi8hRwcTkaXrfGhnaNitA_5_6">0.04</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_bo-yIi8TNEmP1IgRa1HeYA_6_2">0.02</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_B4Uq9ylvQE21OiWBrswiYQ_6_4">0.07</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_ywteMFGiu0OcWdQNaOY0qQ_6_6">0.04</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_vwEop1ZMiEq1i0bfa1_86g_1_2"></a><a id="Tc_xLUCwh8aGEiU0Yg_BF7d4g_1_4"></a><a id="Tc_erA8WyfYUki9msW6owYP2g_2_2"></a><a id="Tc_AanHu6XP70O3Or0D0d5BdA_2_4"></a><a id="Tc_9cqELcIu9EifiDXiFOkg8w_3_2"></a><a id="Tc_LzD-8b7OcUmd_wMNVSTCXA_3_4"></a><a id="Tc__ROlQj8bmEKr8dqXzcdZHg_4_0"></a><a id="Tc_YwmSFJIm1kqdiiLcR-Cxxg_5_0"></a><a id="Tc_6GhBIIZuNUqB8l-2lKQaAQ_6_0"></a><a id="Tc_SgQdCDWPCEml-OmRW8sk7w_7_0"></a><a id="Tc_0qx9GwBlh0uxiHEK__TH-g_8_0"></a><a id="Tc_zQRZe9SGbU-b8ELfBuFkPw_9_0"></a><a id="Tc_96Dvxm4Uo0ql5OXx9djpLQ_10_0"></a><a id="Tc_1RsgvgGi30KM_TMRc2ORaA_11_0"></a><a id="Tc__OJjhTNMV0mQBfHi53I64A_12_0"></a><a id="Tc_f7veM0qWE0OX5YS69iXwKg_13_0"></a><a id="Tc_wwAizLiJE0mr-cDwTzF0uA_14_0"></a><a id="Tc_Ep2AlVINI0-iarSVKR2BCw_15_0"></a><a id="Tc_yxSDrUoBOUOoB8cUjkHzLA_16_0"></a><a id="Tc_qpNv26Lbgk2koSgSXmrAig_17_0"></a><a id="Tc_uRGNf296GES3t8ehZlVn3A_18_0"></a><a id="Tc_Ovt00Y_QAUigV5xqqrNFSg_20_0"></a><a id="Tc_YSH5k-Vjn0OJSBmWWruJvw_21_0"></a><a id="Tc_PG5cnU2oVkOeSPs7leJ3pQ_22_0"></a><a id="Tc_ykHHEA4_vkuhevAuT7YkQg_23_0"></a><a id="Tc_rvgnLm9JC0ilSSGZPel7ow_24_0"></a><a id="Tc_tgzdjYYpzUq1znE2AuwApg_25_0"></a><a id="Tc_DIcttxJuIkeG8pDZyxBO6w_26_0"></a><a id="Tc_j0f651O6Ukqnlx7cAPEEkA_27_0"></a><a id="Tc_SfSPAEWYQ0SIa8ZM87DEnA_28_0"></a><a id="Tc_RBHJ3f_d6U-BNqAKh78wGw_29_0"></a><a id="Tc_Ixzz81qdbki__W2OKrYfAA_30_0"></a><a id="Tc_TH_VKQq-KEKPaBtycR9s0Q_31_0"></a><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont3" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont4"><ix:continuation id="Tb_BThLw_-MmEuDs2nmOQ3e-A_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_EXmzoW4sOkWABnAiFNAlBQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_i-BdQmWAYkG0LUxz_eEXIw_5_2">14,942</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_64V6SPIOVUSLQkXtjhqi_Q_5_4">17,318</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_3hzbGV7nck2HSrOpQJBtXg_6_2">12,175</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_C5G4ZUhiUEa-YOajdlMJfQ_6_4">11,772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_2ZkdmoSHDEGJBzTdWIuKAA_7_2">1,404</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_lNCOKblMhUu5r2uPp1-_uQ_7_4">1,235</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_ll5_JHIAt0eNRVPvVwwKww_8_2">24,910</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_-zUD2TwaSkqixkOTuRXdmw_8_4">32,351</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_pN8t_G-jnUuyBXaYIZm3ew_9_2">24,561</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_wdc05RJHnEu-If8rNcXw5A_9_4">36,332</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping and countervailing duty deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc__PzIKjbdwE6Xl1Ko3_DbUg_10_2">39</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_6xAOiRSlC0yqiVW_z3uFPw_10_4">40</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_mw-Y3RpPCEGa0SYMbgn-AQ_11_2">39,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_uKbSSyoLg0aDApR2BCZnMA_11_4">28,723</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_Y_XOlAflr0Gyghkj0YcCDg_12_2">110,012</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_yDC7G1-htkKVZ_1Xlhf_fQ_12_4">79,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_S2rQN71WaUG2s5aP8x50dA_13_2">491</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_R3V5f0APxk2MDYwI_zXj8Q_13_4">2,677</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_zOx0XsvcykSurL_yjq0YaQ_14_2">10,800</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_GFf6LxUCPkWP0NbYbdDRWQ_14_4">14,031</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_d9SqcmEsg06GZCyNqyNqBg_15_2">47,690</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_DOklwalu20OqFW4ru5dIXA_15_4">48,761</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_Uldikg21j0aOZeSD49_yyg_16_2">286,494</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_En1w_a3-bk65WDUEVGyfwA_16_4">272,714</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_yWQ7cRz_80iiYWFWjroXRQ_17_2">45,682</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_g3E2oc4r5UuRDhFSczjAIA_17_4">43,488</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_CRDUjUdj5kSD8Kmt60OAzg_18_2">240,812</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_CPGR4h37kUanP1f3NAUvZg_18_4">229,226</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_WUslj1NvyUS8RQ2n3SfTzQ_21_2">2,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_LRSxxxTJi0uu652Fp30dGg_21_4">2,899</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_Gnfz-cZuukO6_9IUDTQcHw_22_2">27,776</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_cfBCBceKSEmZqeFfbWDXkg_22_4">34,914</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_YOLIR55q0EuUYJkDe3Kv9g_23_2">32</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_ChZO-WnWqU-k86M3ho0vAA_23_4">55</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_Tcad7YDsi0ODVyZpbHB-9g_24_2">3,452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_vhnWalXDHkexukNwe6Ma7g_24_4">3,906</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_pkbQOptNREm68U9EYgxuAA_25_2">19,046</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_ehBPk4-Usk-BmyWvw6eKyg_25_4">24,856</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_K_EnKr5tkUG85IRcBj6kkA_26_2">52,459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_PisCmlaO206yWa7sWNGksg_26_4">66,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc__dHS-70A0EGbzyrvoyhsjA_27_2">188,353</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_VTkyqUJmsEubOJI1CC3MkQ_27_4">162,596</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_9x3zrj3bsE-l8iaibgZqXw_29_2">236,503</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_GpYrNBeRskWMprJOmQupsA_29_4">229,226</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_pHM5OWG89UyyhzMGSjRM8Q_30_2">48,150</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_ye4TIt6fHUOhZIzXYyyZTw_30_4">66,630</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_Ehb3pVTeqEG-Z3SpyS-cjQ_31_2">188,353</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc__uUcwyQ0Xk2FM6Q0HBwxvw_31_4">162,596</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_jWL91T7Y4keNBcf3JBV4HA_1_2"></a><a id="Tc_NuMHxp0lN063_UqA0f5WCA_2_2"></a><a id="Tc_30mZQV0vw0mqgthos3E-zw_2_4"></a><a id="Tc_P-9ZUpGItk2BMb_YyAHamA_2_6"></a><a id="Tc_ty4297Ka9U6uaSjjUIRfTw_3_2"></a><a id="Tc_f9Ce2MLyAEiIFUfgBErE-w_3_4"></a><a id="Tc_wiLgzx4HikWkLKjLvFfyIA_3_6"></a><a id="Tc_qfP-iM-AKEa3f0OiFzzo2w_4_0"></a><a id="Tc_DlX6-1q8V0u62gIXZhHSyA_5_0"></a><a id="Tc_5uWqZfX94U2OaB-dKXhf6w_6_0"></a><a id="Tc_KCqUjQd1IEmUaI5zB79dmw_7_0"></a><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont4" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_LqLe7VfRS0O5qXOfjuAxYA">5</ix:nonFraction>% or <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_SJBRZycG4UKK5klpoGfx5w">10</ix:nonFraction>% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2022, all of the undistributed earnings of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_cQKl53YyV0mmLltkfxLfLA">592,731</ix:nonFraction> attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="0" format="ixt-sec:numwordsen" name="csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" scale="0" id="Narr_uie9Jxn_Ukuemg5iPdaI5Q">no</ix:nonFraction> provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_eiUkKIjD9UOw8r1WHb6B5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_ZVp5N7efHEisO6_GpeLlmA">29,637</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_7G0_JGnh-0SfZs21snCvTg">59,273</ix:nonFraction>, depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:PreferentialWithholdingTaxRate" scale="-2" id="Narr_4c4fmkVAYUqTFYu2qqqzPw">5</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Tb_H1Zm1gtK6U6hTSIFmx1QjQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_d-XyZ4FfWEaqOe3j_wop-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_YxO9AwqkIE-o0tdiIRrVvQ_4_2">70,627</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_SF16v5DsnUuFeovy715NEA_4_4">50,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc__Y2TT4ke_EGgPSNcBuAQPQ_4_6">45,682</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reversals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_fxh4HRSUnUumf5ihe1Ej-g_5_2">21,585</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_wKIZ9cYQ6EqUz2mo832Vjw_5_4">4,671</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_rwWsmeS-r0aMMr4H_VudGw_5_6">1,531</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_8B1lBgoJK06BLs8lva4MUg_6_2">1,076</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_Dq9AKqx32k65aS4Z21lNOw_6_4">235</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_zkyRbh5i_UWTWGMk9w5d0A_6_6">663</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_E1iP0MQB8Eu6CZr1nufXMQ_7_2">50,118</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_72RjStJYSEyDwGie_AITBw_7_4">45,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_2WiNquh9okmYRbJvT3zzxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_fdcF-jnCZ0CaWlCqhYlXeA_7_6">43,488</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company has accumulated net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="3" id="Narr_EvsGyuwzzkOfYhKgV_8naw">579,862</ix:nonFraction> of which $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLossCarryforwardsSubjectToExpiration" scale="3" id="Narr_PousCFMlTk6TrnZyF3fLeA">338,692</ix:nonFraction> will expire between 2023 and 2042, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_cSXSueC8GEi29ec_Ova13w_1_2"></a><a id="Tc_s04rQWULz0y4zg68CKOiAA_2_2"></a><a id="Tc_Gog9ZsHeO0Sc9kudDC1qGA_2_4"></a><a id="Tc_OsYY6lHuHk-TLlmaGgJauw_2_6"></a><a id="Tc_r5bKfnts10O4jraLWG-MHw_3_2"></a><a id="Tc_R4yVFkKR1Ea_4Cxe4sKiGQ_3_4"></a><a id="Tc_hmjTEiVOGUWRMP9c60YPJw_3_6"></a><a id="Tc_OztNi2jmfk6FyZM9-uaqsw_4_0"></a><a id="Tc_TNqEMGB2Uk-whgn-lFKQrQ_5_0"></a><a id="Tc_80T2H2OGP0K8vIRwoYlh4g_6_0"></a><a id="Tc_kGFUQXbkmUq-Hqad0QjEJQ_7_0"></a><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont5" continuedAt="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_GFq_sfVHwEyMW7YePZQm7Q">45,682</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_ON7mqvis1kGRSdcLD6TUjA">43,488</ix:nonFraction> as at December 31, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2021 and 2022 was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_8jziEZU97kSZY-pERUmWVQ">1,585</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_wvFtjldiMUeRZz0IXqTvnw">961</ix:nonFraction>, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table illustrates the movement and balance of the Company&#8217;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2020, 2021 and 2022, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_dkZxjtN2cUiJzz68wDGecQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_4tIoCl-x-06hRkzQOBFztA_4_2">10,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_p1tmT_WyxU6WJ9RAXCCbnQ_4_4">9,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_J_03CL4jcEKWJpFs95NzAQ_4_6">5,863</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc__0onHizAiUOq-tYCDiP7gQ_5_2">1,011</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrecognizedTaxStatueOfLimitationsExpirations" sign="-" scale="3" id="Tc_wAkDFg_mN0WeoGJj4CYpEw_5_4">3,763</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_-VW93YgrOUisho8ezvfkRQ_5_6">678</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_Kp01XRPVs0Wrz6zH5Gm-cA_6_2">82</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_8DZRTpPFbEi1B4cMwm1nhw_6_4">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_f2vvYHHBnEm3RyVVtDMqDg_6_6">415</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_9Se2TNLsPU6NWsKYuGb-4A_7_2">9,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_cFd98wSY4EioTFIl6o8fGA_7_4">5,863</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_jpY00NHXokuXHyRcS-Y6lA_7_6">4,770</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#8217;s taxation years from 2016 to 2022 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company&#8217;s income tax returns for 2017 through 2022 remain open to examination by the U.S. tax authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#8217;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2017 retrospectively, and on transfer pricing matters for taxation years up to 2012 retrospectively. There is no statute of limitations in case of tax evasion in PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_pF8bfC5mDkmO2QXu8h8d1g_cont6"></ix:continuation><a id="Tc_HOuI9N3pIkacEke0-Ps--g_1_2"></a><a id="Tc_uhfY6T3l2kOCRqGhX5-Agg_2_2"></a><a id="Tc_FzpE_Gyx2EqQKsZrIK3-cQ_2_5"></a><a id="Tc_K4zumhM0zEy3xF2kfhgMxg_2_8"></a><a id="Tc_Jmx1jXvDrkCWySW_WsC7iQ_3_2"></a><a id="Tc_9CWFaGG_cU26XlGS0Xuc3Q_4_0"></a><a id="Tc_pST3g038ikuGOEzngQVn_Q_5_0"></a><a id="Tc_LFMN5rzC80uBgepkzY4YHA_5_2"></a><a id="Tc_aYBmsix0IU-tusREK5RitQ_5_5"></a><a id="Tc_kZ2opx-9NUK27mSSlKUs7w_5_8"></a><a id="Tc__kASH4D_C0u-Bw1wrsu4OA_6_0"></a><a id="Tc_1S4vAV3dVEKR49OgUPejqA_7_0"></a><a id="Tc_Ipn-4SAYxEytXu2pGLVzGw_7_2"></a><a id="Tc__TW0gNgTWkqIHbVlmV2UtA_7_5"></a><a id="Tc_LarTqtbxZ0yQQe4A8h5OSQ_7_8"></a><a id="Tc_-YcDpHZM4kCX4-m09Yl_9A_8_0"></a><a id="Tc_w-UGiDjGeUGlcKQMAHTRQA_9_0"></a><a id="Tc_SEKuLm9ER0uvSNTNcM-T_A_10_0"></a><a id="Tc_SfCB7YeGg0e_TI8a2gJFZg_11_0"></a><a id="Tc_rvJTBof7L0OPGnX9Uxj4Ug_12_0"></a><a id="Tc_6emVqO70PUetgUuAwzmnAw_13_0"></a><a id="Tc_rQnZ5GplZ0udcROS8v14uA_13_2"></a><a id="Tc_fKoYtnOunUueDe2gd7a31Q_13_5"></a><a id="Tc_rrheaCYLlEOGXMk7925EUA_13_8"></a><a id="Tc_25QvfMH4306FgaNuHRM-Ig_14_0"></a><a id="Tc_ifjE_hRN3U2-ljsjieCy1g_14_2"></a><a id="Tc_3IrVkQmbSUCjVLb0m75gEw_14_5"></a><a id="Tc_MQBSO2YhW0eCmw2O2Tx__g_14_8"></a><a id="Tc_GLaMMvOP_USb3Za8wqX0aw_1_2"></a><a id="Tc_mvTwU9RnuEWwbAoLx4YPLQ_2_2"></a><a id="Tc_cicrhmbWh0WOTnyvgALMuQ_2_4"></a><a id="Tc_Glbk4GGUVECAlQdNL7iSLw_2_6"></a><a id="Tc_LzJ1BJmQokKG2BGq8HfW3w_3_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:EarningsPerShareTextBlock" id="Tb_a8x3HFSaoEazJurSjjtlSQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_0TAD_cx0YECsd2R10K_Zvg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_PeF-WaaZKkO0TD_Kmq2www_5_3">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_D0rE_jDyvUOgthw48snzJQ_5_6">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_K8ySM2br50qr5sEh_nT2aA_5_9">239,968</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_OE0D8frWIUiMLkuYXrmMJg_6_3">1,518</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_Gp_CGc4-8EqQtKFsFmkXtA_6_6">5,300</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_mGG1G_vXJU-LIO6pkNme5Q_6_9">5,183</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_eYArL3WbWE6HDvWjPT1z1A_7_3">148,221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_SSbxC3BVbEiMM_8IDBLU2w_7_6">100,548</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_tyhYYcZ8S0i7IITtl4CVjg_7_9">245,151</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_kX8-ZmWaoUqtcnQc5d6hRw_9_3">59,575,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc__MFnVuua_0OqNBmFIVBraQ_9_6">61,614,391</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_uyw68BZs-Uiq179aWO9qMw_9_9">64,324,558</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_5oWhhg0BoUmB5V2zFekCTA_10_3">897,258</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_E9ux-hnPyUmqN2n3v9SHdw_10_6">985,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_AFujqj6cakWHQcMoUxS0RA_10_9">586,420</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_7vlANe9r80iNuMARmEALvQ_11_3">1,833,663</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_feaNCaxgdUe-vSe0EkMg6w_11_6">6,272,157</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_6tMHFFPCm02gcaodcsYmIA_11_9">6,272,157</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_hJRIpptvC0mzj4ziUV2Rpw_12_3">62,306,819</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_XcGSCMqenUeOoLE9clMBYg_12_6">68,872,102</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_ruvlHQqA9kS3AhO9Nm4s_w_12_9">71,183,135</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_2G4hHKw8lUW-y4zNZtsZJQ_13_3">2.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_nwre4fSfUkCiv-2hT_UcAg_13_6">1.55</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_DXXewyE46UC17KxRMdw5HA_13_9">3.73</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_m0TPjKhOYkS7RM7zB_Axng_14_3">2.38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_E3n084BR-EOusELmbx8Llw_14_6">1.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_oZWJnvdBVkmoSZzJVD2MMQ_14_9">3.44</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="Tb_4kHBZDtCckuC1lZRDP08eA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_20uKseaLHUOj57uBLPyzOA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_7f1hwPZOWUCHUVkJUs61OQ_3_2">187,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_ZYo8x2HaUEWycOJBxmRXqg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_YR51s24-YUWx2xpvPiBSIg_3_4">3,877</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_EbI2hZLSmk-cLW7eJHIYuQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_n7y3GXO1XEKnA6gBBHzF4A_3_6">9,295</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Narr_xQX74euzXkeBZowvNkDKnw"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Tb_GkoZM-eJOUSN9yz2xyryJw" continuedAt="Tb_GkoZM-eJOUSN9yz2xyryJw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties, current of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr__yIZUkS1Yk-Jf3tmh5_6hw">48,614</ix:nonFraction> and amount due from related parties, non-current of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesNoncurrent" scale="3" id="Narr_-7aW_pNCJ0Ko4If3yeJ05Q">33,489</ix:nonFraction> as of December 31, 2022 primarily consists of shareholder loans of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_SHRHbmlUVEOFGzs9zxkjGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_cbY0HPXm3EmFHMml9i3jwA">52,424</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_a0Hr63KJ70yOtkBh9FbWBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_ep38YtVR3UOPuOO-4Cdl3g">29,613</ix:nonFraction>, respectively, to Horus and Recursos, each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_xfB3zunXMkaPrFa7Uu1FMQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_FTD_WNzPlEOAjlemvS970A">49</ix:nonFraction>% owned affiliates in Mexico with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_KoreanInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_lTNxmIcDc0eLo7Io5oetDw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_sviADPw_9EylRvSaVe9d8Q">51</ix:nonFraction>% ownership by a Korean investor. No amount was due as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due to related parties as of December 31, 2022 was not material. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Guarantees and loans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" id="Narr_p-4xf7UzgU2KH4oLzVf1Og">135,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_G0mtBxOqrkeqpe3nvStbsA">20,648</ix:nonFraction>) in 2020, and from a Chinese bank of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_uYmD6W0sc0yNla9F2EzAvQ">12,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_beDchR3J6E2dlKrU7nM90A">1,882</ix:nonFraction>) in 2021, respectively. No amount was drawn down under the facilities as of December 31, 2020 and 2021. Dr. Shawn did not guarantee loan facilities of the Company in 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_Ipx2-GFfUkOTkm9JI0qMYA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_8UUleYF9sEmgveRdEPNiTA">26,073</ix:nonFraction> restricted share units to Dr. Shawn Qu in 2020 on account of his having guaranteed these loan facilities. No grants were made in 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, 2021 and 2022, the Company provided asset management service to CSIF, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_QV8Av3TPF0GSmKv_p36oSQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_Isc6ZHzFzEueL6i289kwEw"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_kfz6Uwf0RU--Y70gGEJqjw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_levAw6dhXk2JZuRiUlq2fQ">14.64</ix:nonFraction></ix:nonFraction></ix:nonFraction>% owned affiliate in Japan, in the amount JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_EvVyzkhV2kSPbwWhSSCnVQ">394,506</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_PVmKxUawC0WWkrkp6U2cjw">3,723</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_A8CeoydvpkGXaPFlyvRKAg">829,053</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_yEC9no259EyE_i1Q3QkUxg">7,541</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_Fio0r0Sf7024Nb1PaIG__w">545,131</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_7QnbXOpldkWoNYDf8GiDUw">4,180</ix:nonFraction>), respectively, and provided O&amp;M service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_PjRpLukxNEqIZRuynFxsUg">805,021</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_9oxM42QVF0W4YWPe4BJb-Q">7,564</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_POahQOfVj06oBDmLZRthCQ">981,161</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_-fMTI3I2E0KEA6sRy1wP2w">9,195</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_ti9AvrFAaEO0ujTGQgu4Wg">914,933</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_EPIjsGAdW0qxVZugn3QV2g">7,036</ix:nonFraction>), respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_GkoZM-eJOUSN9yz2xyryJw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Sales and purchase contracts with affiliates (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_ZT82sVZueEa9A0oFsTfIXw">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_1LvL-xv2mkeNujMCoY0EMg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_pS-Go_5FLU2fFAyjeOmIPg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_E9dxFmm4mk6CcAVSLrPgVw">80</ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_F64psLsCzEaZWSeLWzE_zQ">119</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_POJnSR6JWES4-o9LvTUTEQ">119</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Tv5qmmLAw0KgCwus4_x_Ww">119</ix:nonFraction>, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_xZkfM4_9xEWPTFx94W3T8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_8izOSBGoK0ajo6gRgqNXeA">105</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_5ssGvNdPnUKZYZHXTOSfRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_HOd-vNgyg0idVd4G93DByg">105</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_DJTXy6CEG0-AV8ylCKc3vA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_XlzmkU12z0GtEO8JuvEHQw">114</ix:nonFraction>, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_WmVo7rnnuEGrQal9Fflqnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_34WKDtRurE6ZO4eZF39HNw">11,636</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_oEjbBL6pUUqYnCNIJL8JRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_FBwk4qHJIEi5cI8wO5B49w">9,996</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_AlTpeR0QcEq-rYzxFaeTew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Ycdve1Pim0-BrIMCW7cqug">9,403</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_hYdjs1XZ7EuhqXF_bRpQDg">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_rX8mKLfInEixfE-FxeSSeA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_lRXaAHW03E6vCsPZ9oMrLg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_bGpEV0cUGkuzy1wXVo8aGA">80</ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_JPT8HT0J70Kfw2l1f1iqnw">220</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_KMctx6L0iECRmuhUZdnCGA">211</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_CezzD8X5wE2-gIHcSfy6tQ"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_K8O8fbDI-kGkEfa1-R9WOg">211</ix:nonFraction></ix:nonFraction>, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_HoOv4RGZi0mjOf3trJYklA"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_kViIrHLeL0Six90Kto6ltw">7,170</ix:nonFraction></ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_y6BjtAg6XUqRy5GUtwO_3g"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_CQJm8987l0KKx05cNaqGyw">7,592</ix:nonFraction></ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_0dZ5Ua4ALUOBrU-YlwSSxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_L7lqMAcNGkWXz0WB4sQwoA">8,121</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Lavras I Solar Renewable Energy S.A, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_5VcZyKC2_UWhngWC4ALHSg">20</ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_yJYUgzEmBk2q1iyKRh7Hww">80</ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_rHsRJ91mEECIrcPYyxWsOg">202</ix:nonFraction>. In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_fmvZ_PmLi0OxJ0atqwt6Gw">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_MMEOmfiFiUGvrWM6wp5wpQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_kyTZTIb-nEa-mkyLsy99lQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> <span style="-sec-ix-hidden:Hidden_5FFKGbxPDkGKxFAQFeG8RQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in</span></span> <span style="-sec-ix-hidden:Hidden_ZKUChQhi4EmS0C1BedBjBg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Brazil</span></span> with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_FBkloCxJnE6g6BPoNXwe4w">80</ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_v7WEo1P_R0-kW2bWFCjRTg"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_KveWnFkxQUKiS0IZbnQXDg">5,707</ix:nonFraction></ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_vb9x4YTqk06ZvDYxEahCLQ">5,842</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_8Z7qEBYDsEiFjkbswXqiKA"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_LHigv-SRr0eg3WUfWgIsSQ">6,049</ix:nonFraction></ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_4bmu8HMc8UCDW4bLKLrRnA">6,233</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_YJ0wts4eOEGFm9XnMb8lZg">6,233</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. and Sonoran West Solar Holdings 2, LLC, each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_HxkmXNPaB06-TDrRH-3sMQ">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_FaLdBc66G0qw20KSBvX4wA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_PAUKuvclakqwXFFUNtLlUQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in the United States held through RE Crimson Holdings LLC with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_-t5FdDb6hkufSVqLNzUirg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_h6yylajYUkum_XusY70HXA">80</ix:nonFraction>% ownership by a Canadian infrastructure fund, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_1COzDcLTbUGt4QX6GrMhAA">207,728</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_McvVAybfPE6Mg9bm4lYgrw">159,655</ix:nonFraction>, respectively. In 2021, the Company provided battery storage solutions to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_3U4mSeGtfECB7Kx_FmhROQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr__CgVncBxpUqjY7sE2P_gmg">12,822</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_O0LHsPjmXEqP55phlirSbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_lpIUMKUYKEWpJjhbIEKIsQ">6,955</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021 and 2022, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_FzcQieBIp0aK8rpQVIZ-wQ">10.91</ix:nonFraction>% owned affiliate with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_OpQOpHK-gUmgpUUXcRGtoA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_zYShZ87oGEuCorZBu7GIeA"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_FdRhjalZHkCkviXRSKPc3g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_SCwvEt2DNkOvFxr_OtpR8w">89.09</ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_5MZDxk3Sckajcsd0XZbagQ">10,831</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_j9SzBNo00kWqkSoQsnip-A">1,688</ix:nonFraction>) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_rug8dtE2FE6Z3hzPXhaaEg">34,772</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_aRqiptlze0GE5GbOQJUqww">5,192</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable Energy S.A., each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_hZ-noNvNFUuz1HynYx_v_A">20</ix:nonFraction>% <span style="-sec-ix-hidden:Hidden_M6CBjTP4X0SQ9Wbj1KLxcA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_a2e5dw9jGkaHi-Y-vsnysw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_hASr3WyBxEGIBKoykKZgAA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_fTlv_Emtj0STCnPwa6YNXw">80</ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_Q8KLYzYkMk6zr_VftQnA1g"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_APswTh2QfU67Df9ay32KkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_xzeQAC2gtkKbchqU1uFfLw">834</ix:nonFraction></ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_jM4CmQ6MT0Wj0ztUMxMHow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_xhJGKvAmYUiYWOk_ZBd9NQ">3,210</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_tPVy_sLvDkmW2mKly_sR4g">3,046</ix:nonFraction>, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_I6frUTDhTE2ONJbMuU5_BQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_2wQHjvAPkEKeXUik7e0bFA">5,971</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_d42fvhXtQEGQW3D25Eu7pQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_vPwxkEmAKEG8oIcdoS4rzg">3,696</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ewW64LBAdEm1FIjILJF9fA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_tdIwnFMfK02EWPygb4g05A">1,372</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_zecCTNAG0US_Tq4x_EdWHw">two</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_Mdm_buufukajHtSp2byhyA">two</ix:nonFraction> solar power projects to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_quBkeSHekUWyWy9nmnVB3Q">888,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_iQ_pgVyK80iwaQofLlWxCA">8,392</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_aZwEWoN9RkqcywNHcqrzJA">30,601,181</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_gFcECf6H_0-lqbSsmszodA">282,133</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_leAqV__VD0SvyCMrJAnaeQ"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_gXVATjVfjUOox9qCfMyFCQ">10.91</ix:nonFraction></ix:nonFraction>% owned affiliate with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_I0j2SShHx0uoZQu87nlOSg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_uYCXQvkIxkuTU0nV6sua4g"><ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZV78sFpvKUm2pQmA3NhOZA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_1CQ4QS8YzEWsSV4fdMt-7w">89.09</ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_8kYCL9TfykilLbd8fa6vLw">31,388</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_Oa2tM18y1kC5IuMUVXD26w">4,545</ix:nonFraction>) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_3tcgoqBIC0uc-ahSG_GXGg">19,378</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_qrbrtGhba0mYfFvRF1_EMg">2,995</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_FdZv7LiWSk6IDIajMoUV5w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_Ssh-gMVMOUGnlatBKrA3Jw">20</ix:nonFraction>% owned affiliate in Brazil, in the amount of BRL<ix:nonFraction unitRef="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_CrHZxQUuGk-I5t2lX6zGsA">5,061</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_ZwGPVih9yUKJcmbuM0ZRRA">974</ix:nonFraction>).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. for cash and exchange of shares with an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_ichk0Ehim0qRWub1Sm_Euw">168,032</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_1_WUcAJFxUWpa1HK_cKvBw">24,301</ix:nonFraction>) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. for cash to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA" contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_lOrVLCtxiUWZAsMQkIokbQ">7,381</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_85zafGeICEG85gOzdMptfw">1,048</ix:nonFraction>) from this former affiliate.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_YYkEli8HqkiJCJTOT9V8hw_1_0"></a><a id="Tc_ChNyUdR5r0q1hrjyKbIkXA_1_2"></a><a id="Tc_UycHsge5OEK1UoR2lIeXKQ_2_0"></a><a id="Tc_xbQOZtATFkCLs75tsH-9pg_3_0"></a><a id="Tc_p02xZOWIvUatQHEd_5U03A_4_0"></a><a id="Tc_OTdkV9LrU0WcwMG-5Kd0Gg_5_0"></a><a id="Tc_sGXwRXjeL0a0FeWRAcqr6w_1_0"></a><a id="Tc_WwgwuZhmakeeVpBqN_38ig_1_2"></a><a id="Tc_UVqS0gpIHEe2wkoWNhW-8g_2_0"></a><a id="Tc_id33_UQuj0GS_h2JGegjBg_3_0"></a><a id="Tc_BArU7fH2SEmXgDBEYsIjrg_4_0"></a><a id="Tc_NSLEzGJ-q0qUYXUTWjY25Q_5_0"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_SYPUmo774EqIyHD1mWjoEw" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, the commitments for the purchase of property, plant and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="3" id="Narr_04oD-wMY8kmD-sDYEpVygA">300,294</ix:nonFraction>, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_icFn52kMYkygm9PDdk3vxw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_UhisZFGG0k-HNfaGFrfcQg_2_2">267,766</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_I_BJL6FXl02he2GLGFuG2Q_3_2">32,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInThirdYear" scale="3" id="Tc_i2eR26cEfkCmtmZ0W6worQ_4_2">53</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_Dwyhw6ikD0GkrziyfJxIeA_5_2">300,294</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Solar power system commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, the commitments related to construction EPC and other services of the Company&#8217;s solar power systems were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="3" id="Narr__XJkQPx1dEWxaro_5NPpGQ">56,124</ix:nonFraction>, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_1alzlsuVgkyAvc5SUAQ4VA" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_K6dZX8hyh0S1zbtfB_dQWQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_VOJA2DHmykeKZkEDqtctuQ_2_2">50,617</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_2wjZU5JJgUag7hyVWwR0Rw_3_2">5,245</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInThirdYear" scale="3" id="Tc_D_Z8_UXtOUKhztKlrcRQUQ_4_2">262</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_hQ0Z88dY0EeYaMtVBfCuwA_5_2">56,124</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">On October 17, 2012, the United States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November 30, 2012, the U.S. International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S. CSPV industry. The USITC&#8217;s determination was subsequently affirmed by the U.S. Court of International Trade, or CIT, and the U.S. Court of Appeals for the Federal Circuit, or Federal Circuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">As a result of these determinations, the Company was required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to the Company were <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_uAdghlqRnU2jgZaBUcriyw">13.94</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-d_EIbMpIkyqv8WKuy23eQ">15.24</ix:nonFraction>% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#8217;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_cp_text_1_3021"></a><a id="_cp_text_1_3023"></a><a id="_cp_text_1_3025"></a><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont1" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2015. As a result of these decisions, the duty rates applicable to the Company were revised to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_bCQyHNvLg0Cagtllbq9UXg">9.67</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_dTEm7dW4UkKW43FMH2KIoA">20.94</ix:nonFraction>% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s countervailing duty rates, and no change was made to the Company&#8217;s countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#8217;s antidumping duty rates, and no change was made to the Company&#8217;s antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_mIIbiPzAJEOS4L1qghDkvw">8.52</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_gOswKMT-N06kI6-UNteoBg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_3dd-BEIfikiRfZ5Y1KUg8Q">9.67</ix:nonFraction>%) and then to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_AlG3u5ZZEEiAMLmC2Lu5uQ">3.96</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8lQQH50-u0mLGL0-RZzn1g">8.52</ix:nonFraction>%). Because the Company was not subject to the second administrative review of the countervailing duty order, its countervailing duty rate remained at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_7YbHpBfxdUegYM4oRaB1cw">20.94</ix:nonFraction>%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#8217;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, the Company&#8217;s antidumping duty rate was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_XXAwb-JM00CS3BGxDY5b0w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_4it1MlInQ0qFSy8nm9fPHg">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_SfNbr7JxGUCMHqmarrYBcQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_9KyWYb56KUGuClHic_uPwQ">3.96</ix:nonFraction>%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the third administrative reviews in June 2017 (antidumping duty) and July 2017 (countervailing duty), and later amended in October 2017. As result of these decisions, the duty rates applicable to the Company were changed to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_mueYdo0rDEeEVwNyo9uYmA">13.07</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_b6JEAuRLm0OD__22ykn20w">8.52</ix:nonFraction>%) (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_vxdzwBKEeEGrFsRdNfU_8g">18.16</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_q1Q7wn-t40iNYvv4KxT9BA">20.94</ix:nonFraction>%) (countervailing duty). The assessed rates were appealed to the CIT. The CIT has twice remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to CIT&#8217;s remand orders, the USDOC issued a redetermination. The antidumping duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_3OzjQMtwp0mb2-9oFlASag">4.12</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ZVwl4HaSUky8sXBQFuO80Q">13.07</ix:nonFraction>%) and then further to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_K5nWS2UD6kOkm0e6Acj75A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wxluXhKWe0Sf04kXLVOUpA">3.19</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_5whn8-5mbE6TXxZdN-lPHQ">4.12</ix:nonFraction>%). In June 2020, the CIT issued its third opinion sustaining the USDOC&#8217;s remand redetermination. The Company filed a motion for reconsideration with the CIT advocating for an even lower antidumping duty rate. In September 2020, the CIT granted the Company&#8217;s motion for reconsideration and remanded to USDOC for further consideration of its antidumping duty rate. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, the Company&#8217;s antidumping duty rate was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_5mRtdHnJQkOhVLVAz7ZxbA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ChcDRsdsokWMwAqWG4IFyg">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_E5LdvBnHzUOdIt_tZdkmiA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_bvAQFh6UWUenb7Vg68McWQ">3.19</ix:nonFraction>%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT has likewise twice remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. In August 2020, the CIT sustained USDOC&#8217;s second remand redetermination. As a result, the Company&#8217;s countervailing duty rate was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_keV-2fk26UCJ6VR_3Dmjaw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_UCHWxpNsHke7L3biecHgFw">7.36</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_60KC-5ojnkKzQyWPbZRsMw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr__GRQKXP-qUmm4IY71QArkg">18.16</ix:nonFraction>%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_6xlSQQe380-EO0_JG56iSQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_vtFkBmmABkimkMhge-T26Q">13.07</ix:nonFraction>%. In this review, the countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_BrBpoTy83kaVk5jOe4ai8g">11.59</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_hfMdgokmMU-I20eFBzDcQA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8syy0EHzD06NYC8Y8g3_Vw">18.16</ix:nonFraction>%) for the broader Company and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lb00UMSM-U6cUgxR1RIqjA">10.64</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_MWiY_0I5M0ql4dPWVVOzeQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_reKrR1cHPUiudRDyfXyT2g">18.16</ix:nonFraction>)% for Canadian Solar International Limited. The countervailing duty rates were appealed to the CIT. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT&#8217;s remand orders, the USDOC made a redetermination that reduced the Company&#8217;s countervailing duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Rqcu9FCvOkqAnU0VzyFTMg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Ue7mXNJ_EkK0ldHHh0nIaQ">5.02</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_OTY-WtIXWkCjsPxxQj3xKw">11.59</ix:nonFraction>%) for the broader Company and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_890JymlmJUS6wYrHa62krg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wVpYn08MpEa8Kej3lZ861A">4.22</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_yCDIGtFPzUyP5cP7-CRRmw">10.64</ix:nonFraction> percent) for Canadian Solar International Limited. The Company appealed the CIT decision to the Federal Circuit to contest USDOC&#8217;s continued assessment of a countervailing duty rate related to the alleged electricity subsidy program. In January 2022, the Federal Circuit sustained the CIT&#8217;s decision, and no change was made to the Company&#8217;s countervailing duty rate. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_cp_text_1_3027"></a><a id="_cp_text_1_3029"></a><a id="_cp_text_1_3032"></a><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont2" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fifth administrative reviews in July 2019 (antidumping duty) and August 2019 (countervailing duty). The antidumping duty rate applicable to the Company was lowered to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_t9fcOFxmZU6VNywv-X9d6w">4.06</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_U0nZs7bU-kO3N2xuiXwkDQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_9SD4-Gnms0eL6-YLq-_A4Q">13.07</ix:nonFraction>%). The countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_R30rww_PI0uDn95Iuk_O3w">9.70</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qgEPVq_QEUOeLbGg_531aw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_X2nmL1f_e0qa1t8hWy2tog">11.59</ix:nonFraction>%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but this amendment resulted in no change to the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_8u0QxEvdkkS6nuWrVqtRIw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_6WdoM8btQkifBgzT6J1RHQ">9.70</ix:nonFraction>% rate. The countervailing duty and antidumping duty rates were appealed to the CIT. Pursuant to the CIT&#8217;s remand order in the antidumping appeal, USDOC made a remand redetermination that reduced the Company&#8217;s antidumping duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_dCWeGSoMtEWj5r5dwF7WCA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_HWfh3N5_9EivzzmAb5tBcA">3.30</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_JhYwjIF4N06zD_iQP9GL6w">4.06</ix:nonFraction>%). In May 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT&#8217;s remand order in the countervailing duty appeal, USDOC made a remand redetermination that reduced the Company&#8217;s countervailing duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_SiqScflIfUyL1KjQDOV_yA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_cepB5aGCW0qWHwE0UVeXMg">3.65</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pZV4DSUlZUWgrOzmoTZ5LQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_eZRVVZfwE0ilwIsoGEFhWQ">9.70</ix:nonFraction>%). In May 2022, the CIT sustained USDOC&#8217;s countervailing duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_iLI_N-bjX0W62PuAz3cF8w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8bc1NJ6xbEypP_JYRF-dBQ">68.93</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_rsVium9cu0KP6Sw1w5b4fw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_uph9auIvSEGGWnxAAv63fw">13.07</ix:nonFraction>%). The antidumping duty final results were amended to correct ministerial errors in December 2020 and as a result, the antidumping duty rate applicable to the Company was raised to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_HYHtnoMAjUmaPyjqM6qPSg">95.50</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_hKExpsWhNUCYchcBgZC86w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_TE-vcDe57kWmwD0nrrv1hQ">68.93</ix:nonFraction>%). USDOC assessed a countervailing duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_yFP6vrFlM0mAi4zKo1sIWA">12.67</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_krjK0bY540aTwp10PGRdog" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_jQuipu7PMUOKm2fwbzLLtg">9.70</ix:nonFraction>%). The countervailing duty final results were amended to correct ministerial errors in April 2021 and, as a result, the Company&#8217;s countervailing duty rate was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_jihcmo1b-UuffoOTMe-dcA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_7SgXRllkD0Ce1WurekmLTw">11.97</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_P1puGM6ZA0KH3phXZxnhKw">12.67</ix:nonFraction>%). The antidumping duty rates were appealed to the CIT. The CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT&#39;s remand order, the USDOC made a redetermination that reduced the Company&#39;s antidumping duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_GWImWJUhakqyxZRpvSE6bQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_kGFBl7UJhUibb3sTqzDW6A">23.02</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_3Dys22en20yVjB0mNzZyYA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_sSg90glRPEyGLX2p5rmepg">95.50</ix:nonFraction>)%. This decision by the CIT was appealed to the Federal Circuit in March 2023, and the Company is currently participating in the appeal at the Federal Circuit. The Company did not appeal USDOC&#8217;s final results of its sixth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#8217;s countervailing duty rate is expected to remain at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_LcRuFW6Sq0SgDKONuFu4ng" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_otkkAolOm0Cn_U5f8y5DsA">11.97</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GQpyTBVTsEqK_VIlriMmCA">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_YqdcRDmIUEa2MakFEJV_Bg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_d2JIEhlZa0yqMvYpGYzzFQ">95.50</ix:nonFraction>%). The countervailing duty rate applicable to Canadian Solar International Limited (&#8220;CSIL&#8221;) was raised to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_O6fC-TPPUUWz21YuKc0pdg">19.28</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_uKxxB8pw9E2XMbavnoBTGg">11.97</ix:nonFraction>%). USDOC did not change the rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_65ciN8Ag1keqzUsMCJafUw">11.97</ix:nonFraction>% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both of these companies. The Company did not appeal USDOC&#8217;s final results of its seventh administrative reviews and, therefore, these decisions are final. The Company&#8217;s antidumping duty rate will remain at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_nw9gO9GSMUySSqqxin8wZQ">0.00</ix:nonFraction>% and the Company&#8217;s countervailing duty rate is expected to remain at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ySaYnQOUD0Wcn-pYS-DeCA">19.28</ix:nonFraction>% for CSIL.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the eighth administrative reviews in June 2022 (antidumping duty) and July 2022 (countervailing duty). The USDOC determined that the Canadian Solar entities subject to the eighth antidumping duty administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rate (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_PLHS8u2CxUSiJtetEK43zw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Po2OI9SeoE-IaZ9f7p-8jw">0.00</ix:nonFraction>%) will remain unchanged for its Solar 1 CSPV products. The antidumping duty final results were amended to correct ministerial errors in August 2022, but this amendment resulted in no change to USDOC&#8217;s no shipment determination with respect to the Company. USDOC assessed a countervailing duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_v8LhoXn070KwIJcskDjNVQ">15.75</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_0TzBSJWyN0-MFnZnFaidmg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_CeFRoUTUTU2Tb-pj8b6L4g">19.28</ix:nonFraction>%). The countervailing duty final results were amended to correct ministerial errors in August 2022 and, as a result, the Company&#8217;s countervailing duty rate was raised to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_PcTJvG825E-TnrHBroQgWA">15.87</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_hYNwgEdaJ0mCXHROhhk9mA">15.75</ix:nonFraction>%). The Company did not appeal USDOC&#8217;s final results of its eighth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#8217;s countervailing duty rate is expected to remain at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_U8dfUW_kokaBFVwhReZ50w">15.87</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The ninth and tenth antidumping duty and countervailing duty administrative reviews were initiated in February 2022 and February 2023 and are currently underway. The USDOC is currently scheduled to release the final results of the ninth antidumping and countervailing duty administrative reviews in May 2023, subject to potential extensions. The Company submitted no-shipment certifications in both the ninth and tenth administrative reviews. In its preliminary results, USDOC preliminary determined that the Company had no shipments and stated its intent to rescind the review for the Company. The Company&#8217;s countervailing duty rate, therefore, is expected to remain the same at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_2_1_2022_To_2_28_2022_srt_LitigationCaseAxis_csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_5Aj8uJSgiUOrBpC-DAB9WA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_P8K4z73ugkaafLN-KeGUXg">15.87</ix:nonFraction>%. USDOC will likely issue preliminary results of the tenth administrative reviews in late 2023 or early 2024.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont3" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#8217;s Chinese CSPV products were <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_VFsvEjEfBUm2Di-U1CvaNA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_EK0YKnmCJ0ys2q4aymur_Q">38.43</ix:nonFraction>% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced the Company&#8217;s countervailing duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_euWImZS3qEGim0XnEjJQuQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_P7rrZIDyrEyhyhqdF-sBlg">33.58</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_LFdC_ll5zEOxqY9ArH0jQQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-p5ohGvvZ0KIbnvKGD-w_w">38.43</ix:nonFraction>%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The antidumping cash deposit rate applicable to the Company&#8217;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company was not subject to the first administrative reviews of the Solar 2 orders, the Company&#8217;s duty rates will remain at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_zyRyzWmWZ0m4yZEvliA2VQ">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_980ygfHbJky5NF0PkOBUUQ">33.58</ix:nonFraction>% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The Company&#8217;s antidumping duty rates for the Company&#8217;s Taiwanese CSPV products had ranged from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_q9AIoEkoikGwIYlll_ojzA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_QABt3qW_UUSGLuGl_hLA_A">3.56</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_UrdBV_iSGUGS6udcxLFFEA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_Kw5yoCowhEe7c5iDAzhZqg">4.20</ix:nonFraction>%, until they were changed to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_MyP51gxSLkSLAnGZGw7iEA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_KXDy7asue0KX34SZq57lMQ">1.52</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_yVifOhPSeUGoH8yAJUn7eg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_K2XBKgz090WEJWBMQRjn3g">3.78</ix:nonFraction>% in June 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#8217;s Chinese CSPV products <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_r4x3Wuzai0uI3O0dplCZOg">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_gn20aM1LhU2QBaFcrFUaQg">33.58</ix:nonFraction>% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to the Company is <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_qOCgbAWDyEq0AjKWY9mozQ">1.33</ix:nonFraction>%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#8217;s duty rates remained unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_hcqUQMAIUkWjQEIy9_wlKA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Cd4Y8OKxOk23jmzr52K5JA">33.58</ix:nonFraction>% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to the Company was <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_tz6atQHEfEuLDGf1O1pAXg">4.39</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_KQK96zTagkSDZvVxhqOsuA">1.33</ix:nonFraction>%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont4" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. The Company&#8217;s duty rates will remain unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_QJAaMdof0EW4tYVb3vnZ-Q">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Dd9JT1I6hUKDqBLJx2zeNg">33.58</ix:nonFraction>% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The rate assessed to the Company in the fourth administrative review of the Taiwan antidumping order was <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_PBCU8l3rLU27_toHXE2n-Q">2.57</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_tXGCLmLoS0i9PnumwM8VKw">4.39</ix:nonFraction>%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#8217;s duty rates will remain unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_UC8pzXi0KEyJqcMV1f8QOQ">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_FuDpSplRAUihiptlFFf4Kw">33.58</ix:nonFraction>% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC did not initiate the sixth administrative reviews of the Solar 2 China antidumping and countervailing duty orders because no parties requested reviews. The Company&#8217;s duty rates will remain unchanged at <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_BwmbhQQeiU2eOIpk13SKLA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_clANowHOREiEWTD7T5qFvA">33.58</ix:nonFraction>% (countervailing duty) for its Chinese CSPV products. The USDOC published the final results of the sixth administrative review of the Taiwan antidumping duty order in March 2022. The USDOC determined that the Canadian Solar entities subject to the sixth administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders in April 2022. The countervailing duty review was not initiated with respect to the Company and therefore, the Company&#8217;s countervailing duty rates (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember__Je0X6S0akqoQ5HPZ9xpmw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_KwP931zd4EOHJu9QTo8vyQ">33.58</ix:nonFraction>%) will remain unchanged for its Solar 2 China CSPV products. The USDOC rescinded the seventh administrative review of the Solar 2 Taiwan antidumping duty order in October 2022 and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 Taiwan CSPV products. The USDOC initiated the seventh administrative review of the Solar 2 China antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC rescinded the seventh administrative review of the Solar 2 China antidumping duty order in March 2023 with respect to the Canadian Solar entities and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The USDOC initiated the eighth administrative review of the Solar 2 China antidumping duty order in April 2023 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the eighth administrative review in late 2023 or early 2024, subject to potential extensions. The USDOC did not initiate the eighth administrative review of the Solar 2 China countervailing duty order because no parties requested reviews and therefore, the Company&#8217;s countervailing duty rates (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_9-yhXx5qQ0WAp2b9lYYyFA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ZASb8tcSkE-Cb067h0PRcQ">33.58</ix:nonFraction>%) will remain unchanged for its Solar 2 China CSPV products. The USDOC initiated the eighth administrative review of the Solar 2 Taiwan antidumping duty order in April 2023, however, the review was not initiated with respect to the Company and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont5" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#8217; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#8217;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#8217;s April 2020 withdrawal of the bifacial exclusion before the CIT. On November 17, 2021, the CIT vacated USTR&#8217;s April 2020 withdrawal in <i style="font-style:italic;">Invenergy Renewables LLC v. United States</i>. The CIT&#8217;s judgment holding USTR&#8217;s April 2020 withdrawal of the bifacial exclusion unlawful was not appealed to the Federal Circuit and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, the USITC conducted a midterm review of the safeguard order, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the USTR, the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota (TRQ) on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#8217; production, capacity utilization, and employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The President must consider the USITC&#8217;s views but is not required to follow them or to take any action in the safeguard midterm review. On October 10, 2020, President Trump issued Proclamation 10101 pertaining to the midterm review. Proclamation 10101 authorized the following: (1) the revocation of the bifacial module exclusion effective October 25, 2020; (2) the reduction of the safeguard tariff to 18% <i style="font-style:italic;">ad valorem</i> (as opposed to 15% <i style="font-style:italic;">ad valorem</i> as prescribed in the original safeguard measures) effective February 7, 2021; and (3) the delegation to USTR of the President&#8217;s authority to ask the USITC to assess whether the safeguard measures should be extended. The President decided not to follow the USITC&#8217;s recommendation to increase the TRQ applicable to CSPV cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the issuance of Proclamation 10101, Invenergy and other plaintiffs (AES Distributed Energy, Inc., Clearway Energy Group LLC, EDF Renewables, Inc. (&#8220;EDF&#8221;), the Solar Energy Industries Association (&#8220;SEIA&#8221;)) sought to challenge the Proclamation and filed motions to amend their complaints with the CIT. The CIT ultimately denied plaintiffs&#8217; motions and refused to extend the bifacial module exclusion beyond October 24, 2020 as a consequence of the Proclamation (as opposed to USTR&#8217;s withdrawals). Subsequently, on December 29, 2020, Invenergy and another set of plaintiffs (SEIA, NextEra Energy, Inc., and EDF) commenced new and separate litigation once again challenging Proclamation 10101 in the CIT. This new complaint alleges that the President unlawfully terminated the bifacial module exclusion and revised the safeguard tariff, effective February 7, 2021, to be 18% ad valorem (as opposed to the originally announced 15% ad valorem). </p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont6" continuedAt="Tb_SYPUmo774EqIyHD1mWjoEw_cont7"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On November 16, 2021, the CIT held in Solar Energy Industries Association et al. v. United States (SEIA) that the President acted outside of his statutory authority in issuing Proclamation 10101, and enjoined the Government from enforcing that proclamation. This judgment had the effect of reinstating the exclusion of bifacial modules from the safeguard tariffs and lowering the fourth year safeguard tariff to 15% ad valorem. On January 14, 2022, the Government filed a notice of appeal of SEIA to the Federal Circuit and the appeal remains ongoing. The Federal Circuit held oral argument on April 3, 2023, and the Federal Circuit&#8217;s decision is expected in mid to late 2023. In October 2022, Canadian Solar filed an appeal at the U.S. Court of International Trade (&#8220;CIT&#8221;) challenging U.S. Customs and Border Protection&#8217;s erroneous collection of certain Section 201 safeguard duties on bifacial panels pursuant to Proclamation 10101, which the CIT ruled &#8220;null and void&#8221; in SEIA. Canadian Solar&#8217;s appeal is stayed pending resolution of the SEIA appeal at the Federal Circuit</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the USITC conducted an extension investigation of the safeguard measure, in response to petitions by representatives of the domestic industry. In December 2021, the USITC issued its determination and report finding that the safeguard order continues to be necessary to prevent or remedy the serious injury to the domestic industry, and that there is evidence that the domestic industry is making a positive adjustment to import competition. On February 4, 2022, President Biden issued a Proclamation extending the safeguard measure on U.S. imports of CSPV products for four years until February 6, 2026. The extended safeguard measure doubles the volume of the TRQ on imported CSPV cells to 5.0 gigawatts and maintains a tariff on imports of CSPV modules and above-quota CSPV cells, beginning at a rate of 14.75% ad valorem and declining annually by 0.25 percentage points to 14.50% in the sixth year, 14.25% in the seventh year, and 14.0% in the eighth year. The extended safeguard measure excludes bifacial panels. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSPV cells and modules from Canada are no longer subject to the safeguard measure as of February 1, 2022 following the United States and Canada&#8217;s entrance into a memorandum of understanding to resolve a dispute under the U.S.-Mexico-Canada Agreement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canadian</i> <i style="font-style:italic;">Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (&#8220;CBSA&#8221;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#8220;CITT&#8221;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result, the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#8217;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_SYPUmo774EqIyHD1mWjoEw_cont7"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_60xq6Xy6m0Owp9-KEaNmtw" continuedAt="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar power projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;M) services. The module sales from the Company&#8217;s MSS business to its Energy business were on terms and conditions similar to sales to third parties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following <ix:nonFraction unitRef="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_4jjLZrU8nEeoh6Hg2XrhRw">two</ix:nonFraction> reportable segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#8217;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which carries out the Company&#8217;s global project development activities for both solar and battery storage project development, which include sourcing land, interconnection agreements, structuring power purchase agreements (PPAs), obtaining permits and other requirements. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn and minimizing capital risk.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 54pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The module, EPC and battery storage solutions sales from the Company&#8217;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_bdd54f1c_5be1_4f21_8fba_b68aeda6c9a1"></a><a id="Tc_yOU_RE77Tk6SVjO5gcvuYw_1_2"></a><a id="Tc_fUfJDoJxcEe_ow491FURaQ_2_6"></a><a id="Tc_F8VPmYxQSk-x7IjmH4-UDw_3_6"></a><a id="Tc_UuIbXE-3-Eupxql21GnyuA_4_6"></a><a id="Tc_WJUvEcglC0ypDJTdGFbiHg_5_2"></a><a id="Tc_bAsZdumNbkmkJ3Pj9khOOQ_5_4"></a><a id="Tc_v-Q0BUninUyreuLrJNPZSQ_5_6"></a><a id="Tc_SgKK4HFosk2nXluFQFipxw_5_8"></a><a id="Tc_7cPeZqqeVkakVfO2PqJk5Q_6_2"></a><a id="Tc_oEH8rZgfoU-HCcTRuD-BBA_6_4"></a><a id="Tc_Whk6hpIzCUCWTm1exFwzsQ_6_6"></a><a id="Tc_rqDJccqCzUSkBWlPWPfX0w_6_8"></a><a id="Tc_INekmklKe0-tiZZySsyDyw_7_0"></a><a id="Tc_LiXGwtdrt0OtL39Z5cU5cg_8_0"></a><a id="Tc_Xsk2ZLK2GEmr5TQvDJ9v6Q_9_0"></a><a id="Tc_fLZ-w0oiN02P9glovzEDuw_10_0"></a><a id="_377663b5_d049_4c06_91a5_9a525cad8cc7"></a><a id="Tc_R7qIqULSC0abWK1t2bFfdw_1_2"></a><a id="Tc_SYpfXxSu80qFNGDI2Y5Ojg_2_6"></a><a id="Tc_FaCrOCFajkKPRBcELoAQ0A_3_6"></a><a id="Tc_LhAhfY1cY0GR18znCyKuoA_4_6"></a><a id="Tc_UW95YJna0k6CwgNEZ-EZ5g_5_2"></a><a id="Tc_SEfN62bYZUiT1ca0FNy2lg_5_4"></a><a id="Tc_hQeH1NeiGkmpfNbI0O2Rbg_5_6"></a><a id="Tc_lReUV4iZ60KAXjr4QtLHFA_5_8"></a><a id="Tc_Yt-zRijGSk6BN_dIbjysxw_6_2"></a><a id="Tc_ix0G-O6_BkmnJG9GfLJHOw_6_4"></a><a id="Tc_SQtC6zXTq0yhZCstbM8jkA_6_6"></a><a id="Tc_B1Z3AHW_HkWm96OUGfAy_A_6_8"></a><a id="Tc_BE68pXL5f0G8onUqPV4F_Q_7_0"></a><a id="Tc_p9-TDrj4RkeVdljBUc5JIw_8_0"></a><a id="Tc_iNT9TRYVKkqvuhf2EWRWhA_9_0"></a><a id="Tc_CGIl3SkspkiJwwmCsgvM4Q_10_0"></a><a id="_ba958959_fcba_478a_b3b6_8139a7ffbcc9"></a><a id="Tc_MUSPt38RLkusY3EgLymBfA_1_2"></a><a id="Tc_jBuw4xnXjEe2fiSgu21fvw_2_6"></a><a id="Tc_IBJLK2Ec30WIERVFpfapcw_3_6"></a><a id="Tc_ERm1lgxDSEKrKwKr7sFoAA_4_6"></a><a id="Tc_LcRl5KSbZEWQpYUJd4eQsg_5_2"></a><a id="Tc_nAeRXcCGF0aARIUOzsR8Sg_5_4"></a><a id="Tc_d0qvBkxWfUO_d2Y5fklRhw_5_6"></a><a id="Tc_4ZQ0rdPoRk6bAFxPtF6L-g_5_8"></a><a id="Tc_M_ip-rj7_kKlezY3zoU0VQ_6_2"></a><a id="Tc_hhv3n5wc3U-m6Av8V5JSPA_6_4"></a><a id="Tc_rqSuL1zvKkiBEqBki8lwsA_6_6"></a><a id="Tc_veWOtk24v0iQCykDvqH1Aw_6_8"></a><a id="Tc_Pnbwc9_FN0ix8KSJ8ZnmJQ_7_0"></a><a id="Tc_hslItRta4kazpUYYEmEafQ_8_0"></a><a id="Tc_J-gFyt5E_UyGa4wruUgUHA_9_0"></a><a id="Tc_zfOJo_OWXE-Xtq1WzDzDZw_10_0"></a><ix:continuation id="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont1" continuedAt="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues, gross profit and income from operations generated from each segment:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_NQsyPDQkmUqAurLOFg1eNA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ulhwhwtgFEiAxEw8mNwWuQ_7_2">6,975,612</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_SO5LrX1LKUOFldQ2TwwqAQ_7_4">821,525</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_6ywux3-HskSMZnnS3Eutpw_7_6">328,527</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XjVBOwCBSk-bcIIPRil86g_7_8">7,468,610</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_wMAGqhZYu02EYLOCDtxCxQ_8_2">5,824,855</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_dahpWdb3pE2OJ_a8BTx7_g_8_4">660,161</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_jnT2BK1ZgkmAwbccXqFnKg_8_6">279,542</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_OikouSYVnUeE3-jgvMm50A_8_8">6,205,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_HLyUxPKHxEyOkf3teaqicQ_9_2">1,150,757</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Frq8rR_UzUKv1eyhYa9oew_9_4">161,364</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_YjWZYDXBfU2vFdnBKh1wAA_9_6">48,985</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_yhfYLLC_Q06Wr9irT6YELw_9_8">1,263,136</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_H9EcU2Ng8E6IIWbP03qcag_10_2">343,798</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_87h83LfNH0KNUk-itM37TA_10_4">80,364</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_CaC-XGXzmE-B8YzSdeXhAg_10_6">68,101</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_zHWiXtJh8UCgjAx-8Xq8kQ_10_8">356,061</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_M0YwQ_GDFECfZJ9QRAGwlQ_7_2">4,371,603</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6kPCQMTxHUmAiD1u2UdHUw_7_4">1,124,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_zIGrw10GG06WsESHVl-aVQ_7_6">218,517</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_y23cbS5IxUODhoZI-4xNdQ_7_8">5,277,169</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_xF5qXGIAsEmOuCrZk1oYig_8_2">3,689,126</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_qQdyNIJY1EyKEYzpbz9Y7w_8_4">930,099</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_AHNjEOf9-k2Y5KDnYsexxA_8_6">251,368</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_NB2GlWLl2USSJMgYmDRp1A_8_8">4,367,857</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_e2ALiU4rwUil-Qr6flRnlA_9_2">682,477</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_x_EApm0_OEqpxvjRntck3g_9_4">193,984</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_9eKbTrVqgky5baLmgliKuQ_9_6">32,851</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_tpeM6eTrW0G0JS6j6zwO4w_9_8">909,312</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_8ENudhJmSEqDbs17s6uPfg_10_2">74,132</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_rVlcq2z8u0GxKb-fYzPnug_10_4">97,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_OPT18Bf-_0mmOzVGrpxKJg_10_6">19,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Aigd-hocek-Q3SRlmJ9KUw_10_8">190,381</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_SxY8WVfcRk2MaKlLV66CIA_7_2">3,105,044</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_C37L1PYtIUyew_bRgJvDsA_7_4">726,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_v692Lhi8Tk2GnHXOcrDgew_7_6">354,716</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_065en9u1gkmODp3KuYEP8w_7_8">3,476,495</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc__jKg2FY-wE2eM4ui15WIxg_8_2">2,496,153</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_Y-OpemcCj02Ufttd1l1q3Q_8_4">577,052</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_uLuvtXtsiEiP5zwjeQGuzQ_8_6">286,624</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_mk5ekppNVkiGSj4EqFT-eA_8_8">2,786,581</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_uF4CV7OcT06RUju0s5OSXQ_9_2">608,891</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_9Z_6Ig7F60SjLVrF2k7O3g_9_4">149,115</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_Zcg-PE3EYEaGrcU1iSgmgw_9_6">68,092</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_aDD8k6rHc0OjFGPCV8m4Yg_9_8">689,914</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Kf4aZ7Ntc0i5nsf_nntWJg_10_2">253,105</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_TE5g3LwKQEWgxF73t_-DgQ_10_4">53,414</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_PmCiEw36GUKgbC-zEmcRpQ_10_6">86,089</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_EUSAxbGJ2kGjdv_6geILOQ_10_8">220,430</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#8217;s evaluation of reportable segment operating performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Income from operations reflects management&#8217;s allocation and estimate as some services are shared by the Company&#8217;s </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"><ix:nonFraction unitRef="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_RBnyd4StRkGUXBa1nAy0Ig">two</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> reportable segments.</span></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_X1CQn_-GIUKFMn3wtpbJEA_1_2"></a><a id="Tc_rK0tOooxcEit6dJEYtKoxA_2_2"></a><a id="Tc_CcJnhHG2gEmPf6D8BiTnUw_2_4"></a><a id="Tc_nAZ_pzGRE0-Emy_f525xPQ_2_6"></a><a id="Tc_VFyzpfhCT06O6eHSi_MtDA_3_2"></a><a id="Tc_8i0kybzJ80O6wJFfcmCgIg_3_4"></a><a id="Tc_esBjsGMF_0S6iKFbpgD6Og_3_6"></a><a id="Tc_SII-OTVOdkm_0sZbbEcePg_4_0"></a><a id="Tc_nEolX4BVpEiktOUtBte8Lg_5_0"></a><a id="Tc_iilAdIWZgEKfh1-BSvvQ2w_6_0"></a><a id="Tc_tKJP0uGIp0adxVpNtKBK6Q_7_0"></a><a id="Tc_qa2z82N7_0uAuGuLn24jLA_8_0"></a><a id="Tc_hg5_hfXr20GeN40Q-ivQnw_9_0"></a><a id="Tc_AlINdtiUzEW386TF_A6-bw_10_0"></a><a id="Tc_KmJXz2IHTkq9fDynkbyPDg_12_0"></a><a id="Tc_CRal-_1ob0-lB5BMnEhSJg_13_0"></a><a id="Tc_ZjHizUqI5Eq0_jKoZe--aQ_14_0"></a><a id="Tc_5Alhop6tzES5OWVksFxDhw_15_0"></a><a id="Tc_1nFmf5mBSk2NNu09QUkFEw_16_0"></a><a id="Tc_VcxoU2-F6E-4qDlKvfRhyw_17_0"></a><a id="Tc_oIIcny7j60GpffBIW6eE-A_18_0"></a><a id="Tc_6077tWM6IEmSk5WeUlSrRw_19_0"></a><a id="Tc_v2bE-DJPq0O5hK8WQ-NVHg_20_0"></a><a id="Tc_4bilrUTOjkeRLqIrca2Wnw_21_0"></a><a id="Tc_1IkWgyKlsUu3MgxFpJPGuw_22_0"></a><a id="Tc_FyY83fZotkmKUAj8jbI2Bw_24_0"></a><a id="Tc_dt4SJnJviEWIjRPIy13ALw_25_0"></a><a id="Tc_JptOjvyjiUyiGIvUwhnTjA_26_0"></a><a id="Tc_92xC8oFrm0CFBYwXxARmcA_27_0"></a><a id="Tc_tIjxisOIKUCgJ3a1liGGWA_28_0"></a><a id="Tc_PdT-SQdntE6aeIDn_wmKJQ_29_0"></a><a id="Tc_CSduypDkhUqGzP0CVaG2pQ_30_0"></a><a id="Tc_EtEyXg6VzECN_1RbNU9C-Q_31_0"></a><a id="Tc_jw81gFurSEKp_HwpIOAQSQ_32_0"></a><a id="Tc_82g_l5p1FE6nY0Ezyza41g_32_2"></a><a id="Tc_ejtwq40AOE6_00pFbWrRoQ_33_0"></a><a id="Tc_epYRz_QSGU6UvdOueCdOag_34_0"></a><a id="Tc_6J2K7hZXHEaeqdqoj9GcRg_35_0"></a><a id="Tc_Fsa_Z5GFCkGdNSNKgXx1Fw_37_0"></a><ix:continuation id="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont2" continuedAt="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the years ended December 31, 2020, 2021 and 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_3ityruwnlk6QrtCYMvJ8zQ">11,854</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_QZ1CND3L4EubUXVp6gFwUw">6,084</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_ZiaypztNPEqCCZ7PHLygrg">60,330</ix:nonFraction> of long-lived asset impairment charges, respectively, were recorded related to property, plant and equipment in CSI Solar segment. In addition, the Company recorded $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_QnlgPfwCgkmIGfznChhgYQ">24,060</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_I3wF41x8ck6FtSG532IUQg">nil</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_cCtt3Sq6mUeN7KWbCj3hsw">357</ix:nonFraction> of investment impairment in the CSI Solar segment, and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FDU0G0fgQU228VXEYL8RCA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_YKBYxsTh7US7Ai2nS5dVzw">369</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FD4EfpmYRU23EwdiQtQzog" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_-pHHL-IjDU-Vs0HnMY9Y3Q">17,152</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember__cUDjBAcNUWnhcHqLRrkWg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_w-dU8sBp-ECziJe6j7dkxg">1,674</ix:nonFraction> of project assets impairment in the Global Energy segment, and for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; global or regional headquarters, as appropriate:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_qSyId1HdBk6AwtVrNyJLdg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_KxRjgtltXk2_gd3WDnLcKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Vq0uXI__sEu0TSSoveiWQw_5_2">696,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_IJceGAEE_Uy9aAuRNXQelA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2mQ3HXtAKkSBgLkC4NIAdw_5_4">1,590,573</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_KRXNO_6qcUaszIEZNMk-gw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YBjuP_so_US3KHxXybLi3A_5_6">1,963,956</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_6pSs9XbvrkKIxDwuUrOKVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hlk0WRG3ekuCSRzU7ZDTSA_6_2">284,478</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_oOZDRt1Jtku3rAukh3Y_1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NL0-G7fLckawSkrp49N3bA_6_4">442,603</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_DpNzGstCz02ioLF0OW5uwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vLp8vSqYEkSuZSgbatKWZw_6_6">623,331</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_eAqbt3tN5k2nSN846GkO7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XA5HeUWg7kqyiSn2eIDIYQ_7_2">100,284</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_NLjQBc4dxkig1PUwud0irQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4-T3fYF16kixSLQsbOW_8w_7_4">30,792</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_jS8Bl3CN00y0NvR1jp1hig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qyFX9x_2jEegXT7CVNvmNw_7_6">49,148</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Chile</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CL_kE-hxZbv306n_aNZZZzVOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2GusUyP8CEmDrzJDv2BOXA_8_2">4,872</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_0mKsH_LOZUagDHmNeyVz4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XLqWRDQdOUe32Xgdj0y75g_8_4">18,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_gNyUW_Qm_kKBJdadTEnirA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zk2bez70mUCxX7r11n6teA_8_6">37,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_aR4f_R9ROEuL2UjYgckIUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_OkCAQrdEy0WrfLv3S5tf_A_9_2">118,846</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_7Ut8Eh5vDECjp2uj5FQ1uQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GkqSsBo2hEWaX5Mr-WewPw_9_4">139,611</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_Lsj682WRw0eQcpKofwz2WA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ztHqWjMV6UOacRaCSMJPnw_9_6">31,912</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_MgpkuuBvzUi9Wekyj-C7Ow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bRnd3MNNs0Cs5CCUuCWy2g_10_2">16,524</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_mKf-fWeWtkii4mEIlZZ3-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bV_E4bbO2UKty7Wot7iePA_10_4">57,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_VCZpL1X_sUS_2PBNiU-bHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GxSPdAMcNU29mwbOrc-OBw_10_6">87,934</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_nE3IOFFBhkOWvJMxSEoKKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-hU7vsyvy0-gQextfFV_sA_11_2">1,221,105</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_dexE24Zre0qErONg7uTHkw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zmu84L1wFUu6FDFcXFBYlw_11_4">2,279,594</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_6zhQhW_b5UK9icYO3dX-Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZxZhJnnTLUSW0m5C4DSvwQ_11_6">2,793,651</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN_iNE2b1u0VUGv7u9maoxNfw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_udrgz0oGv0KMdBP5vmClAg_13_2">504,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_l0TuTzhXrUa2yKHesP-xyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_mgFx4bFauU64tN-Ig9LgAA_13_4">1,207,003</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_LRIkx2mfUkC2eBe0QdlP8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZAAGNX4Zs0eXLMqjBNIJqw_13_6">1,904,862</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_YRerVdgQi0qz_80t8eYPbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_wCwWJry3gE2gnJUtW0DDIw_14_2">560,701</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_IjHlt35vIUKT01Elm36iIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oqd4uEnsIkC5Y7RJbIxC0w_14_4">509,233</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_B3Fafa8c6kipUlIt64WTPg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_stzsXMt6r0eBvUPkOgpptw_14_6">325,344</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_LYCzNbUBXEKt3ciyZfOxEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4UvLfoTbv0ubJc3ecsK85Q_15_2">61,141</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_NxCqjBo6kEiu0khHiMBhww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0AZDWUsrRkKpmFg44VMxyA_15_4">142,300</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_l0zpYBzIekOr6l0IH_Bfxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xakiwHu5tE2fcaK6oqc6xw_15_6">197,772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Pakistan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_wwmyYRAjOUiP-YOnsKSL3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_FqxnIA3H8UWUOJ-d6hTX9g_16_2">15,417</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_-G9kIIWHjUONAv3b5ZflIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_R-QreA8eYU2fblkyEYSfnw_16_4">48,838</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_ed9vmIgMBkK3qFWxeEoCoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IqCQMFLQs0yoFmY5CdB2Rg_16_6">73,531</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TW_k9B7jtWdFE25EIceRO4pGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PZ3k36LU50K1XCuYtbq5tg_17_2">24,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW_2Xk4AY0giEylkSbgVW1JtA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_yiYhJocF0E-CHYfZpWcf6g_17_4">7,702</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_50nBvVTCtkiHFr_eaKefiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_typeoeRLWkmy9-COTB7ioQ_17_6">67,411</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_HK_H3bOclQ3N0escpaWDcTnow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Vi8eSwX8ok-0DjYSh3DY8A_18_2">13,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_xV1CRkfcH0u8DOOm6VND6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6Pr6fG3ke0a59Y1SECqusQ_18_4">9,979</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_OY4QHgM3PE-rA5CKPqHUJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CU-VMVdd6U2-hKRWXeiSzQ_18_6">46,254</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_0zQNYhPM9kiWxIeotQOqRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1T2oPVpypkWzPAnF8y2RUQ_19_2">53,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_TNNtkkW_WkOcZXUy2BDiug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_evXzBOpIwUihxlOW2DqNaw_19_4">6,168</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_iTG4xPLWJUePO9Kr_FZxTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qrwfBeyCH0iuVolTRsMOhw_19_6">15,974</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_JhKgKvVihkODrSpIoTIp5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_DeaMY9vflE21tX97QGPuIQ_20_2">6,108</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_9EIFyAg57kOovGQgEtuu-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Xw2QGztj6kWm7fQo58hHhg_20_4">59,451</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_0YoKjdJRMkG0xeM7ZzhQUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IZt2-F68XEmgYAl7vlMvVA_20_6">9,941</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_-616tkepAE6-1qANU05u3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_kvJKC295z0WqeQCMaDJjNg_21_2">289,621</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_JLPvPxrXckK37QJKfaUFxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_OXsX3Q0E5E6mbkaAhSvnaQ_21_4">19,956</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_QZ2pWYZ8Yk-7tm3lCJwo2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_LEgXuEU-mE6lxvPHmjg1fw_21_6">9,078</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_sbCgzIlI9kihBk3_rsOVhA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Fy-kakfX4kONOzdFsYfuGw_22_2">91,222</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_3PX645pQmUa5-OQVGCE8aw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_U2-mgBcmHUSKvMBTVhKqWw_22_4">128,440</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_9w6fawEy5Ue_NYDZUMG2qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_u3pCREm9N0ySV1Fv9q0hQw_22_6">89,612</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_mMv397GZJkCYQMv-tU7UfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CfyYwGJcWUi6zGx1pJorfQ_23_2">1,620,840</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_PsJpW_rSOEaD6VsVF4h_OA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tlFlaEyeXEaJOa29_sSEAw_23_4">2,139,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_bIgkJmSo1Uao51TkEEOFjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CxL2j2o8JEOO4qbBY3loiA_23_6">2,739,779</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_wLeo87DIN0eZavL8LIBxDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Kg5cwYDLFEqou5nzIXUbhA_25_2">138,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_yoq31yagEkKhVhvoeI6uYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EaGUgJGK6Ue3Hdw8UkLJqQ_25_4">100,658</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_NLsaNUP9lEuqsL0oLAUeIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_K0BIS05RmEW587j2FtwiIw_25_6">434,841</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_C-JSwIIsqUOcLp2WPYw7wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_27SUciks50e7QCUXYBVDnw_26_2">120,403</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_e1R1H-As00aXyuV6qpYwUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EbAQsb_qnkucWdQN_U83LA_26_4">165,772</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_jOqyuaLp4U6ckl-5JVLYmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_y7JhlS-LuUC7nttQUjZj5A_26_6">393,959</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_gjc00l_weEKsrv15zZvVCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vlApIeWYPk6Osahs9K7OgQ_27_2">119,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_GSoZ59NOPEuaudJtdm5Afw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PnG_4LGViUayzaYwFD-aJA_27_4">231,995</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_cOQe0IfALkKbSu9HdMPfhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_52hrys_NX0e8UlRGLph0Cw_27_6">322,189</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_sdEr-pjAA0-OYtJ3oo6Zxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3ycJdSgVX0mhrUUnwe2qIQ_28_2">96,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_IJKzx2He4ka0suBRkiMjpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VKOZ8wCKl0SYQWcAeWGugA_28_4">104,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_pKvio5pFVE6Yzs8fMp0kkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jRzpXnpdnEiWC-MftERWIg_28_6">136,375</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_nzO7TpPqYkOJli_M8t7RsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_yEVxNRPNBU-r3lgdtuoUzA_29_2">49,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_6-wwwPseBkqI_2T7fbZdbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-Z49nfkp9EeQGmFPS65ffQ_29_4">90,761</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_iLDo233wD0-7_Sp_iMMnnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9XjlXThVmkirh_C4ALLvlA_29_6">118,458</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB_tjPljplDBkSEBGolhBnhEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_UKYtupJHhESDpDgYeZmT9g_30_2">8,842</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_2YjLdEXrSEWT-nYTQHI1Ow" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__ku31qFoOE-GbQwWBjm2FA_30_4">7,749</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_m2rc7K-SRkGBVvkQfDB0HA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_kagMKSNFZEyHNF6UNWbHWA_30_6">106,662</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_PG20hHmJp0OVSPobvZivaQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_l-8174VZJkGYu3YEuWg1hw_31_2">16,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_a53Uy44eEU-WLk_J6uHxYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_I0kZYsOD1USxRWm4NAMQtg_31_4">34,604</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_tqs6A-uC0E6MrD6gWlvHzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KWyxd0ahPEytBoDvms0M0A_31_6">79,414</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_J1fRjML9Wk2xGP2Q4UCuHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_x4KgqhRpQkKaZEJ1GDlfwA_32_4">7,844</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_L4fAeCJtqkuQvcCTPq1QwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_biZV22Q69k-HUVBghG46mg_32_6">63,740</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Romania</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_RO_mPoS58b7ZkeusqjM0wvOlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ytzkwNGx50WetxKyqDdJ_g_33_2">1,258</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_8-pkRdzeKEGSyeiAAwmMJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9ylMybp3Z025bnqrk0l0Bw_33_4">3,699</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_JBibAc4lsU2Se_q776vgFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zAYg3Of7OE6MJ2IkKkNAtw_33_6">31,804</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;France</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_ZgbOjf4rRE2p_9BnvIOgCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v-Zygsd6gUqOyk7UQ4rXng_34_2">29,974</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR__zFxe4G2nEuvQy-YqdaNZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2xMrZiM8UESgkX8IFCazhg_34_4">25,980</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_Kq6ToZSOsk-5Q_-7pLOaDQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hnp3pJRxl0SWz0OTkQH5DA_34_6">31,147</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_wKGhMfX9kESeuELxMr9IXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_eNPTf-NTqUuV8lCmjh8HWA_35_2">54,175</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_URO9Ln1PBUSrZq9TMhWdoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_mX8z44EZOUSQQi2AkVQtTw_35_4">84,728</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_x93-RNWz5EmUPSNS_PGPMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EogUzsfPW0iMSFfwqycWmQ_35_6">216,591</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_yue26IX7ukO1NH17Z72ZSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zeKwS1R3NEqE2-dbbVfL4w_36_2">634,550</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_vthkpg_pLEmoWc6_MU362g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zBs5XLgRLUiXlYqzD-TAyg_36_4">858,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_hREYrrjdkEaw3VKggBBgrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_u-zpm4y6OkyhUwC93zwsWQ_36_6">1,935,180</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_dYeGCXxNeke1CmXuDBmp6g_37_2">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Hlia__TDZ0WbSxTmikm77Q_37_4">5,277,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6d2ojfjB4ke3cqKo1hhV1g_37_6">7,468,610</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_8QKcMxRNkUOltI3cx7wlOw_1_2"></a><a id="Tc_gZ_CPfnCUEizPz3maXK4mw_1_4"></a><a id="Tc_A28Cb2BnzUui07KcZrPC2Q_2_2"></a><a id="Tc_so2hJkWkOEq_eIzjkjDmcQ_2_4"></a><a id="Tc_K97HlvClCEiP2Bs4kk6Onw_3_2"></a><a id="Tc_UGb_m-YW60GqyMfCGtRvDg_3_4"></a><a id="Tc_F7x4P8_NOEWjg2v0cJontg_4_0"></a><a id="Tc_6S0gm2HBE0--3lD0XCG3vw_5_0"></a><a id="Tc_YTEvbTKbYUexDaZ138yTpA_6_0"></a><a id="Tc_9iWs9eY6lkeqvvE1Bygn6Q_7_0"></a><a id="Tc_BN0cdffsHky0ECOGh9VU_w_8_0"></a><a id="Tc_0ERn0j18Q02QsuMpxE0Bkw_9_0"></a><a id="Tc_LBmizcwJAUqJ2TeGob4Gyg_10_0"></a><a id="Tc_pqjuu6wusEyNFgOXYr2zmA_11_0"></a><a id="Tc_CwYtDChy7EmrkM_l7uroPw_12_0"></a><a id="Tc_AefpxpI4NEqmGN1tSQe5xA_13_0"></a><a id="Tc_zgydjc9i7UiPszX6H9mgyQ_1_2"></a><a id="Tc_4r3uk2Wg30e97N8Oi8bVfw_2_2"></a><a id="Tc_DNBUN-GNu0etVRsRddLtfw_2_4"></a><a id="Tc_6HUXFJ8kb0aFUXUD6_HZ3w_2_6"></a><a id="Tc_LJxNOx1vFUarTChMYwezFw_3_2"></a><a id="Tc_Abz8s37jhU-cGwUcshxLsg_3_4"></a><a id="Tc_yYIz4wzBk0Kwe2neCjc2jA_3_6"></a><a id="Tc_5_diHLoCkk-QXzyXM3K0LA_4_0"></a><a id="Tc_Yk2Qq0oBiUCBDmtZqcAUlA_5_0"></a><a id="Tc_beWFKYFK9EukTLjl8XzMIw_6_0"></a><a id="Tc_s-B4WfSDVkm8s6YK93YsxQ_7_0"></a><a id="Tc_kM7Zz63CgkGe7KQNN4qvKg_8_0"></a><a id="Tc_fPS8uUZR_Uizihm17ESKOg_8_2"></a><a id="Tc_0KED0LxVQkaJBoJFbV7fVA_8_4"></a><a id="Tc_zo6yaVPdwUCqR0zBXS0DtA_9_0"></a><a id="Tc_FLzXYiGxIka6l82U0N74pg_10_0"></a><a id="Tc_kEpiR63ZwkqFpRUL3_GEpg_11_0"></a><a id="Tc_aUkIb8CsS0SX5GcvNUFQmQ_12_0"></a><a id="Tc_rDmi52iiJESBWghrQc20Ew_13_0"></a><a id="Tc_DOFYza0U0UmVmqQRWbg-PA_14_0"></a><a id="Tc_27IPAdc14kSi_HuJgoYSPQ_15_0"></a><ix:continuation id="Tb_60xq6Xy6m0Owp9-KEaNmtw_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets at December 31, 2021 and 2022 by geographic region, based on the physical location of the&#160;assets:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="Tb_BgiBh75O9kilwHh4Or4epA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_FzpoNWAgYUi0wbhybJNthg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_pFgo5Q0QpUuY2zb9FjijLg_4_2">1,252,189</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_wEbx6NemwEKlaSM83wB6tw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_E9nEjamruU2YDU1Y8zfiCw_4_4">1,668,177</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_hn34zB3MwUe9J4P7vz3Qyg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_qtH2quJQc0CL6TG38OQlSw_5_2">266,870</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_YTBmuvV_nE-SOKQgvjPyaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_y3NAhBR0oEGR91KYA2IZSg_5_4">276,497</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_M1SLS66Lo0uu4KfO_AvfYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_t1DCdFTzjUCHmBSRvVRAKg_6_2">710</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_FQ_BN_RAkk2Gtnh7hS7ooQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_xUW4XrhRm06AOiA-GY1D9Q_6_4">242,761</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_o_UeZtFDf0mUAc2-VAa8yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_yoB85dIgiUWdw72UtqaaMw_7_2">68,508</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_DGctJ8IGBU284L1ygerqDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_GK0PDpA0lEySPu1cCEQ-BA_7_4">66,017</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EU</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_Ay-hedU-zkWhgQM4rbR0zg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_KwNGoxNYrUSylEZl0HslRw_8_2">1,824</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_5jzmvIvXdUe5Pee6LM4Qng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_7jaHYfSP8UiJqVPa9YcM8A_8_4">27,182</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP__4H2Fgj5CkaYh8bC5Vkf1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_avDdTEf8fkSSQXgFqtHjug_9_2">16,413</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_rt5Ocd4bskS0Tvsa5_NQYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_XDIXrFTtU0GR0-HpfCGC8g_9_4">14,440</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_ElpV2mEEzkW1LsI-Y7WTxg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_A731OHTraUyNzO8dTIvFMg_10_2">9,269</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_aITOGqjn_Eq2hhOciAQeEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Pqac7tYTL0ixqUwudOJM_g_10_4">6,200</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_xY_O5EdRaki12IEgQJYboQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_728_ueRvG0CLySlvm-1QNg_11_2">5,499</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_Y9L7bkRs4U6R7NRSQmGZhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_kXS6nknIGUSYwuqZfZ42fg_11_4">5,545</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_fEW6TNqkv02lssDoIVRpSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_9_FZzwVrBUamuT2RrGasSA_12_2">14,147</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_yELmHm6jNUSBxBHFh2wI_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ViHEvAt9wkGBy8yZvOJm9w_12_4">5,770</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_qK0V7tiL6k2s0-gfDnjLXA_13_2">1,635,429</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_IKhztLWMw069SiVqbq_R_w_13_4">2,312,589</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues generated from each product or&#160;service:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="Tb_aZj5GXDyX0aGKfSPSUnf7A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zMFebdGzBUmP0rYjc0j6ZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hp9AsdyzRUeZkipBJumAUw_5_2">2,348,724</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__iw_2PmRT0mQSzATw0p2GA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_d2QZ9YK0pkWpXo782cd4mg_5_4">3,328,301</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QZE_vi0ZB0-ck2Youvo5QQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NjZuAXLnnEKoGDKpeimUqw_5_6">5,534,379</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ikylWJot9UOC2GGn4qzY7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aKz8QP_wu0mUoOXwvKziOw_6_2">157,656</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_amO0FJc3P0OejZ8n4ARHlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YkH-vs9IJ0aWvjo3GDuZlA_6_4">302,133</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ry95CI4_1Ei0Z9P_pcE3Eg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Ucq6_uOrvkqbbxghKWl3ew_6_6">538,157</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Utility-scale battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Mlwmq-crTUqie2NXmWYdOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oVJKIetNA0i7rmsqu72lfg_7_2">7,899</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HqKaa624N0C15YV-DHVK4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qkBKBRU5y0CEJVnHmcSf8g_7_4">222,655</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_pf1zLMWXRUOwr_1ujpA4hA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_j85NQiQSgEuZqHPiWlxdzg_7_6">440,030</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Residential battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ResidentialBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_N251_Hq4lUmu0B32duJxTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_TpFVXCsSqUiWwTCgnbHNpw_8_6">686</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_yq6vKr7jWkujnu_chTDj-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZQT_N4IaAEKYU_DFbUm7Vw_9_2">175,388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_v2SMmd7W7ES3KbLgkQ_2xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_s6unf2rBy0mR0vEjRc5Taw_9_4">178,830</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HsIXAo71eUW2rnbR7R0szg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_FCwa0bltQ068xJyR3EqL3A_9_6">35,711</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_bcVp_4RmKEiGzl0k8Q_sJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_alYlDkH5002WfInyDJiZmA_10_2">60,661</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_tTGG8Bmdnk-kOY8Fqr6Ybw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XhNpmpA7C0muvWCmjMuQRg_10_4">121,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_OLgyV5DlfkaJp-NPQ7mOqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_B8IgOELV1U6AFFQILzKzWA_10_6">98,122</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_y65H0AZ-HkeAKib03uGe4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_k0rQVqQq0UegznoyxsoZkA_12_2">654,827</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_GqzRHb8u6UysdqXc0PE17A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_x4VgNjK1YEGtUsXOW4ogzg_12_4">1,064,178</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_KIwO7SgaIkunFcl89FhTGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VQWSKDrXlU-izU9YSdzkvQ_12_6">761,677</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_0mCx68A7LUyzvYxgKtAEsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EUBz_EfhZ022mw52SZhW3Q_13_2">26,386</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_eG3pwOcaNkeErVJ6wn9CPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oEI0aAA3WUC6amNDIut5DQ_13_4">35,334</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_oenaeAgKlEKvyFx0xRxqZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_iZ1BBwm8tUikfWxWRhKNjw_13_6">33,776</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_c6_HhoaL6UOnc-p3Kk59TA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gcfg67_uRkCjHDnq1eEvag_14_2">44,954</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_MkEshTaLokiLLfbIS2gmWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gpILKH1ZjEyfWPXKvhYItg_14_4">24,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_f66Pq7LF6UmVtvEgY3mVLA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WUJiBYG1HUuzNgWGPTZoRw_14_6">26,072</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oYAMuX_IIkmuqTAlVoti8w_15_2">3,476,495</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3OeGJOFZFE2ktf0_3BqJ2Q_15_4">5,277,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aoPXTan_MEuKPuhk5bFOAQ_15_6">7,468,610</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="csiq:MajorCustomersDisclosureTextBlock" id="Tb_F6OXbWnvX0WbUJeRXozH4A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2020, 2021 and 2022.No customers accounted for 10% or more of total net accounts receivable, net as of December 31, 2021 and 2022.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_2Gk38A6ygUuphy9aGU0gUw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_JnJupxJPJ0OND0mYqcwAyQ">16</ix:nonFraction>% of the applicable payroll cost in 2022. The expense incurred by the Company to these defined contributions schemes was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_16mN6zKQZ0Wgha7IsoKS5g">8,064</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_7Sdi7rd3SEuROC5u3aLhhw">14,362</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_Cp5yW6xu20G4BfbQ7cr_3g">17,753</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2022, the Company is required by PRC law to contribute approximately <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_b0gtFawozkafwMBqeAaccg">6</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_KEFA-CnQykiWDkayIR1MYw">8.5</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" scale="-2" id="Narr_mNVcleG6Skq713W6fKLPUQ">8</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_h-fz-gsBg0aBxRvKAuE_tg">0.5</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_MoZ4YHiXv0GlDcbKzRYJpw">0.7</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_coYCBJezg0qr-RJ_9MIB8Q">0.9</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_i2DkVRPP_UanzflRc3Dc5w">2.5</ix:nonFraction>% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_c7hkxoKADEycWA9LP1WkRg">11,486</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_MWvujNqsPkGiUjsEZfap4g">13,584</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_d1ex0Pb84UKBGehr5CnjXA">15,918</ix:nonFraction> for the years ended December 31, 2020, 2021 and 2022, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_RK965PD7wEeuJ6lpIM4aEg" continuedAt="Tb_RK965PD7wEeuJ6lpIM4aEg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;<ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_2g8K4cBF2EuFeTJ74Ksorw">2,330,000</ix:nonFraction> plus (ii)&#160;the sum of (a)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ" decimals="2" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_1wGEuTaWhUaQRLXt0IGtHg">1</ix:nonFraction>% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ" decimals="3" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_pavvMMkz9k6kO0z9d6KTPQ">2.5</ix:nonFraction>% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten years period. As a result, the Plan will expire on, and <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" scale="0" id="Narr_Qrw3Ho8iv0iRBJr4ssa-rw">no</ix:nonFraction> awards may be granted after June 30, 2029. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#8217;s ordinary shares and expire <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" format="ixt-sec:durwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="Narr_ouYJSttE-kWZLcUAcEHLsg">ten years</ix:nonNumeric> from the date of&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2021 and 2022, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_bFA1vFgm8USc6CcorqBakQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_Qc-tAdbznkWlTK9axZL8Cg"><ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_QS9pzTOJE0KX-VULp_bzMA">no</ix:nonFraction></ix:nonFraction> options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2020 was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_nKnbms559U-pJettpmyfIw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_E6O0j8dFE02mZ1m3lmL2fA">893</ix:nonFraction>. As of December 31, 2022, there were <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_4NrY4ZpLhkOvYSj4NqwlFw">26,291</ix:nonFraction> options outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Narr_btJkoeQqg0yQ15NVXU97qw">9.33</ix:nonFraction> and weighted average remaining contract terms of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Narr_msoOt9kQdEqyKvpJuYbjKA">0.4</ix:nonNumeric> year. The intrinsic value of outstanding options as of December 31, 2022 was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Narr_r2gsIZDa6UO7NVqvhhYXdg">567</ix:nonFraction>. <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_ao1H-6VBh0iD8O6uFAjT6g"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_59eAzafpK0e81WxxOHzOlg"><ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_IMppPZHTRk6WhSAjLK-jrQ">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> compensation cost on options was recognized in the years ended December 31, 2020, 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_Zt349a7DN0aSD5OJtRRkkA">1,105,640</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_6iynaL_dW0mix7cJmXyz-g">2,161,098</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_2e1-dyLTpEOvZUZXdCTB9w">444,167</ix:nonFraction> RSUs in 2020, 2021 and 2022, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_hHHFnlg--0ahbYTGzML0Aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_DGrio27ms0eRlJrpceiH_A" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_FdOiJnuMWEyM2eoDnYUIXA">four years</ix:nonNumeric> based on the specific terms of the grants. In 2020, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_LqKHiv7F6k6jz3JXur8bgQ">2,096,000</ix:nonFraction> of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_rxCgKzxFF0aKLzKEDoLfNA">50</ix:nonFraction>% vesting on the IPO date, then <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_6_bPNl1Ya0q7-MPU1hC-3A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_IXO2BI1po0KQBhJluecKxA">25</ix:nonFraction>% vesting each on the first and <span style="-sec-ix-hidden:Hidden_MEszL5kOZEGqXfw7Ya9ExQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $<ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Narr_9baw3wl2Q0CZnryKVu_2zA">25.69</ix:nonFraction> per award. As of December 31, 2022, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OdvP_vJCuE2M673Dmicp1w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Narr_FHr-eYiCCU2amz0jaTJTwg">2,036,000</ix:nonFraction> of such RSUs were unvested and outstanding. <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_gPIbgRL-_UKCYoXn5Ta9Tg">205,000</ix:nonFraction> of the RSUs granted on October 25, 2022 are contingent on certain performance condition (<ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_dDMh69qJwUWKj4XfONS8PQ">50</ix:nonFraction>% vesting on achieving the performance condition, then <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_l98oXr8BxU6s7PYda74TJw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_umckJutAGESSAMzb3rBREA">25</ix:nonFraction>% vesting each on the first and <span style="-sec-ix-hidden:Hidden_2OvoXvOiCkWZP2iuw8kCow;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the achievement). As of December 31, 2022, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_Ac77P4jY2EuX0C89UXZLUg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Narr_QgfuzZRM8UqGaJhR3E_XqQ">205,000</ix:nonFraction> of such RSUs were unvested and outstanding.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_E1qdUlf20kmuamkyGiBOQw_1_4"></a><a id="Tc_stxNnNpsS0WWJUQSQqRXJQ_2_2"></a><a id="Tc_wOT_PP7wkEqN4-0fZtPtpw_2_4"></a><a id="Tc_VYGtgZAswEuphE8Z1uLJlw_3_2"></a><a id="Tc_7YRITz53lEeva7skhjG_Hg_3_4"></a><a id="Tc_bGKaXUZZLUKgO9UXSwaQsw_4_4"></a><a id="Tc_yCGdkasmj068PihxuV7HXw_5_0"></a><a id="Tc_z5o2WHxQx06AGhJtYIg3Mg_6_0"></a><a id="Tc_VV41QT0mPkyCxrQHiO6rWA_7_0"></a><a id="Tc_y-AIUjX1v0uG6OMQHHHVqA_8_0"></a><a id="Tc_OmHv8wyBv06-1CVL3o3vQg_9_0"></a><ix:continuation id="Tb_RK965PD7wEeuJ6lpIM4aEg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Em5oMtwJg0Ou37DI9QjE9g" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_59t3OgYzGEOvT_5fUL3qew">24,918</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_Rg5o04mUkEe7h1iFXzwIpw">55,822</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_JBuXLZOP80GxBVivoE9LxQ">12,909</ix:nonFraction>&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2020, 2021 and 2022, respectively. In the years ended December 31, 2020, 2021 and 2022, the Company recognized $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_CpEKHQNBzEWpLGJyh2sBsw">12,350</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_G9wg5PlrbU2mNJ4sCFFdAw">8,808</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_G29TETl_RU-frZ5lozqsqw">9,370</ix:nonFraction> in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, there was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="Narr_Dip9iibZHEiA5RFs0CH33Q">17,940</ix:nonFraction> of total unrecognized share-based compensation related to unvested RSUs, excluding awards contingent on the IPO as described above, which is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_qKfU496ZQ0aHAmSF7umCrA">2.0</ix:nonNumeric> years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">A summary of the RSU activity is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="Tb_ZG6mCvVVsUm_XOdNKU3ZHg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_bZBJgvPm3kyA9P4liD4xfQ_5_2">3,335,303</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_4ZxH3hj43EKFXT7IeKpEuQ_5_4">24.23</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_MHKoB8MzWEy0Wrkbo4bnFA_6_2">444,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_Q7l4cid0_02gTHs5rcrxSA_6_4">29.86</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_LAr3_1CDGUaBcZykoEjN3g_7_2">483,377</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_twWNLKBeuU-zrvDFwpEBrA_7_4">19.41</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_mjgOw-ee2EaXICHioUFw2A_8_2">106,717</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_G3H1_ipcLEOOO4N8BR4uPg_8_4">27.03</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_6UJ23i_y7EWccAcOlTxHEw_9_2">3,189,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_FpsMJhurb0OARWB3pR1EoQ_9_4">25.65</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The total fair value of RSUs vested during the years ended December 31, 2020, 2021 and 2022 was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_DC4g256j4kaCpJruqdLTbw">14,420</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_mVvlefRMr0yjgf8NPwnPFw">21,628</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_UrNqbvvTw06N0t_jnyFrxw">13,276</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, there was $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="3" id="Narr_IA118VjuPEOI53rLzvAipQ">68,689</ix:nonFraction> of total gross unrecognized share-based compensation related to awards contingent on the IPO, and upon satisfaction of performance condition, this cost is expected to be recognized based on the ESOP scheme vesting condition and the RSU vesting period described above.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:SubsequentEventsTextBlock" id="Tb_pyDZXVDAjEq48ypPmNxYZw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">26.&#160;SUBSEQUENT EVENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;).</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="AdditionalInformationFinancialStatementS"></a><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" name="us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" id="Tb_DjsyJOPXH0i6wATMMh-0nQ" continuedAt="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Additional Information &#8212; Condensed Financial Statements of Parent Company</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following condensed financial statements of Canadian Solar Inc. has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, cash flows and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#8217;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2022 of $<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_k0xpE65JtUiOaZHEZ0eRew">658,166</ix:nonFraction>, exceeded the <ix:nonFraction unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ" contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg" decimals="2" format="ixt:numdotdecimal" name="csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="-2" id="Narr_7NaoE8tkn0CuTrcHoWzxgg">25</ix:nonFraction>%&#160;threshold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries. The Company&#39;s share of income from its subsidiaries is reported as equity in earnings of subsidiaries in the condensed financial statements. These statements should be read in conjunction with the notes to the consolidated financial statements of the Company. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_de4b13de_f90f_4fb5_85b3_884a8452bdce"></a><a id="Tc_hqB5t3tguEKJgQIi3MRndQ_1_2"></a><a id="Tc_dpAag8tpo0e9wv-E4dOhUQ_1_4"></a><a id="Tc_ox1P4ATjKEGUPxFQYZ1bNw_2_2"></a><a id="Tc_0PM5XH4mRkGZVm6QOvA_Gw_2_4"></a><a id="Tc_PC7MjuXTtUO9_BjQCDGZPQ_3_2"></a><a id="Tc_5yglRvqa_0yuSXUUQP17dw_4_2"></a><a id="Tc_OVXG5FDImkaWyQx5zScl7g_5_0"></a><a id="Tc_hzbB8RlCCUib7Dcj7WzvsA_6_0"></a><a id="Tc_w7YKT2QyAEGTCx05umMapg_7_0"></a><a id="Tc_kQtBzApw_EC3GWn-ekX1UA_8_0"></a><a id="Tc_sP3qyyfDxEWHHdh87GA15w_9_0"></a><a id="Tc_nGu95xFgRUWA6fAoS8w7VQ_9_4"></a><a id="Tc_PBxgZnwn_EWVJyTG2x6aRw_10_0"></a><a id="Tc_4-P4O9Vfp0yHeJwAMib7DQ_11_0"></a><a id="Tc_Ya8QehziIUCiRigYOUfiAg_12_0"></a><a id="Tc_7uromVc37UCJqCJ9gE3cDg_13_0"></a><a id="Tc_aXbrBqLP1EqQAMVWVaPwLQ_14_0"></a><a id="Tc_IbrKcpGSPEeEpZ5iJ6xPgg_15_0"></a><a id="Tc_-r8ny6RfeEqdNANbXijbKw_16_0"></a><a id="Tc_imyg1xv1SUad7S7rzZbDlA_17_0"></a><a id="Tc_tSEU7vN_zkGb3thAbnlHPQ_18_0"></a><a id="Tc_BxPYdZP-FUCixbEy3p5QOQ_19_0"></a><a id="Tc_qgMEwgLhk0q1lT3Mu4bH6w_20_0"></a><a id="Tc_fQ2L6RUohE2gK58Lp67QRg_20_2"></a><a id="Tc_ME4UumWYMkeNn2wAnWiyLA_21_0"></a><a id="Tc_G6so_aF680qjSIfJQsjb2A_22_0"></a><a id="Tc_vY6yDntGE0GMC47eyRpU0A_23_0"></a><a id="Tc_wjRTNTOQUkqrCPpivrkCRw_24_0"></a><a id="Tc_9BH2CVQLpEiAONzdOwv69g_25_0"></a><a id="Tc_y5uuSWTAqUaRnx_klvrRZg_26_0"></a><a id="Tc_tdrc_Bcl10OhGbDH5FsyTQ_27_0"></a><a id="Tc_r3F6I6HQhk2YAtC-Q9WjbQ_28_0"></a><a id="Tc_63Vp4auVl0K0-e-iNro-OQ_29_0"></a><a id="Tc_fXixlx5AB0yC1-My2qrdsw_30_0"></a><a id="Tc_9442Utu-Sk6Jj9tbFOaMtw_31_0"></a><a id="Tc_tU_VrUmL5k-o8SS1J0Mtug_32_0"></a><a id="Tc_wUyTAn1RCUagIUxEHhquKA_33_0"></a><ix:continuation id="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont1" continuedAt="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">BALANCE SHEETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">share</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_EjF01pO91UO6bY2jOPlypg_7_2">27,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_MR_aW7yCrUuocl5IeWNHig_7_4">15,661</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_APfPHo9DvUSKoVx0e5lxPQ_8_2">638,832</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_g-wp-vKtbE-BY7-CrR2L-A_8_4">582,685</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_6PgSQ0VGNkWhBtip3O7itw_9_2">521</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_aEEyZfOsSUuRSQCZHUtZ5w_10_2">5,318</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_-rAmCGMOLUeO5PBMwbuJUA_10_4">13,218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_0yoEZGobw0CgLJKcOv_MOQ_11_2">672,103</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_Nt6f-rMIeU2C5Cjp7sGzmg_11_4">611,564</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_7jzjI82X_06vi9SSC6hTdQ_12_2">1,992,658</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_HHApLg1mVUeboei5LlozMQ_12_4">2,158,474</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_UITb-jMqHUuDHtMI3CDagQ_13_2">10,755</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_ijqmdrr4A0yV68OvCfb7oA_13_4">11,745</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_HSa8Xn-Ke0CXa1lhAxWCZQ_14_2">1,946</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_3sAgP64W8Um6wtGPqgWXfQ_14_4">1,755</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_2CmnoT2G7kiHvOMW07JPww_15_2">45,213</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_GFX7Fl2TekuKtST0Oepwnw_15_4">39,837</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL ASSETS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_vS8sys9Dq029Dt8IoIecPA_16_2">2,722,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_rf_QFNssM0eVU6LaPcg4ew_16_4">2,823,375</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_CPb64Sovj0ykwm6KHUu9RQ_19_2">682,247</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_dBMuWqg5_ESq5a1p9ar8Gg_19_4">640,055</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_VKtLX7TcGkGGYVRxsYt2yQ_20_4">762</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_0ewcMaU8rUCoipDFmJSGwQ_21_2">5,676</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_5Qo6LE7OLUOSPmrKv0jICw_21_4">4,522</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_dlfBGhd6GUK2V8CGASQSnQ_22_2">687,923</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_tfmgWYQIK0qleOiYFd9A3w_22_4">645,339</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_-nyVcTsYcUq5vfE6XDNh-Q_23_2">224,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_DYsXA5r3xE69WabnyC2NWA_23_4">225,977</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_61IWzSAkZUC4fuh6WpGiHA_24_2">1,562</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_hfHmujnmNUO5vzhYRCiblA_24_4">4,690</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_5Bm4qdCBRkO5PBFJ48Zmvg_25_2">7,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_irF1rQXovEmZjZglKAS-xQ_25_4">5,730</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_Dq7n0YsmiUC7tMeA7Z-Wfw_26_2">921,592</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_x3PimzFYOE-CZYH2tK3S1A_26_4">881,736</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Common shares &#8212; <ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_jeaTHAqurkaXQ9YeaFWG6w"><ix:nonFraction unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_lDIy_sGffUyHWQLvfKoF8w">no</ix:nonFraction></ix:nonFraction> par value: unlimited authorized shares, <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_cdB-HMliBUaLaogf7qaBuA">64,022,678</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_SnIC4clXU0OnvMD072ghKQ">64,506,055</ix:nonFraction> shares <span style="-sec-ix-hidden:Hidden_lHlIklC8p0StPMDjXSNvdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_ritm_IutKEWOsQ5pE7DhWQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December 31, 2021 and 2022, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_wBhHnp_EmEuy7gDh5XlfOQ_28_2">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_t2KmHpeACkauvn2Ic4bYkg_28_4">835,543</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" sign="-" scale="3" id="Tc_Tp-M4oEDO0a2gqRtAlcA5Q_29_2">19,428</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_XdND7eoCNU2eTCWfIDhdoQ_29_4">1,127</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_sH-EQ4csiEWQawXKqqmUFw_30_2">1,035,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_rXHCaLtOzE6NLH8b2KEdkQ_30_4">1,275,520</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_cHAdDsxW_0irn7BdKGvr_Q_31_2">50,584</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_DYK_RwgYPEeZ6rjRxkOz8g_31_4">170,551</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_ZDOuhzrre06I9ZjXuYu2FQ_32_2">1,801,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_IO4-cdfCVUOz8Fkr9GAkPA_32_4">1,941,639</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES AND EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_UC23_VeFZ0uxSWtxbWsuXg_33_2">2,722,675</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_ZR9Lb8ePlkK1OjAE61HP0w_33_4">2,823,375</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_762e5bad_0c5a_41b9_8560_a93565da30b5"></a><a id="Tc_GNXGGVRyrkuy-OUSbC5Kvg_1_2"></a><a id="Tc_yPMoOxHYuEuFSePR7qhGsw_2_2"></a><a id="Tc_fTU9XZf83EOgxLEsEYZyMg_2_4"></a><a id="Tc_oIyLPSODH0yjxXVGxhC5Gw_2_6"></a><a id="Tc_mmkl0akFN0mgGK4x4CSw6A_3_2"></a><a id="Tc_khNIVoYhakeQXSdijDecyA_4_0"></a><a id="Tc_34qeIkFotk6OV6fdMlaBLg_4_6"></a><a id="Tc_Ji8yt9F-90KRActL4sauOg_5_0"></a><a id="Tc_Mu2zADyNqEe7WPZrAw3MVw_5_2"></a><a id="Tc_-bjbyEVa20uYH76mSA1Zxg_5_4"></a><a id="Tc_FwAmE2M9mEKBxPs2sSGh1w_5_6"></a><a id="Tc_NRyKmJKYyEatnNyvMYgLUA_6_0"></a><a id="Tc_59vKsGQE2kqie9E4oVJoOw_6_6"></a><a id="Tc_DDskz3ZeV0-6y2jI0dv9KQ_7_0"></a><a id="Tc_DU4MOXlDBkGzJ0AEXs2YFg_8_0"></a><a id="Tc_SaBhegGtBkGDkWB6DLuwDQ_9_0"></a><a id="Tc_kr6el1UkFU6DwF95r0bTvQ_10_0"></a><a id="Tc_Pj8uni65bkKV6ChD6eNInw_11_0"></a><a id="Tc_UtQX9amqAEmVFy5vzC-Pxg_11_2"></a><a id="Tc_CX-2Gd3DUEarOJTeV691qA_11_6"></a><a id="Tc_D5d1dfu_VEOMwZMuTvMuVA_12_0"></a><a id="Tc_cuQxGry8-0afFX1iWWrfeg_13_0"></a><a id="Tc_lYcbrFWktkWfQVJEj0pTuw_14_0"></a><a id="Tc_xh2E_qrBZUOL9j7X7svYCA_15_0"></a><a id="Tc_b61BaGqf5k2uIHliCX2H0Q_16_0"></a><a id="Tc_O9Y75w_JTEenA-OlKdGCyQ_17_0"></a><a id="Tc_WfbGYKoOp0yU_sq1E_e6xg_18_0"></a><a id="Tc_AIG1oHPOTky4UaKmOCCWxw_19_0"></a><a id="Tc_fzgw2tV05ky9IQgOmkAUyQ_20_0"></a><a id="Tc_jcS9yR--xEeRGj2ho7Op1A_21_0"></a><a id="Tc_nbdW-8-clUC5n5Ulj5-0bQ_22_0"></a><a id="Tc_OsFqxDj7v0auSn8esX_2lg_23_0"></a><ix:continuation id="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont2" continuedAt="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZuT-qmbFpUO-x7z24y0Q8A_4_2">2,170</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VEei7MBctU2vCxnceF2GBg_4_4">341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_ZImdTK_VNUSJFjHggDD8mQ_6_2">2,170</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_eNWGgWLVj02a1aAYSfK5Yw_6_4">341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Selling and distribution expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_BUtzHr2HyEeew9Rl4LAjqw_8_2">2,174</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_rpixfK7x4EKrZVqp9dlQCA_8_4">766</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_vMVJLwXHLkWFlLXU8hmkBQ_8_6">890</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_RFlA_OQOA0iTL3W6cQInWw_9_2">49,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_4--gBYgytki09zyGR43D5A_9_4">9,177</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_0Y0I_OHAMEycWPYCvL778A_9_6">11,261</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_T-3Sop-aF0CGGfAf42JRPQ_10_2">692</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_7aJUMSsxqkWmAIx4NW8y0g_10_4">182</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_W-dVBz9uM0-oeqXBJ5G4Rw_10_6">155</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_bqih0QI440WleN4R9bl-EQ_11_4">282</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_571GpjMwXUmGc3VoTkoAOQ_12_2">52,554</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_Xtrhm1uhEESjQcxzqc8uyw_12_4">9,843</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_GivOBnpo3EOiiLJPpsgYXw_12_6">12,306</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_QQZBnG1_MkCRfIxz3Lgqww_13_2">50,384</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_sDhAGa_lrEaWBZpFkEPAIA_13_4">9,502</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_w-bZVWHO6UOWgzyPtMLd_Q_13_6">12,306</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expenses):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_QiBVMSymEUCCW9FbZJoXPQ_15_2">9,628</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_JP9_XaQUG0Wezsjxm_E1Zg_15_4">19,677</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_Vk3i4cZi306CVVHnyP2AAw_15_6">23,229</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_mDBiiGV6pE-ncDQpuEHsnQ_16_2">30,536</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_afbrOpsLZEmQEx9qXUkKXw_16_4">20,249</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_pqAqQrweHEGQ_0gXK4NXvg_16_6">20,563</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_gM0ekLGqzUO1NCt4c6PM2Q_17_2">25,341</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc__l58ystffUWCLGoYWVRibQ_17_4">4,043</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_o7i4zwIUv0CZg1dRXwnn6g_17_6">844</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign exchange gain (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_Yp0txTTAdUarrwJGUXZstg_18_2">13,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_CmVBW63CsU6-w2Osu1hGsA_18_4">3,674</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_owKhcanP50O9G75URbdMww_18_6">616</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expenses), net:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_CLkYuZHui06BIUxYH-rglw_19_2">60,017</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_IqWJEv-P606A1pMu39gGJw_19_4">941</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_7Bd1KXprgkOMLjEqPA8mMw_19_6">2,894</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_tBIwLAKA8kS43ooM57gwVg_20_2">9,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_E2yKtT1h6UeehDQclpB-0g_20_4">8,561</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_paYlXJlskkSnm_2FxQWA3w_20_6">15,200</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_SzUsGJ53KUW_8tA6nOCNwA_21_2">34,223</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_vqy2tRZLKEm4CvxeihfKgw_21_4">2,424</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_TAtp1Di6GkmTOLTCWJfyxg_21_6">8,786</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_YT3viJNmfUSWhS7ap59w3g_22_2">171,293</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_-c0awCA-cUWgnw0PHzeDxA_22_4">101,385</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_wVA0JJrpMkeIQ4nsdiah8w_22_6">246,382</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_wyTe7vLc10qRetuluH1nWQ_23_2">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_TY0qHKVnuEm1L_9Ad3Juwg_23_4">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_qoNRERaDEE2sTNHafI5VSA_23_6">239,968</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_a02fa7f2_8361_4911_89c1_70f61ce5342f"></a><a id="Tc_lcHSpu8NO0yEAYOmIAe_Ng_1_2"></a><a id="Tc_KU21U1vhrkOx1bfUheND2A_2_2"></a><a id="Tc_bzLAU3BecEyRqVJ8s2rC2Q_2_4"></a><a id="Tc_midY4UMXpUKXtRVPq5yG8w_2_6"></a><a id="Tc_9Wj2xz3YF0W2_8RACVySaQ_3_2"></a><a id="Tc_Ih0vf0e53EGH8OAhzcQzkA_4_0"></a><a id="Tc_saS2hjOytkCJYa0sNEERVw_5_0"></a><a id="Tc_fqhBVkKBG02OgMyO-Mk9ZQ_6_0"></a><ix:continuation id="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont3" continuedAt="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF COMPREHENSIVE INCOME</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_gDUQAwTNf0-hV7PBuhGQZw_4_2">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_o24fLvqlBUWkaNYBeD87hQ_4_4">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_CHgr2-nVtU-ApvkZRzHCHA_4_6">239,968</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other comprehensive income (loss) (net of tax)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_uV6pAbmU3kePeZuEFJrReA_5_2">80,928</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_hFs0j5gwtkWneUr-1Quzxw_5_4">21,905</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_8pEJA-fkIUKMCEEybO6AyA_5_6">120,511</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_ArMfu9gzu0qNrqeo2XKdgQ_6_2">227,631</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_2HH2e3m6GEOWe3d50E9seg_6_4">73,343</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_48gzZ-o02UOlCfGRHb2P-g_6_6">119,457</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a style="font-size:10pt;" href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2020, 2021 and 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_27d59078_4ee9_4617_81c8_0e9d47f451ec"></a><a id="Tc_wxssu07hI0udvoVIuJWhhA_1_2"></a><a id="Tc__Ke-qzw_NUqOGLul9_nDAw_2_2"></a><a id="Tc_vT7VG0LgS0CmBVslm0H-YQ_2_4"></a><a id="Tc_en37nTn9yU2WpgMpWhc9Dg_2_6"></a><a id="Tc_qNj_vF_cxUSdNi-naJ4l5Q_3_2"></a><a id="Tc_DII7QHV2ZEmXNXbEk7boww_4_0"></a><a id="Tc_rnzRVtKWgEOJI6XT7k9YRg_5_0"></a><a id="Tc_H2DlUbNNtkeJyVvxAJgf-w_6_0"></a><a id="Tc_XwEyO52JiUeyME2rABp3fg_7_0"></a><a id="Tc_J4-5YGvVWEqYRF7mLLJxfg_7_6"></a><a id="Tc_H1rx7KDKWkqj38yUbuVYqw_8_0"></a><a id="Tc_chAq4cW4JkKEmWvuvJBCXg_9_0"></a><a id="Tc_lVw4B2e060q2BBFJ8dEoSg_10_0"></a><a id="Tc_eNgU84Ap7EW2dASyGoV1Xg_10_4"></a><a id="Tc_EX8RO1nCt0W2rFdJsgHD2w_10_6"></a><a id="Tc_7ZCLAV0uuEa-QmueOmq_9A_11_0"></a><a id="Tc_p2aI-FqYAUe0Gk3-x_Ie0g_12_0"></a><a id="Tc_Xf10G5vhdESDBfnnLtd-8A_13_0"></a><a id="Tc_1jRCqq9V8EulfkshV-C1dw_14_0"></a><a id="Tc_WkSAuUN_FkKeovkHFFTCaA_15_0"></a><a id="Tc_EU278k7iNUuishqJ4z7BEQ_16_0"></a><a id="Tc_4TJryQrHb06BIURti-q0iQ_17_0"></a><a id="Tc_ihVrWCJGY0-UEwN1AYR0lA_18_0"></a><a id="Tc_UsEQIupmWU266ELYkF5obw_19_0"></a><a id="Tc_lbN0tBpEW0KPDmJpvNFA3g_20_0"></a><a id="Tc_l7lNMykBk0Oy-22da9vauA_21_0"></a><a id="Tc_PjHnx05_JUed1Qe4tJd43g_22_0"></a><a id="Tc_r7wmzpAEU0qTdoqy5z05Qg_23_0"></a><a id="Tc_s-s4JJ-tAEWjg71SIIFGAw_24_0"></a><a id="Tc_aJ9DliOzaECjLObur0rvjg_25_0"></a><a id="Tc_yqwh6NGuj02JI-X6N5URsA_26_0"></a><a id="Tc_3iDyUelwRUGLmMvmUJihkQ_27_0"></a><a id="Tc_jJ--PhxAeUSwNKPyOf1n2Q_28_0"></a><a id="Tc_6HqaYPfLSE204ivzKEZiow_29_0"></a><a id="Tc_eBHxo739d0q2ZKZTiLxjXw_30_0"></a><a id="Tc_iSNPSMVVu06cIG696IkOZg_30_6"></a><a id="Tc_a32g3JaLB0uHGBeK-qC88Q_31_0"></a><a id="Tc_gvc6Zk2M8UCIQZEDoMps1A_31_2"></a><a id="Tc_ibQspwmSV06N4un2JFeo9w_31_4"></a><a id="Tc_YSWMstNnnEWd5IBOUv-UAA_32_0"></a><a id="Tc_FtM70iu0t0aY6BcBlmqhsA_32_2"></a><a id="Tc_grffjNFdA0Gkh5Xdzu7Vrg_32_6"></a><a id="Tc_YMf-gCeKDEKGYiaJcgL5Dg_33_0"></a><a id="Tc_f8vhsBItf06Wy660_IENuQ_33_2"></a><a id="Tc_03cko2nAZUycsGzQcUexrQ_33_6"></a><a id="Tc_eo44atk_zEyJ8PdiCppQLQ_34_0"></a><a id="Tc_TEq20g-E3UqVSO8fB2vJDA_34_4"></a><a id="Tc_hDgg6tWn2E-E4kNm_c9GpQ_34_6"></a><a id="Tc_AxgcqH7hGk6RPubpnQWuhQ_35_0"></a><a id="Tc_33tGvKoirUSVJXSUzAWGbw_35_4"></a><a id="Tc_A6hE597LxEOf7dwfXkvMyw_35_6"></a><a id="Tc_leeVkuLxAEu6biMHeYRi5w_36_0"></a><a id="Tc_u_UTkXaztUGuHxM55btd3g_36_4"></a><a id="Tc_M7749w6WgUaJLHC6F0-4PA_36_6"></a><a id="Tc_P2eWTdrB2kaUd9kVtbdIIg_37_0"></a><a id="Tc_Cc6No5nHSUudlvOSBJXnQQ_37_4"></a><a id="Tc_Ujn-r0DAN0e11-pqvjdJYw_37_6"></a><a id="Tc_HnmQd-8F50OZjNpfVtavpw_38_0"></a><a id="Tc_uNY7N7ZEu0KAA-f2bvIkew_39_0"></a><a id="Tc_GFcxWJMU_kWFyGL8s1LQuQ_40_0"></a><a id="Tc_NB5TtgqYkEeI3sXiTEZong_41_0"></a><a id="Tc_crgTcwheLESkAFmmoePfVA_42_0"></a><a id="Tc_SGScOr6LvkOt4tGRwZPYPw_43_0"></a><a id="Tc_TzFdLlFmEEG961nMf6pcZw_44_0"></a><ix:continuation id="Tb_DjsyJOPXH0i6wATMMh-0nQ_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF CASH FLOWS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_O_nQrosfUUGZ0Cmn2AqjOw_5_2">146,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_hjX9H937uEaS9i7el5_DiQ_5_4">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_NUVNTxlWYUieH57laBegJQ_5_6">239,968</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to net cash provided by provided by (used in) operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_5_LENgn96kSYJ0mZME14Zw_7_2">156</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_KVsmwfvzbUiX4k8RG0er5Q_7_4">150</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accretion of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_pV0ycAQIw0yKb-A2WmWieg_8_2">388</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_E5tnShs1qU6p1YkZ2thBgg_8_4">1,461</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_ewhUeBjVckSYcYTab6AcKw_8_6">1,302</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss (gain) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_V_Me_tH_6EC4oPtEzM6j3g_9_2">25,341</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_93YcqN-YMkOtp_9USrIF-g_9_4">4,043</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_ys-N429vt0GBEuhaNkNHVA_9_6">844</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc__BpWk9KWdkKFxoaJdpNVdw_10_2">357</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_6Y5sDKyLlkqVrJKxJBkSyA_11_2">171,293</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_9IwXEfUj40aIZrj5SkOEUA_11_4">101,385</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_cYIwnAX2xk2VKrs-cuwFAQ_11_6">246,382</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_-j-nJV1XY0-ZueBqFGj1FQ_12_2">12,350</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_6DI_TXH5jUa_XV62GsauRg_12_4">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_7iEoR60AZ0m2hNeppCRAqw_12_6">9,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_JTN5mUhIIEqJVMl4ur1xXA_13_2">468</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_t1VmY4L0QUGQXbU5t-QgCw_13_4">805</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_QAlh9wNvQU6pFjAfMbujDA_13_6">3,319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_gOt7O3adxkCakPbLV9vsIA_15_2">287,865</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_XCN0cc9uQUekPQnmkUT0XQ_15_4">206,892</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_vjlYT6pPP0SO5dKAzwYftg_15_6">10,990</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_DVAy6VMu7E2kR0Y_X7fQHg_16_2">13,183</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_UyGUGdena0eU7Z0FGjrgNw_16_4">17,353</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_h6LT58eaS0CSejvg8dFzSQ_16_6">7,900</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_-5mxPrLlRUui_wKir-Ouyw_17_2">28,459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_htRZNPyU7UO0gSW3xpKHXA_17_4">4,907</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_aKjhV0LMnUeodtwV2W-ooA_17_6">10</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_gGpxQ0AmJE6MaH5AiOgQJA_18_2">340,502</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_f2-0olffu0KOFZf4zk7ZmA_18_4">42,224</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_LzfxGVqVM0GMXWPDEsW4wQ_18_6">38,610</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" scale="3" id="Tc_dnN260rUe0iCgWkzZ9eokg_19_2">31,809</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_wSeXWfWLL0Cl9FHe-ZdTHA_19_4">27,293</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_kqRMlcut80SCzUyEsmR0rw_19_6">1,154</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_jI5hZZxZg0yS-fmKImhxkg_20_2">306</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_hlFWh5QpgkiIGQgJ1oON-w_20_4">5,915</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_934yCTAd4Uyvx6fa6SQVjQ_20_6">1,702</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_z3LJVnsJCEy2mfjm_elZpA_21_2">19,517</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_ta2qR03HBUaI540_et2Qzw_21_4">4,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_4U8PqPu3N0WSVdx_NsUQFg_21_6">439</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_Hk_nkm1-8kud9SiXmRJ4rg_22_2">22,877</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_2bpltxmFRU-MDksqudyEnA_22_4">264,201</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_3MxWZCWx9Eetot1SB0aXrw_22_6">47,714</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_RT_dptOuT0qVyHXZ_IIUig_24_2">126,487</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_LYwGsVZ1pE69MIa3RZvaeQ_24_4">138,456</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_D6N0rRfZ0kuDCYDJh6NYPg_24_6">65,421</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_Ou5rZWtEXkKgRBrjlBQ1iA_25_2">2,766</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_yKgZsOJsqkiRkxfhRdFjaQ_25_4">5,273</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_vrGfOpo4XEav9KC_O9hvaA_25_6">990</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_bWRMt212gEamTvGOpbNxkg_26_2">264,848</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_LOE4WCdB_EO6Rp-KXow_UQ_26_4">201,192</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_xBzUG8P48kaGDhhavKytCQ_26_6">122,050</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans to subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_KFFMv864rkWpiJue6LiboA_27_2">20,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_onhiMc6dCE2Z2i85zVxGqw_27_4">253,816</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_SP6Q-qhZxke24y7UWcLW0w_27_6">172,573</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_1hmLLal8mEe3UyoOcPcf5g_28_2">373,616</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_une5NEOTDEiTX7m0TRbN1A_28_4">91,105</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_jzMXc0pHIUqLrTBKI4TCSg_28_6">15,888</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from (repayment of) short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepaymentsOfNotesPayable" scale="3" id="Tc_hQ4MO1MKG0yYk3vp9CbvBw_30_2">30,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepaymentsOfNotesPayable" sign="-" scale="3" id="Tc_YICz12GsUUCexbI9K_BG6A_30_4">80,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loan from subsidiary</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="csiq:RepaymentOfLoanFromSubsidiaries" scale="3" id="Tc_wFp_5DToPU-s5u-5BJZSfA_31_6">49,554</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Loan from a subsidiary</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromLoansFromSubsidiaries" scale="3" id="Tc_avd9cEelYkSM0H7fs8-sMg_32_4">280,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_s-_nlFBDREGLDHrM0U-kOg_33_4">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from changes in ownership interests in subsidiaries without change of control</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_EwwQktPWykqm4VVPNIqsIQ_34_2">224,553</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" sign="-" scale="3" id="Tc_z-qOTyNqjEaJKrkQ65raXQ_35_2">222,826</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="Tc_iyaTk54XKU-gOcVme_WpqA_36_2">5,963</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_TgFcn6FUzECTlWeZZXIIAA_37_2">1,035</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_Jltp8DktvkCe5lp0PCH8cw_38_2">472,451</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_mGtuu4zVaU-ONndgRIDgcA_38_4">348,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_o_fSVAhg1EujxiANIO7jag_38_6">49,554</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_fhtwkdtYRU2qAUNOjqElgg_39_2">43,246</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_Xo9vIjyap0-0pqqbMN8AQQ_39_4">797</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_hhCmzz8B_0GvErT17BYeIw_39_6">5,957</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_Y8wtMjtor02FKlqrIHVLVw_40_2">32,712</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_SHvKMQASvEGv_fLllorq9g_40_4">7,593</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_-RbcJHcthUSV4qDKL3xibQ_40_6">11,771</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_u7hDkgvTp0qEF_LT6uR4pQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc__uU1lD5H7Eq_AUL75nor-g_41_2">2,313</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_50beGHnWqU2_jW3siPct3A_41_4">35,025</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_qK5-FF8btE2cKNI95zTRVw_41_6">27,432</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_dEXqD5Ue7kmED0haTvT65g_42_2">35,025</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_8Wz3QN3Dok-wc0cDjPPIlw_42_4">27,432</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_omFVpOnfHUa1rJ0ZYcJ1Ow_42_6">15,661</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_VmgsijjQG0WEf0coFe7gEQ_44_2">7,966</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_Hg-mc6kizUWFnqvWqmltUA_44_4">20,272</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_IL5ebhziwUuThGsoN_UiQw_44_6">30,521</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-1.1
<SEQUENCE>2
<FILENAME>csiq-20221231xex1d1.htm
<DESCRIPTION>EXHIBIT 1.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:23 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 7.2pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit</b><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">1.1</b></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.9%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><img src="csiq-20221231xex1d1001.jpg" alt="Graphic" style="display:inline-block;height:50.4pt;left:0%;padding-bottom:0.6pt;position:relative;top:0pt;width:151.94pt;"></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">Ministry of Government and<br>Consumer Services<br>Ministere des Services gouvernementaux et<br>des Services aux consommateurs</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 9.35pt;"><b style="font-size:16pt;font-weight:bold;">Certificate of Continuance</b></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 0pt;"><b style="font-size:16pt;font-weight:bold;">Certificat de maintien</b></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 9.35pt;"><font style="font-size:16pt;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 0pt;"><font style="font-size:16pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 10.8pt;">Business Corporations Act</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 25.2pt 0pt 0pt;">Loi sur les soci<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>t<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>s par actions</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:18pt;font-weight:bold;">CANADIAN SOLAR INC.</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-left:6.95pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><hr noshade="true" color="#000000" size="1" style="background-color:#000000;color:#000000;height:1pt;position:relative;top:0.6em;width:98.71%;border:none;margin:0 auto;" align="center"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;">Corporation Name <i style="font-style:italic;">/ </i>D<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>nomination sociale</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:18pt;font-weight:bold;">1497760</b></p><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0.1pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><hr noshade="true" color="#000000" size="1" style="background-color:#000000;color:#000000;height:1pt;position:relative;top:0.6em;width:98.71%;border:none;margin:0 auto;" align="center"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Ontario Corporation Number /<i style="font-style:italic;"> </i>Num<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>ro de soci<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>t<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font> de l&#39;Ontario</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:99.9%;" align="center"><tr style="height:1pt;"><td style="vertical-align:middle;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:middle;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">This is to certify that these articles are effective on</p></td><td style="vertical-align:middle;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">La pr<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>sente vise <font style="font-family:'Arial','Helvetica','sans-serif';">&#224;</font> attester que ces statuts entreront en<br>vigueur le</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">July 29, 2022 / 29 juillet 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 3.75pt 0pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 1.95pt 0pt;">Director <i style="font-style:italic;">/ </i>Directeur</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Business Corporations Act <i style="font-style:italic;">/ </i>Loi sur les soci<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>t<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>s par actions</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="display:inline-block;visibility:hidden;width:0pt;">&#8203;</font><br>Ministry of Government and Consumer Services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:21.65%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:38.34%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><font style="display:inline-block;visibility:hidden;width:0pt;">&#8203;</font><br>ministere des Services gouvernementaux et des<br>Services aux consommateurs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:40%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">The Certificate of Continuance is not complete<br>without the Articles of Continuance</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Certified a true copy of the record of the<br>Ministry of Government and Consumer Services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:6pt 0pt 6pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar</p></td><td style="vertical-align:top;width:21.65%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><img src="csiq-20221231xex1d1006.jpg" alt="Graphic" style="display:inline-block;height:80.65pt;width:82.55pt;"></p></td><td style="vertical-align:top;width:38.34%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Le certificat de maintien n&#39;est pas complet s&#39;il ne<br>contient pas les statuts de maintien</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Copie certifi<font style="font-family:'Arial','Helvetica','sans-serif';">&#233;</font>e conforme du dossier du<br>ministere des Services gouvernementaux et des<br>Services aux consommateurs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Directeur ou registrateur</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:33.15pt;text-align:right;text-indent:-33.15pt;margin:0pt 0pt 0pt 404.1pt;"><font style="color:#1d2123;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">BCA - Article</font><font style="color:#525457;">s </font><font style="color:#34383b;">of Continuance </font><font style="color:#212326;">- </font><font style="color:#34383b;">CANADIAN </font><font style="color:#212326;">SOLAR INC. - </font><font style="color:#34383b;">OCN:1497760 </font><font style="color:#212326;">- </font><font style="color:#34383b;">July 29, 2022</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:33.15pt;text-align:right;text-indent:-33.15pt;margin:0pt 0pt 0pt 404.1pt;"><font style="color:#1d2123;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:33.15pt;text-align:right;text-indent:-33.15pt;margin:0pt 0pt 0pt 404.1pt;"><font style="color:#1d2123;margin-left:0pt;visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.9%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:middle;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:middle;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><img src="csiq-20221231xex1d1001.jpg" alt="Graphic" style="display:inline-block;height:50.4pt;left:0%;padding-bottom:0.6pt;position:relative;top:0pt;width:151.94pt;"></p></td><td style="vertical-align:middle;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">Ministry of Government and<br>Consumer Services<br><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.34pt 9.35pt;"><b style="color:#1d2123;font-size:16pt;font-weight:bold;">Articles of Continuance</b></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.34pt 10.8pt;"><font style="color:#1d2123;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 10.8pt;">Business Corporations Act</p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;white-space:pre-wrap;">1. Corporation  Name</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#2d3134;">CANADIAN SOLAR INC.</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">2. Date of Incorporation/Amalgamation</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#2d3134;">October </font><font style="color:#3d4144;">22, 2001</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">3. Name of jurisdiction the corporation is leaving</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#2d3134;">Canada - </font><font style="color:#1d2123;">B</font><font style="color:#3d4144;">ritish </font><font style="color:#2d3134;">Columbia</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">4. The continuance was authorized by home jurisdiction on</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#2d3134;">July </font><font style="color:#3d4144;">19, </font><font style="color:#2d3134;">202</font><font style="color:#525659;">2</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">5. The corporation is continued in Ontario under the name</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#3d4144;">CANADIAN SOLAR INC.</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">6. Registered Office Address</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#3d4144;">66 Well</font><font style="color:#1d2123;">i</font><font style="color:#3d4144;">ngton </font><font style="color:#2d3134;">Street </font><font style="color:#3d4144;">West, 4100, </font><font style="color:#2d3134;">Toronto</font><font style="color:#525659;">, </font><font style="color:#3d4144;">Ontario, </font><font style="color:#2d3134;">Canada</font><font style="color:#525659;">, </font><font style="color:#2d3134;">M5K 1B7</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:58.38%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">7. Number of Di</font><font style="color:#6790af;">r</font><font style="color:#4277a5;">ectors</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#2d3134;">Minimum/Maximum</font><font style="color:#2d3134;font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#3d4144;">Min 3 / Max 10</font></p></td><td style="vertical-align:top;width:41.61%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 1 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">BCA - Article</font><font style="color:#525457;">s </font><font style="color:#34383b;">of Continuance </font><font style="color:#212326;">- </font><font style="color:#34383b;">CANADIAN </font><font style="color:#212326;">SOLAR INC. - </font><font style="color:#34383b;">OCN:1497760 </font><font style="color:#212326;">- </font><font style="color:#34383b;">July 29, 2022</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.9%;"><tr style="height:1pt;"><td style="vertical-align:middle;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:middle;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:middle;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">8. </font><font style="color:#4479a5;">The director(s) is/are</font><font style="color:#698aa1;">:</font></p></td><td style="vertical-align:middle;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 1.75pt 0pt;"><font style="color:#212326;">Huifeng CHANG</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#34383b;">3000 Oak Road, #400</font><font style="color:#525457;">, </font><font style="color:#34383b;">Walnut Creek, </font><font style="color:#212326;">California, </font><font style="color:#34383b;">United States</font><font style="color:#525457;">,</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 1.75pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 0pt;">94597</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.34pt 10.8pt;"><font style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.34pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 1.25pt 0pt;"><font style="color:#212326;">Leslie </font><font style="color:#34383b;">Li </font><font style="color:#212326;">Hsien CHANG</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#34383b;">8a </font><font style="color:#212326;">Tregunter Tower Two </font><font style="color:#34383b;">14 </font><font style="color:#212326;">Tregunter Path </font><font style="color:#34383b;">Mid </font><font style="color:#212326;">Level, Hong</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-indent:-0.5pt;margin:0pt 0pt 0.44pt 10.3pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.44pt 0pt;"><font style="color:#34383b;">Kong</font><font style="color:#525457;">, ., </font><font style="color:#34383b;">China</font><font style="color:#525457;">, .</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 10.8pt;"><font style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.3pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:0.5pt;text-indent:-0.5pt;margin:0pt 0pt 0.44pt 10.3pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 1.75pt 0pt;"><font style="color:#34383b;">Karl </font><font style="color:#212326;">E. </font><font style="color:#34383b;">OLSONI</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#34383b;">721 Woodhaven </font><font style="color:#212326;">Lane</font><font style="color:#525457;">, </font><font style="color:#34383b;">Naples</font><font style="color:#525457;">, </font><font style="color:#212326;">Florida, United States</font><font style="color:#525457;">, </font><font style="color:#34383b;">3410</font><font style="color:#525457;">8</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Xiao Hua (shawn) QU</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">199 Lushan Road, Suzhou New District, ., China, 215129</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Harry E. RUDA</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">21 Brookfield Road, Toronto, Ontario, Canada, M2P 1Bl</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 10.8pt;"><font style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lauren C. TEMPLETON</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">115 Maple Avenue, Lookout Mountain, Tennessee, United</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#34383b;">States</font><font style="color:#525457;">, </font><font style="color:#34383b;">37350</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Andrew (luen Cheung) WONG</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Flat B, 19/f Tower One, The Leighton Hill 2 Boardwood Road,</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Happy Valley, Hong Kong, ., China, .</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Arthur (lap Tat) WONG</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1208 Dragon Bay Villa Hou Sha Yu, Shun Yi District, ., China,</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">101302</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Full Name</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><b style="color:#212326;font-weight:bold;">Address for Service</b></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Yan ZHUANG</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">199 Lushan Road Suzhou New District, Suzhou, ., China, 215129</p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">9. </font><font style="color:#4479a5;">Restrictions</font><font style="color:#698aa1;">, </font><font style="color:#4479a5;">if any</font><font style="color:#698aa1;">, </font><font style="color:#4479a5;">on business the corporation may carry on or on powers the corporation may exercise. If none</font><font style="color:#698aa1;">, </font><font style="color:#4479a5;">enter</font><font style="color:#4479a5;"><br></font><font style="color:#4479a5;">&quot;None</font><font style="color:#8397a8;">&quot;</font><font style="color:#698aa1;">:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#34383b;">None</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:48.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#212326;margin-left:0pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:51.62%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#4277a5;">10. </font><font style="color:#4479a5;">The classes and any maximum number of shares that the corporation is authorized to issue:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 10.8pt;"><font style="color:#34383b;">An unlimi</font><font style="color:#525457;">t</font><font style="color:#34383b;">e</font><font style="color:#525457;">d </font><font style="color:#34383b;">number </font><font style="color:#525457;">o</font><font style="color:#34383b;">f comm</font><font style="color:#525457;">o</font><font style="color:#34383b;">n share</font><font style="color:#525457;">s </font><font style="color:#34383b;">and an unlimited number of preferred share</font><font style="color:#525457;">s, </font><font style="color:#212326;">i</font><font style="color:#525457;">s</font><font style="color:#34383b;">suable in </font><font style="color:#525457;">s</font><font style="color:#34383b;">eries.</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#676b70;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#676b70;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#676b70;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 2 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">BCA - Articles of Continuance - CANADIAN SOLAR INC. - OCN:1497760 - July 29, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#4277a5;">11. </font><font style="color:#4677a1;">Rights, privileges</font><font style="color:#7595af;">, </font><font style="color:#4677a1;">restrictions and conditions (if any) attaching to each class of shares and directors&#39; authority with respect to any class of shares which may be issued in series. If there is only one class of shares, enter </font><font style="color:#5e83a5;">&quot;Not </font><font style="color:#4677a1;">Applicable&quot;:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#33363a;">The rights</font><font style="color:#505456;">, </font><font style="color:#33363a;">privileges, restrictions and conditions attaching to the common share</font><font style="color:#505456;">s </font><font style="color:#33363a;">and the preferred shares as a class are as follows: 1</font><font style="color:#505456;">. </font><font style="color:#33363a;">Common Shares 1.1 Dividends. Subject to the prior rights of the holders of the preferred shares, the holders of the common shares shall be entitled to receive dividends declared by the board of directors of the Corporation</font><font style="color:#505456;">. </font><font style="color:#33363a;">1.2 Dissolution. Subject to the prior rights of the holders of the preferred shares</font><font style="color:#505456;">, </font><font style="color:#33363a;">the holders of the common shares shall be entitled to receive the remaining property of the Corporation in the event of the liquidation, dissolution or winding up of the Corporation, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of the Corporation among the shareholders for the purpose of winding up its affairs, whether voluntary or involuntary</font><font style="color:#505456;">. </font><font style="color:#33363a;">1.3 Voting. The holders of the common shares shall be entitled to one vote for each common shares held by them at all meetings of shareholders of the Corporation, e</font><font style="color:#505456;">x</font><font style="color:#33363a;">cept meetings at which the holders of the preferred shares are entitled to vote separately as a class or series. 2. Preferred Shares 2.1 One or More Series. The board of directors of the Corporation may issue one or more series of preferred shares at any t</font><font style="color:#151818;">i</font><font style="color:#33363a;">me and from time to time</font><font style="color:#505456;">. </font><font style="color:#33363a;">Before it issues any series of preferred shares, the board of directors of the Corporation shall fix the number of preferred shares in</font><font style="color:#505456;">, </font><font style="color:#33363a;">and determine the designation, rights</font><font style="color:#505456;">, </font><font style="color:#33363a;">privileges, restrictions and conditions attaching to the preferred shares of, such series</font><font style="color:#505456;">, </font><font style="color:#33363a;">including w</font><font style="color:#151818;">i</font><font style="color:#33363a;">thout limitation: (a) the issue price per shares, which may be e</font><font style="color:#505456;">x</font><font style="color:#33363a;">pressed in foreign currency, provided that the issue price per share shall not be less than C$1.00 (or its equivalent in a foreign currency at the date of issue) or more than C$100.00 (or its equivalent in a foreign currency at the date of issue); (b) the rate</font><font style="color:#505456;">, </font><font style="color:#33363a;">amount or method of calculation of dividends, including whether such rate, amount or method shall be subject to change or adju</font><font style="color:#505456;">s</font><font style="color:#33363a;">tment in the future; (c) the method of payment of dividends, including whether such dividends shall be cumulative</font><font style="color:#505456;">, </font><font style="color:#33363a;">non-cumulative, partially cumulative, deferred or payable on some other basis; (d) the date or dates</font><font style="color:#505456;">, </font><font style="color:#33363a;">manner and currency or currencies of payment of dividends; (e) the restrictions, if any, on the payments of dividends on any Junior Shares (defined below); (f) the rights and obligations, if any, of the Corporation to redeem or purchase the shares, including the prices and other terms of redemption or purchase; (g) the terms of any share purchase plan or sinking or similar fund providing for the purchase or redemption of the shares; (h) the rig</font><font style="color:#151818;">h</font><font style="color:#33363a;">ts, if any, of the holders of the shares to retract the shares, including the prices and othe</font><font style="color:#505456;">r </font><font style="color:#33363a;">terms of retraction; (i) the rights</font><font style="color:#151818;">, </font><font style="color:#33363a;">if any, of the holders of the shares or the Corporation to convert or e</font><font style="color:#505456;">x</font><font style="color:#33363a;">change the shares for other securities of the Corporation or any other entity and the rates and other terms of conversion or exchange; (j) the voting rights, if any, attached to the shares; and (k) the preferences</font><font style="color:#64676b;">, </font><font style="color:#33363a;">if any</font><font style="color:#505456;">, </font><font style="color:#33363a;">of the shares over any Junior Shares with respect to the distribution of assets of the Corporation in </font><font style="color:#151818;">t</font><font style="color:#33363a;">he event of liquidation</font><font style="color:#505456;">, </font><font style="color:#33363a;">dissolution or winding up of the Corporation, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of the Corporation among its shareholders for the purpose of winding up its affairs, whether voluntary or involuntary</font><font style="color:#151818;">. </font><font style="color:#505456;">&quot;</font><font style="color:#33363a;">Junior Shares&quot; means the common shares and any other shares of the Corporation ranking junior to the preferred shares with respect t</font><font style="color:#505456;">o </font><font style="color:#33363a;">the payment of dividend</font><font style="color:#505456;">s </font><font style="color:#33363a;">and with respect to the distribution of assets in the event of the liquidation</font><font style="color:#505456;">, </font><font style="color:#33363a;">dissolution or winding up of the Corporation, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of the Corporation among its shareholde</font><font style="color:#505456;">r</font><font style="color:#33363a;">s for the purpose of winding up its affairs, whether voluntary or involuntary</font><font style="color:#505456;">. </font><font style="color:#33363a;">2.2 Dis</font><font style="color:#505456;">s</font><font style="color:#33363a;">olution</font><font style="color:#505456;">. </font><font style="color:#33363a;">In the event of the liquidation, dissolution or winding up of the Corporation, whether voluntary or involuntary</font><font style="color:#64676b;">, </font><font style="color:#505456;">o</font><font style="color:#33363a;">r in the event of any other distribution of the property or assets of the Corporation among its shareholders for the purpose of winding up its affairs, whether voluntary or involuntary, before any amount shall be paid to, or any property distributed among, the holders of the common shares, the holders of the preferred shares shall be entitled to receive: (a) the amount pai</font><font style="color:#505456;">d </font><font style="color:#33363a;">up on such shares or such other amount or amounts as have been provided for with respect to such shares; (b</font><font style="color:#505456;">) </font><font style="color:#33363a;">the premium</font><font style="color:#64676b;">, </font><font style="color:#33363a;">if any, provided for with respect to such shares; (c) in the case of shares ent</font><font style="color:#505456;">i</font><font style="color:#33363a;">tled to cumulative dividends, any unpaid cumulative dividends on such shares; and (d) in the case of shares entitled to non-cumulative dividends, any declared but unpaid noncumulat</font><font style="color:#505456;">i</font><font style="color:#33363a;">ve dividends on such shares. After payment of the amounts payable to them, the holders of the preferred shares shall not be entitled to share in any further distribution of the property and assets of the Corporation. 2.3 Voting. </font><font style="color:#151818;">E</font><font style="color:#505456;">x</font><font style="color:#33363a;">cept where the right</font><font style="color:#505456;">s, </font><font style="color:#33363a;">privileges</font><font style="color:#64676b;">, </font><font style="color:#33363a;">restrictions and conditions attaching to a series of preferred shares otherwise provide, the holders of the prefe</font><font style="color:#505456;">r</font><font style="color:#33363a;">red shares shall not be n</font><font style="color:#505456;">o</font><font style="color:#33363a;">t entitled as such to receive notice of, or to attend or vote at</font><font style="color:#505456;">, </font><font style="color:#33363a;">a meeting of the shareholders of the Corpora</font><font style="color:#505456;">t</font><font style="color:#33363a;">ion. E</font><font style="color:#505456;">x</font><font style="color:#33363a;">cept where the rights</font><font style="color:#505456;">, </font><font style="color:#33363a;">privileges, restrictions and conditions attaching to a series of preferred shares otherwise provide, on any poll taken at any meeting of the holde</font><font style="color:#505456;">r</font><font style="color:#33363a;">s of preferred shares, whether as a class or a series or two or more</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#33363a;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 3 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">BCA - Articles of Continuance - CANADIAN SOLAR INC. - OCN:1497760 - July 29, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">series, each holder of preferred shares entitled to vote at the meeting shall have one one-hundredth of a vote i</font><font style="color:#1a1c1f;">n </font><font style="color:#34383b;">respect of each C$1.00 (or its equivalent in a foreign currency at the date of issuance) of the issue price for each preferred share held. </font><font style="color:#1a1c1f;">E</font><font style="color:#34383b;">xcept where the rights, privileges, restrictions and conditions attaching to a series of preferred shares otherwise provide, the formal</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">ties to be observed with respect to the giving of notice of, and voting at, any meeting of holders of preferred sha</font><font style="color:#1a1c1f;">r</font><font style="color:#34383b;">es, including without limitation</font><font style="color:#595d60;">, </font><font style="color:#34383b;">the quorum therefor, sha</font><font style="color:#1a1c1f;">ll </font><font style="color:#34383b;">be those from t</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">me to time prescribed by the bylaws of the Co</font><font style="color:#1a1c1f;">r</font><font style="color:#34383b;">poration or by standing resolutions of the board of directors of the Corporation with respect to meet</font><font style="color:#595d60;">i</font><font style="color:#34383b;">ngs of shareholders. 2.4 No Voting Required</font><font style="color:#595d60;">. </font><font style="color:#34383b;">Subject to the rights, privileges, restr</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">ctions and conditions attaching to a series of preferred shares, the Corporation may, without the approval or consent of the holders of the preferred shares voting separately as a class or series, at a</font><font style="color:#1a1c1f;">n</font><font style="color:#34383b;">y time and from time to time: (a) create one or more other classes of shares ranking on a parity with the preferred shares with respect to the payment of dividends or the distribution of assets in the event of the liquidation, dissolution or winding up of the Corporation, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of the Corporation among its shareholders for the purpose of winding up its affairs, whether voluntary or involuntary; (b) if all dividends on each outstanding series of preferred shares accrued to the most recently preceding date for the payment of dividends on such series shall have been declared and paid or set apart for payment, create one or more other classes of shares ranking superior to the preferred shares with respect to the payment of dividends or the distribution of assets in the event of the liquidation</font><font style="color:#1a1c1f;">, </font><font style="color:#34383b;">d</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">ssolution or winding up of the Corporation, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of the Corporation among </font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">ts sha</font><font style="color:#1a1c1f;">r</font><font style="color:#34383b;">eho</font><font style="color:#1a1c1f;">l</font><font style="color:#34383b;">ders for the purpose of winding up its affairs, whether vo</font><font style="color:#1a1c1f;">l</font><font style="color:#34383b;">untary or involuntary; (c) increase any ma</font><font style="color:#595d60;">x</font><font style="color:#34383b;">imum number of authorized shares of any other class of shares; and (d) effect</font><i style="color:#34383b;font-style:italic;"> </i><font style="color:#34383b;">an exchange, rec</font><font style="color:#1a1c1f;">l</font><font style="color:#34383b;">assification or cancellation of all or part of the preferred shares</font><font style="color:#070a0c;">. </font><font style="color:#34383b;">2.5 No Pre</font><font style="color:#1a1c1f;">-E</font><font style="color:#34383b;">mptive Rights. The holders of the preferred shares sha</font><font style="color:#1a1c1f;">l</font><font style="color:#34383b;">l </font><font style="color:#1a1c1f;">n</font><font style="color:#34383b;">ot be entitled as such to subscribe for, purchase or rece</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">ve any part of any issue of securities of the Corporation, now or her</font><font style="color:#1a1c1f;">e</font><font style="color:#34383b;">after authorized</font><font style="color:#595d60;">, </font><font style="color:#34383b;">or any rights to acquire the same, ot</font><font style="color:#1a1c1f;">h</font><font style="color:#34383b;">erw</font><font style="color:#1a1c1f;">i</font><font style="color:#34383b;">se than in accordance with any conversion, e</font><font style="color:#595d60;">x</font><font style="color:#34383b;">change or o</font><font style="color:#1a1c1f;">t</font><font style="color:#34383b;">her rights which may from time to time be attached to any series of preferred shares</font><font style="color:#595d60;">.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0.45pt;margin:0pt 0pt 0pt 5.45pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="display:inline-block;text-indent:0pt;width:21.6pt;"><font style="color:#4277a5;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">12.</font></font><font style="color:#4679a3;">The issue</font><font style="color:#6687a5;">,</font><font style="color:#4679a3;">transfer or ownership of shares is/is not rest</font><font style="color:#6687a5;">r</font><font style="color:#4679a3;">icted and the restrictions (if any</font><font style="color:#6687a5;">) </font><font style="color:#4679a3;">are as follows</font><font style="color:#446d82;">. </font><font style="color:#4679a3;">If none</font><font style="color:#6687a5;">, </font><font style="color:#4679a3;">enter </font><font style="color:#6687a5;">&quot;</font><font style="color:#4679a3;">None</font><font style="color:#6687a5;">&quot;:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">None</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="display:inline-block;text-indent:0pt;width:21.6pt;"><font style="color:#4277a5;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">13.</font></font><font style="color:#4679a3;">Other provisions</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">1. Authority to Hold Meetings of Shareholders Outside of Canada Meeting of the shareholders of the Corporation may be held at a place with</font><font style="color:#595d60;">i</font><font style="color:#34383b;">n Canada determined by the directors or, if determined by the directors, outside Canada in New York, New York, Un</font><font style="color:#595d60;">i</font><font style="color:#34383b;">ted States of America, Los Angeles, California, United States of America, London, England</font><font style="color:#595d60;">, </font><font style="color:#34383b;">the Hong Kong Special Administrative Region of The People&#39;s Republic of China or Shanghai</font><font style="color:#595d60;">, </font><font style="color:#34383b;">The People</font><font style="color:#6e7275;">&#39;</font><font style="color:#34383b;">s Republic of China. 2</font><font style="color:#595d60;">. </font><font style="color:#34383b;">Authority to Appoint Additional Directors The board of directors of the Corporation shall fix and may change the number of directors within the minimum and maximum of directors provided for in the Articles of the Corporation. The board of directors may appoint one or more additional directors</font><font style="color:#1a1c1f;">, </font><font style="color:#34383b;">who shall hold office for a term e</font><font style="color:#595d60;">x</font><font style="color:#34383b;">piring not later than the close of the ne</font><font style="color:#595d60;">x</font><font style="color:#34383b;">t annual meeting of shareholders, but the total number of directors so appointed may not exceed one-third of the number of directors elected at the previous annual meeting of sharehol</font><font style="color:#595d60;">d</font><font style="color:#34383b;">ers.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="display:inline-block;text-indent:0pt;width:21.6pt;"><font style="color:#4679a3;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">14.</font></font><font style="color:#4679a3;">The corporation </font><font style="color:#6687a5;">i</font><font style="color:#4679a3;">s to be continued under the Business Corporations Act to the same extent as if it had been incorporated under this Act </font><font style="color:#6687a5;">.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#6687a5;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#6687a5;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#6687a5;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#6687a5;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="color:#6687a5;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0pt 5.7pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 4 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">BCA - Articles of Continuance - CANADIAN SOLAR INC. - OCN:1497760 - July 29, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="display:inline-block;text-indent:0pt;width:21.6pt;"><font style="color:#4679a3;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15.</font></font><font style="color:#467ba8;">The corporation has complied with subsection 180(3) of the Business Corporations Act.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#467ba8;">The articles have been properly executed by the required person(s).</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 55.75pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a3;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 5 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">BCA - Articles of Continuance - CANADIAN SOLAR INC. - OCN:1497760 - July 29, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#4879a3;">Supporting Document -Constating Document from Governing Jurisdiction</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.7pt;"><font style="margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 6 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">BCA - Articles of Continuance - CANADIAN SOLAR INC. - OCN:1497760 - July 29, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 4pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#4879a7;font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;&#160;</font><font style="color:#4879a7;">Supporting Information </font><font style="color:#5b778c;">- </font><font style="color:#4879a7;">Nuans Report Information</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.9%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#1f2124;font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;</font><font style="color:#1f2124;">Nuans Report Reference #</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#363a3d;">121637309</font></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="color:#1f2124;font-family:'Arial','Helvetica','sans-serif';">&#160;&#160;&#160;</font><font style="color:#1f2124;">Nuans Report Date</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#363a3d;">July 04</font><font style="color:#676b6e;">, </font><font style="color:#363a3d;">2022</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 5.9pt;"><font style="color:#363a3d;margin-left:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">The endorsed Articles of Continuance are not complete without the Certificate of Continuance.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><font style="color:#34383b;">Certified a true copy of the record of the Ministry of Government and Consumer Services.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;"><img src="csiq-20221231xex1d1004.jpg" alt="Graphic" style="display:inline-block;height:20.16pt;width:140.15pt;"></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 14.4pt;">Director/Registrar, Ministry of Government and Consumer Services</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:24pt 0pt 0pt 0pt;">Page 7 of 7</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-2.1
<SEQUENCE>3
<FILENAME>csiq-20221231xex2d1.htm
<DESCRIPTION>EXHIBIT 2.1
<TEXT>
<html><head></head><body link=blue lang="EN-US"><div><div align="center"><div align="center"><div style="position:absolute; top:17px; right:64px; font-family:'Times New Roman'; font-size:10pt; font-weight:bold;">Exhibit 2.1</div><table border="0" cellspacing="0" cellpadding="0" style="width:100%;border-collapse:collapse;"><tr style="page-break-inside:avoid;"><td width="92.3%" valign="top" style="padding:0in 5.4pt 0in 5.4pt;width:92.3%;"><p align="center" style="margin:0in 0in .0001pt;text-align:center;"><img src="csiq-20221231xex2d1g001.jpg" alt="GRAPHIC"></p></td><td width="7.7%" valign="middle" style="padding:0in 5.4pt 0in 5.4pt;width:7.7%;"><p style="margin:0in 0in .0001pt;"><font size="1" color="white" face="Arial" style="color:white;font-size:1.0pt;">THIS CERTIFIES THAT
is the owner of
CUSIP
DATED
COUNTERSIGNED AND REGISTERED:
COMPUTERSHARE TRUST COMPANY, N.A.
TRANSFER&#x2008;AGENT AND&#x2008;REGISTRAR,
FULLY-PAID AND NON-ASSESSABLE COMMON SHARES, WITH NO PAR VALUE, OF
CANADIAN SOLAR INC.
transferable on the books of the Company by the holder hereof, in person, or by duly authorized attorney upon the
surrender of this Certificate properly endorsed. The shares represented by this Certificate are subject to provisions
of the articles of incorporation and by-laws of the Company as from time to time amended or restated. This
Certificates is not valid until countersigned by the Transfer Agent and registered by the Registrar.
Witness the facsimile signatures of its duly authorized officers.
COMMON STOCK
NO PAR VALUE
COMMON STOCK
SEE REVERSE FOR CERTAIN DEFINITIONS
Certificate
Number
Shares
..
CANADIAN SOLAR INC.
CONTINUED UNDER THE LAWS OF THE PROVINCE OF BRITISH COLUMBIA
Chairman&#x2008;and Chief Executive Officer
By AUTHORIZED&#x2008;SIGNATURE
 &#xF0AB;
CANADIAN SOLAR INC.
BRITISH COLUMBIA
CORPORATION
ZQ|CERT#|COY|CLS|RGSTRY|ACCT#|TRANSTYPE|RUN#|TRANS#
136635 10 9
DD-MMM-YYYY
**000000 ******************
***000000 *****************
**** 000000 ****************
***** 000000 ***************
****** 000000 **************
** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample
**** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David
Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander
David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr.
Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample ****
Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample
**** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David
Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander
David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr.
Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample ****
Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Alexander David Sample **** Mr. Sample **** Mr. Sample
**000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares***
*000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****
000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****0
00000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****00
0000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000
000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****0000
00**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****00000
0**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000
**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000*
*Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**
Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**Shares****000000**S
***ZERO&#x2008;HUNDRED THOUSAND
ZERO HUNDRED AND ZERO***
MR. SAMPLE &amp; MRS. SAMPLE &amp;
MR. SAMPLE &amp; MRS. SAMPLE
ZQ00000000
Total Transaction
1234567890/1234567890
1234567890/1234567890
1234567890/1234567890
1234567890/1234567890
1234567890/1234567890
1234567890/1234567890
Certificate Numbers Num/No.
6
5
4
3
2
1
Denom.
6
5
4
3
2
1
Total
7
6
5
4
3
2
1
ADD 4
ADD 3
ADD 2
ADD 1
DESIGNATION (IF ANY)
MR A SAMPLE
PO BOX 505006, Louisville, KY 40233-5006
Canadian Solar Inc.
CUSIP/IDENTIFIER XXXXXX XX X
Holder ID XXXXXXXXXX
Insurance Value 1,000,000.00
Number of Shares 123456
DTC 12345678 123456789012345
THIS CERTIFICATE IS TRANSFERABLE IN
CITIES DESIGNATED BY THE TRANSFER
AGENT, AVAILABLE ONLINE AT
www.computershare.com</font></p></td></tr></table></div><div style="margin-left:2.6515151515151%;margin-right:2.65151515151515%;page-break-after:always;" ><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div><div align="center"><table border="0" cellspacing="0" cellpadding="0" style="width:100%;border-collapse:collapse;"><tr style="page-break-inside:avoid;"><td width="92.3%" valign="top" style="padding:0in 5.4pt 0in 5.4pt;width:92.3%;"><p align="center" style="margin:0in 0in .0001pt;text-align:center;"><img src="csiq-20221231xex2d1g002.jpg" alt="GRAPHIC"></p></td><td width="7.7%" valign="middle" style="padding:0in 5.4pt 0in 5.4pt;width:7.7%;"><p style="margin:0in 0in .0001pt;"><font size="1" color="white" face="Arial" style="color:white;font-size:1.0pt;">The IRS requires that the named transfer agent (&#x201C;we&#x201D;) report the cost
basis of certain shares or units acquired after January 1, 2011. If your
shares or units are covered by the legislation, and you requested to sell
or transfer the shares or units using a specific cost basis calculation
method, then we have processed as you requested. If you did not
specify a cost basis calculation method, then we have defaulted to the
first in, first out (FIFO) method. Please consult your tax advisor if you
need additional information about cost basis.
If you do not keep in contact with the issuer or do not have any
activity in your account for the time period specified by state law,
your property may become subject to state unclaimed property
laws and transferred to the appropriate state.
For value received, ____________________________hereby sell, assign and transfer unto
________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________
________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________ Shares
_______________________________________________________________________________________________________________________ Attorney
Dated: __________________________________________20__________________
Signature: ____________________________________________________________
Signature: ____________________________________________________________
 Notice: The signature to this assignment must correspond with the name
as written upon the face of the certificate, in every particular,
without alteration or enlargement, or any change whatever.
PLEASE INSERT SOCIAL SECURITY OR OTHER IDENTIFYING NUMBER OF ASSIGNEE
(PLEASE PRINT OR TYPEWRITE NAME AND ADDRESS, INCLUDING POSTAL ZIP CODE, OF ASSIGNEE)
represented by the within Certificate, and do hereby irrevocably constitute and appoint
to transfer the said stock on the books of the within-named Company with full power of substitution in the premises.
..
CANADIAN SOLAR INC.
THE COMPANY IS AUTHORIZED TO ISSUE MORE THAN ONE CLASS OR SERIES OF SHARES. UPON WRITTEN REQUEST, THE COMPANY WILL
FURNISH WITHOUT CHARGE TO EACH SHAREHOLDER WHO SO REQUESTS THE POWERS, DESIGNATIONS, PREFERENCES AND RELATIVE,
PARTICIPATING, OPTIONAL OR OTHER SPECIAL RIGHTS OF EACH CLASS OF SHARES OR SERIES THEREOF AND THE QUALIFICATIONS, LIMITATIONS
OR RESTRICTIONS OF SUCH PREFERENCES AND/OR RIGHTS.
Signature(s) Guaranteed: Medallion Guarantee Stamp
THE SIGNATURE(S) SHOULD BE GUARANTEED BY AN ELIGIBLE GUARANTOR INSTITUTION (Banks,
Stockbrokers, Savings and Loan Associations and Credit Unions) WITH MEMBERSHIP IN AN APPROVED
SIGNATURE GUARANTEE MEDALLION PROGRAM, PURSUANT TO S.E.C. RULE 17Ad-15.
The following abbreviations, when used in the inscription on the face of this certificate, shall be construed as though they were written out in full
according to applicable laws or regulations:
TEN COM - as tenants in common UNIF GIFT MIN ACT -............................................Custodian ................................................ (Cust) (Minor)
TEN ENT - as tenants by the entireties under Uniform Gifts to Minors Act ........................................................ (State)
JT TEN - as joint tenants with right of survivorship UNIF&#x2008;TRF MIN ACT -............................................Custodian (until age ................................) and not as tenants in common (Cust)
 .............................under Uniform Transfers to Minors Act ...................
 (Minor) (State)
Additional abbreviations may also be used though not in the above list.</font></p></td></tr></table></div><div style="margin-left:2.6515151515151%;margin-right:2.65151515151515%;page-break-after:avoid;" ><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-2.2
<SEQUENCE>4
<FILENAME>csiq-20221231xex2d2.htm
<DESCRIPTION>EXHIBIT 2.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:22 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 2.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">DESCRIPTION OF THE REGISTRANT&#8217;S SECURITIES</b><b style="font-size:11pt;font-weight:bold;"><br></b><b style="font-size:11pt;font-weight:bold;">REGISTERED PURSUANT TO SECTION 12 OF THE</b><b style="font-size:11pt;font-weight:bold;"><br></b><b style="font-size:11pt;font-weight:bold;">SECURITIES EXCHANGE ACT OF 1934</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Canadian Solar Inc. (&#8220;we,&#8221; &#8220;us,&#8221; &#8220;our company,&#8221; or &#8220;our&#8221;) has the following securities registered pursuant to Section 12(b) of the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;):</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr><td style="vertical-align:bottom;width:29.83%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0pt 1pt;"><b style="font-weight:bold;">Title of each class registered as of</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">the end of the period covered by</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">the annual report</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.59%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trading symbol</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.02%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name of each exchange on which</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">registered</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;border-bottom:1.0pt solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:29.83%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt 0pt 0pt 1pt;">Common shares with no par value</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:33.59%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">CSIQ</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:32.02%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Nasdaq Global Select Market</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">This exhibit contains a description of the rights of the holders of our common shares. The following summary is subject to and qualified in its entirety by our articles, as amended from time to time, (the &#8220;articles&#8221;), our by-laws as effective from time to time (the &#8220;by-laws&#8221;), and by applicable Canadian law, particularly the </font><i style="font-size:11pt;font-style:italic;">Business Corporations Act</i><font style="font-size:11pt;"> (Ontario) (the &#8220;OBCA&#8221;). This is not a summary of all the significant provisions of the articles, by-laws or of applicable Canadian law and does not purport to be complete. Capitalized terms used but not defined herein have the meanings given to them in our annual report on Form 20-F to which this description of securities registered under section 12 of the Exchange Act is an exhibit.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 9. General</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 9.A.3 Pre-emptive rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Our common shares do not contain any pre-emptive purchase rights to any of our securities.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 9.A.5 Type and class of securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Our class of common shares are registered with the U.S. Securities and Exchange Commission. We may issue an unlimited number of common shares, without par value. Other than under applicable securities laws, there are no restrictions on the transferability of our common shares.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 9.A.6 Limitations or qualifications</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;white-space:pre-wrap;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares, in one or more series, at any time and from time to time. Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series.  See Item 9.A.7 below. Due to the issuance of preferred shares, the rights of our common shares, including their voting power, may be materially limited.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 9.A.7 Rights of other types of securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares, in one or more series, at any time and from time to time. Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B Articles</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.3 Shareholder rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Dividends</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Subject to the prior rights of the holders of the issued preferred shares, if any, the holders of the common shares are entitled to receive dividends declared by our board of directors. Pursuant to the OBCA, the board of directors shall not declare and Canadian Solar Inc. shall not pay a dividend if there are reasonable grounds for believing that (a) Canadian Solar Inc. is, or after the payment, would be unable to pay its liabilities as they become due; or (b) the realizable value of Canadian Solar Inc.&#8217;s assets would thereby be less than the aggregate of its liabilities, and its stated capital of all classes. All holders of common shares will share equally on a per share basis in any dividend declared by the board of directors on the common shares. The dividend entitlement time limit will be fixed by the board of directors at the time any such dividend is declared.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Voting rights</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">The holders of common shares are entitled to receive notice of and to attend and vote at all meetings of our shareholders and each common share confers the right to one vote in person or by proxy at all meetings of our shareholders, except meetings at which the holders of the issued preferred shares, if any, are entitled to vote separately as a class or series. All directors stand for re-election annually.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Liquidation</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Subject to the prior rights of the holders of the issued preferred shares, if any, the holders of the common shares are entitled to receive the remaining property of Canadian Solar Inc. in the event of our liquidation, dissolution or winding up, whether voluntary or involuntary, or in the event of any other distribution of the property or assets of Canadian Solar Inc. among the shareholders for the purpose of winding up our affairs, whether voluntary or involuntary.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Other</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">The common shares are not convertible or redeemable and have no preemptive, subscription or conversion rights. In the event of a merger or consolidation, all common shareholders will be entitled to receive the same per share consideration. There are no provisions in our articles discriminating against any existing or prospective shareholder as a result of such shareholder owning a substantial number of our common shares. Our common shares are not subject to liability to further capital calls by our company. Also, no provisions or rights exist in our articles regarding our common shares in connection with exchange, redemption, retraction, purchase for cancellation, surrender or sinking or purchase funds.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.4 Changes to shareholder rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><font style="font-size:11pt;">Other than as disclosed in </font><font style="font-size:11pt;">Item 9.A.7 above</font><font style="font-size:11pt;">, Canadian Solar Inc.&#8217;s articles and by-laws do not provide for us to be able to change the rights of Canadian Solar Inc.&#8217;s shareholders.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><font style="font-size:11pt;">The OBCA provides for certain avenues for the rights of Canadian Solar Inc.&#8217;s shareholders to be changed including:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-family:'Symbol';">&#183;</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">The directors may, by resolution, make, amend or repeal any by-laws that regulate our business or affairs, which may change the rights of our shareholders. Where the directors make, amend or repeal a by-law, they are required to submit the by-law, amendment or repeal to the shareholders at the next meeting of shareholders, and the shareholders may, by ordinary resolution, confirm, reject or amend the by-law, amendment or repeal. However the by-law, amendment or repeal is effective from the date of the resolution of the directors until it is confirmed, confirmed as amended or rejected by the shareholders or until the date of the meeting of shareholders at which it should have been submitted if it is not so submitted.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-family:'Symbol';">&#183;</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Subject to the OBCA, we may from time to time if authorized by a special resolution of our shareholders (i.e., a resolution that is submitted to a special meeting of the shareholders duly called for the purpose of considering the resolution and passed, with or without amendment, at the meeting by at least two-thirds of the votes cast), amend Canadian Solar Inc.&#8217;s articles to add, change or remove any provision that is permitted by the OBCA to be, or that is, set out in its articles, including without limiting the generality of the foregoing, to:</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">change our name;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">add, change or remove any restriction upon the business or businesses that we may carry on or upon the powers that we may exercise;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">add, change or remove any maximum number of shares that we are authorized to issue or any maximum consideration for which any of our shares are authorized to be issued;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">create new classes of shares;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">change the designation of all or any of its shares, and add, change or remove any rights, privileges, restrictions and conditions, including rights to accrued dividends, in respect of all or any of its shares, whether issued or unissued;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">change the shares of any class or series, whether issued or unissued, into a different number of shares of the same class or series or into the same or a different number of shares of other classes or series;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">divide a class of shares, whether issued or unissued, into series and fix the number of shares in each series and the rights, privileges, restrictions and conditions thereof;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">authorize the directors to divide any class of unissued shares into series and fix the number of shares in each series and the rights, privileges, restrictions and conditions thereof, or to revoke, diminish or enlarge any such authority;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">authorize the directors to change the rights, privileges, restrictions and conditions attached to unissued shares of any series, or to revoke, diminish or enlarge any such authority;</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">subject to certain constraints, increase or decrease the number, or minimum or maximum number, of directors; and</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">o</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">add, change or remove restrictions on the issue, transfer or ownership of shares of any class or series.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-family:'Symbol';">&#183;</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Where the directors are authorized by the articles to divide any class of unissued shares into series and determine the designation, rights, privileges, restrictions and conditions thereof, they may by resolution authorize the amendment of the articles to so provide.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.6 Limitations on shareholder rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><font style="font-size:11pt;">Except as provided below, there are no limitations specific to the rights of non-Canadians to hold or vote our shares under the laws of Canada or Ontario, or in our articles or by-laws.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Competition Act</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><font style="font-size:11pt;">Limitations on the ability to acquire and hold our shares may be imposed by the </font><i style="font-size:11pt;font-style:italic;">Competition Act </i><font style="font-size:11pt;">(Canada). This legislation establishes a pre-merger notification regime for certain types of merger transactions that exceed certain statutory shareholding and financial thresholds. Transactions that are subject to notification cannot be closed until the required materials are filed and the applicable statutory waiting period has expired or been waived by the Commissioner of Competition, or the Commissioner. Further, the </font><i style="font-size:11pt;font-style:italic;">Competition Act </i><font style="font-size:11pt;">(Canada) permits the Commissioner to review any acquisition of control over or of a significant interest in us, whether or not it is subject to mandatory notification. This legislation grants the Commissioner jurisdiction, for up to one year, to challenge this type of acquisition before the Canadian Competition Tribunal if it would, or would be likely to, substantially prevent or lessen competition in any market in Canada.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;font-style:italic;font-weight:bold;">Investment Canada Act</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><font style="font-size:11pt;">The </font><i style="font-size:11pt;font-style:italic;">Investment Canada Act </i><font style="font-size:11pt;">requires notification and, in certain cases, advance review and approval by the Government of Canada, through the Minister of Innovation, Science and Industry (the &#8220;</font><b style="font-size:11pt;font-weight:bold;">Minister</b><font style="font-size:11pt;">&#8221;)</font><b style="font-size:11pt;font-weight:bold;">, </b><font style="font-size:11pt;">of an investment to establish a new Canadian business by a non-Canadian or of the acquisition by a non-Canadian of &#8220;control&#8221; of a &#8220;Canadian business&#8221;, all as defined in the Investment Canada Act. Generally, the threshold for advance review and approval will be higher in monetary terms for an investor who is controlled in a country that is a member of the World Trade Organization and who is not a state-owned enterprise. The </font><i style="font-size:11pt;font-style:italic;">Investment Canada Act </i><font style="font-size:11pt;">generally prohibits the implementation of such a reviewable transaction unless, after review, the Minister is satisfied that the investment is likely to be of net benefit to Canada. The </font><i style="font-size:11pt;font-style:italic;">Investment Canada Act </i><font style="font-size:11pt;">contains various rules to determine if there has been an acquisition of control. For example, for purposes of determining whether an investor has acquired control of a corporation by acquiring shares, the following general rules apply, subject to certain exceptions: (1) the acquisition of a majority of the voting shares of a corporation is deemed to be acquisition of control of that corporation; (2) the acquisition of less than a majority but one-third or more of the voting shares of a corporation is presumed to be an acquisition of control of that corporation unless it can be established that, on the acquisition, the corporation is not controlled in fact by the acquiror through the ownership of voting shares; and (3) the acquisition of less than one-third of the voting shares of a corporation is deemed not to be acquisition of control of that corporation.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><font style="font-size:11pt;">In addition, under the </font><i style="font-size:11pt;font-style:italic;">Investment Canada Act</i><font style="font-size:11pt;">, &#8220;national security&#8221; review on a discretionary basis may also be undertaken by the federal Canadian government in respect of a much broader range of investments by a non-Canadian to &#8220;acquire, in whole or in part, or to establish an entity carrying on all or any part of its operations in Canada&#8221;, with the relevant test being whether the Minister has &#8220;reasonable grounds to believe that an investment by a non-Canadian could be injurious to national security.&#8221; The Minister has broad discretion to determine whether an investor is a non-Canadian and therefore may be subject to &#8220;national security&#8221; review. Review on national security grounds is at the discretion of the federal government and may occur on a pre- or post-closing basis. If the Minister, after consultation with the Minister of Public Safety and Emergency Preparedness, considers that the investment could be injurious to &#8220;national security&#8221;, the Minister refers the investment to the Governor in Council. On referral of an investment, if the Governor in Council determines the investment could be injurious to &#8220;national security&#8221;, the Governor in Council may takes any measures in respect of the investment that it considers advisable to protect national security, including denying the investment, asking for undertakings, imposing terms or conditions for the investment, or ordering divestiture (if the investment has been completed). Any of these provisions may discourage a potential acquirer from proposing or completing a transaction that may have otherwise presented a premium</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><font style="font-size:11pt;">to our shareholders. We cannot predict whether investors will find our company and our common shares less attractive because we are governed by foreign laws.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.7 Change in control</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><font style="font-size:11pt;">The following provisions in Canadian Solar Inc.&#8217;s articles may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying or preventing a change of control of our company:</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-family:'Symbol';">&#183;</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares, in one or more series, at any time and from time to time. Before it issues any series of preferred shares, our board of directors shall fix the number of preferred shares in, and determine the designation, rights, privileges, restrictions and conditions attaching to the preferred shares of, such series.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-family:'Symbol';">&#183;</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Our board of directors is entitled to fix and may change the number of directors within the minimum and maximum number of directors provided for in our articles (i.e., a minimum of three and a maximum of ten directors). Our board of directors may appoint one or more additional directors, who shall hold office for a term expiring not later than the close of the next annual meeting of shareholders, but the total number of directors so appointed may not exceed one-third of the number of directors elected at the previous annual meeting of shareholders.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">In addition, Canadian Solar Inc&#8217;s by-laws and the OBCA provide for minimum time periods for the calling and holding of meetings of shareholders.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Otherwise, there are no provisions in Canadian Solar Inc&#8217;s articles or by-laws or in the OBCA that would have an effect of delaying, deferring or preventing a change in control of our company which would operate with respect to a merger, acquisition or corporate restructuring involving our company or any of our subsidiaries.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.8 Ownership disclosure threshold for our common shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Canadian Solar Inc.&#8217;s articles and by-laws do not have any specific threshold requiring disclosure of ownership by holders of our shares. The OBCA and securities regulation in Canada requires that we disclose in our proxy information circular for our annual general meeting and certain other disclosure documents filed by us under such regulation, holders who beneficially own, directly or indirectly, or control or direct, voting securities of Canadian Solar Inc. carrying 10% or more of the voting rights attached to any class of outstanding voting securities. Most state corporation statutes do not contain provisions governing the threshold above which shareholder ownership must be disclosed. United States federal securities laws require us to disclose, in an annual report on Form 20-F, holders who own 5% or more of Canadian Solar Inc.&#8217;s issued and outstanding shares.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.9 Differences in the law</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">See Items 10.B.3, 10.B.4, 10.B.6, 10.B.7, 10.B.8 above.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 10.B.10 Changes in capital</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">The requirements imposed by our articles governing changes in capital are not more stringent than is required by applicable laws, including the OBCA.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 12. Description of securities other than equity securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 12.A Debt securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Not applicable.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 12.B Warrants and rights</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Not applicable.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 12.C Other securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Not applicable.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:11pt;font-weight:bold;">Item 12.D.1 and 12.D.2 Description of American Depositary Shares</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">Not applicable.</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-8.1
<SEQUENCE>5
<FILENAME>csiq-20221231xex8d1.htm
<DESCRIPTION>EXHIBIT 8.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:22 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT&#160;8.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">LIST OF SIGNIFICANT SUBSIDIARIES</b></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:23.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:18pt;"><td style="vertical-align:bottom;width:51.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name&#160;of&#160;entity</b></p></td><td style="vertical-align:bottom;width:1.87%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:21.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;of&#160;incorporation</b></p></td><td style="vertical-align:bottom;width:1.86%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;width:23.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership&#160;interest</b></p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Solutions Inc.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recurrent Energy Group Inc.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Co., Ltd.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">79.59%</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Cells Co., Ltd. </p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang) Inc. </p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Technology (Xining) Co., Ltd.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Manufacturing (Changshu) Inc. </p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar (USA) Inc.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100%*</p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:bottom;width:51.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co., Ltd.</p></td><td style="vertical-align:bottom;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:23.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">99.999996%*</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">* Significant subsidiaries (as defined in Rule 1-02(w) of Regulation S-X) within the scope of CSI Solar were held through CSI Solar Co., Ltd. in which CSI held a 79.59% ownership interest. Such ownership interest percentage may differ when calculated on different bases of accounting, e.g. PRC GAAP.</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.1
<SEQUENCE>6
<FILENAME>csiq-20221231xex12d1.htm
<DESCRIPTION>EXHIBIT 12.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:22 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT&#160;12.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certification by the Chief Executive Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Shawn (Xiaohua) Qu, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font>I have reviewed this annual report on Form&#160;20-F of Canadian Solar Inc. (the &#8220;Company&#8221;);</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font>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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font>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 Company as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font>The Company&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the Company and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>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 Company, 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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>Evaluated the effectiveness of the Company&#8217;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</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(d)</font></font>Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font>The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>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 Company&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">April 18, 2023</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.83%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.04%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Executive Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.2
<SEQUENCE>7
<FILENAME>csiq-20221231xex12d2.htm
<DESCRIPTION>EXHIBIT 12.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:42 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT&#160;12.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certification by the Chief Financial Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I, Huifeng Chang, certify that:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font>I have reviewed this annual report on Form&#160;20-F of Canadian Solar Inc. (the &#8220;Company&#8221;);</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font>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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.1pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font>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 Company as of, and for, the periods presented in this report;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font>The Company&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&#160;13a-15(e)&#160;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&#160;13a-15(f)&#160;and 15d-15(f)) for the Company and have:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>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 Company, 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;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>Evaluated the effectiveness of the Company&#8217;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</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.3pt;margin:0pt 0pt 12pt 28.35pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.35pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(d)</font></font>Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:28.35pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:21.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font>The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.6pt;margin:0pt 0pt 12pt 28.1pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>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 Company&#8217;s ability to record, process, summarize and report financial information; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:21.6pt;margin:0pt 0pt 12pt 28.1pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:28.3pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">April 18, 2023</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Huifeng Chang</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.08%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.83%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer</p></td><td style="vertical-align:top;width:49.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.1
<SEQUENCE>8
<FILENAME>csiq-20221231xex13d1.htm
<DESCRIPTION>EXHIBIT 13.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:42 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT&#160;13.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certification by the Chief Executive Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In connection with the Annual Report of Canadian Solar Inc. (the &#8220;Company&#8221;) on Form&#160;20-F for the year ended December&#160;31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;),&#160;I, Shawn (Xiaohua) Qu, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.45pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1).</font></font>The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.45pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.55pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2).</font></font>The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:6.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">April 18, 2023</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.82%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.04%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Chief Executive Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.2
<SEQUENCE>9
<FILENAME>csiq-20221231xex13d2.htm
<DESCRIPTION>EXHIBIT 13.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:43 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT&#160;13.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Certification by the Chief Financial Officer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In connection with the Annual Report of Canadian Solar Inc. (the &#8220;Company&#8221;) on Form&#160;20-F for the year ended December&#160;31, 2022 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;),&#160;I, Huifeng Chang, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.3pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.7pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1).</font></font>The Report fully complies with the requirements of Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934; and</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:35.3pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36.7pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2).</font></font>The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Date:</p></td><td colspan="3" style="vertical-align:top;width:46.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">April 18, 2023</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="4" style="vertical-align:top;width:50.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Huifeng Chang</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.47%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.39%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:6.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Chief Financial Officer</p></td><td style="vertical-align:top;width:49.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-15.1
<SEQUENCE>10
<FILENAME>csiq-20221231xex15d1.htm
<DESCRIPTION>EXHIBIT 15.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:42 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">EXHIBIT 15.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We consent to the incorporation by reference in Registration Statement Nos. 333-147042, 333-178187 and 333-201766 on Form S-8 and Registration Statement No. 333-208828 on Form F-3 of our reports dated April 18, 2023, relating to the financial statements of Canadian Solar Inc. and subsidiaries (the &quot;Company&quot;), and the effectiveness of the Company&#39;s internal control over financial reporting, appearing in this Annual Report on Form 20-F of the Company for the year ended December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Shanghai, China</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">April 18, 2023</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-15.2
<SEQUENCE>11
<FILENAME>csiq-20221231xex15d2.htm
<DESCRIPTION>EXHIBIT 15.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  9.14.0.96--><!--Created on: 4/18/2023 05:38:56 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:right;margin:0pt;"><b style="font-size:12pt;font-weight:bold;">Exhibit 15.2</b></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;margin:0pt;"><font style="font-size:12pt;">April 18, 2023</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;margin:0pt;"><b style="font-size:12pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">VIA EDGAR</b></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">Office of Manufacturing</font><font style="font-size:12pt;"><br></font><font style="font-size:12pt;">Division of Corporation Finance</font><font style="font-size:12pt;"><br></font><font style="font-size:12pt;">Securities and Exchange Commission</font><font style="font-size:12pt;"><br></font><font style="font-size:12pt;">100 F Street, N.E.</font><font style="font-size:12pt;"><br></font><font style="font-size:12pt;">Washington, D.C. 20549</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><font style="font-size:12pt;">Re: </font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><font style="font-size:12pt;">Canadian Solar Inc.</font><font style="font-size:12pt;"><br></font><font style="font-size:12pt;">Submission under Item 16I(a) of Form 20-F</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;margin:0pt;"><font style="font-size:12pt;">Dear Sir/Madam,</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;margin:0pt;"><font style="font-size:12pt;">In compliance with the Holding Foreign Companies Accountable Act (the &#8220;HFCAA&#8221;), Canadian Solar Inc. (the &#8220;Company&#8221;) is submitting via EDGAR the following information as required under Item 16I(a) of Form 20-F.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-indent:36pt;margin:0pt;"><font style="font-size:12pt;">On May 26, 2022, the Company was conclusively identified by the U.S. Securities and Exchange Commission (the &#8220;SEC&#8221;) as a Commission-Identified Issuer pursuant to the HFCAA because it filed an annual report on Form 20-F for the fiscal year ended December 31, 2021 with the SEC on April 28, 2022 with an audit report issued by Deloitte Touche Tohmatsu Certified Public Accountants LLP, a registered public accounting firm retained by the Company for the preparation of the audit report on the Company&#8217;s financial statements included therein. Deloitte Touche Tohmatsu Certified Public Accountants LLP is a registered public accounting firm headquartered in mainland China, a jurisdiction where the Public Company Accounting Oversight Board (the &#8220;PCAOB&#8221;) determined that it was unable to inspect or investigate registered public accounting firms headquartered there until December 2022 when the PCAOB vacated its previous determination. In response to Item 16I(a) of Form 20-F, the Company believes that the following information establishes that it is not owned or controlled by a governmental entity in China.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:35.45pt;margin:0pt;"><font style="font-size:12pt;">To the Company&#8217;s knowledge and based on an examination of our shareholder register and public filings made by our shareholders, including among others, the Schedule 13G/A filed by Invesco Ltd. on January 31, 2022, the Schedule 13G/A filed by BlackRock, Inc. on January 31, 2023, and the Schedule 13G filed by Grantham, Mayo, Van Otterloo &amp; Co. LLC on February 13, 2023, the Company respectfully submits that it is not owned or controlled by a governmental entity in China as of the date of this submission.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:35.45pt;margin:0pt;"><font style="font-size:12pt;">As of January 31, 2023, Dr. Shawn (Xiaohua) Qu beneficially owned 21.3% and BlackRock, Inc. beneficially owned 7.3% of the Company&#8217;s outstanding shares. Based on an examination of the Company&#8217;s shareholder register and public filings made by the Company&#8217;s shareholders, no other shareholder owned more than 5% of the Company&#8217;s outstanding shares as of January 31, 2023.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:35.45pt;margin:0pt;"><font style="font-size:12pt;">In addition, the Company is not aware of any governmental entity in China that possesses, directly or indirectly, the power to direct or cause the direction of the management and policies of the Company, whether through the ownership of voting securities, by contract,</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:0pt;padding-top:0pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;"><font style="font-size:12pt;">1</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:0pt;padding-top:0pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;padding-top:0pt;text-align:justify;margin:0pt;"><font style="font-size:12pt;">or otherwise.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:12pt;text-align:justify;text-indent:35.45pt;margin:0pt;"><font style="font-size:12pt;">Should you have any questions or comments regarding the Company&#8217;s submission set forth above, please do not hesitate to contact me, or you may contact our outside legal counsel, David Zhang at </font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">david.zhang@kirkland.com</u><font style="font-size:12pt;"> </font><font style="font-size:12pt;">or at + 852 3761 3318 (work) or +852 9124 8324 (cell), or Louis Rabinowitz at </font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">louis.rabinowitz@kirkland.com</u><font style="font-size:12pt;"> </font><font style="font-size:12pt;">or at +852 3761 3593 (work) or +852 6398 4103 (cell), of Kirkland &amp; Ellis. Thank you.</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:0pt;padding-top:0pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;"><font style="font-size:12pt;">2</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-top:0pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 252pt;"><font style="font-size:12pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td colspan="2" style="vertical-align:bottom;width:49.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;">Very truly yours,</font></p></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;">By:</font></p></td><td style="vertical-align:bottom;width:45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;">/s/ Huifeng Chang</font></p></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;">Name: Huifeng Chang</font></p></td></tr><tr><td style="vertical-align:bottom;width:50.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:4.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;">Title: Director and Chief Financial Officer</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:0pt;margin:0pt;"><font style="display:inline-block;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">cc:</font></font><font style="font-size:12pt;">David Zhang, Esq., Kirkland &amp; Ellis</font></p><p style="border-top-style:none;font-family:'Times New Roman','Times','serif';font-size:10pt;padding-top:0pt;text-indent:36pt;margin:0pt;"><font style="font-size:12pt;">Louis Rabinowitz, Esq., Kirkland &amp; Ellis</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;"><font style="font-size:12pt;">3</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>12
<FILENAME>csiq-20221231xex1d1001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 csiq-20221231xex1d1001.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" !E 3 # 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HI,UE:YXMT/PS$)=8UBPTF(]'OKI(1^;$4 :U%>:_P##3'PB\QT_
MX6CX.W("6']O6O _[[K0\/?'?X;>++B*WT7X@>&-6N91N2"RUBWED8>RA\_I
M0!W5%1Q3QSH'C=70]&4Y!_&I* "BBB@ HHHH **** "BBDR,X[T +129%+0
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
M\?OC!XE_;O\ V@DO?#'@N]ORT9TS2M*L WGF('[]PX&!GJ><#O0!]J?LV_\
M!3GQK\=OB_H_@ZU^$FG2-J3*UQ?:7JK/]FA'WI9,QD84=B16=_P6>\0:5+X5
M^'OAR:5(]1N-0DN2=B%UA"[<[OO#DCVKO_V._P!E/0OV$?AIK_Q,^(][:6/B
M>6T9[PQW1,%C;CD0*2=KN2!SZ\"OSE_: _:$U']J;XRZCXSOX+B#3T'V31M,
M\O=Y< ;@[@.I/+4 6_V*?B*WPH_:M\ 7;6DRPW-R=.GDC<B22.0; &! 7 ZX
M'YU^_@.17\V>FW]OI/Q!\.740D%Q;:K!.R[HXB<2*/E'S$Y]<=N_6OZ0='NO
MMVE6=Q@KYL*288Y(RH/]: +E%%% !3)/N&GTC#(Q0!_,7J#11?%ZX-^K&!=<
M<SJ?O%?M!W#Z]:_ISC960%2"IY!'0BOYYOV_?@K>_ S]J7QC8M;/#I.K7;ZU
MI<V,))!.Q?"_[DA=/^ >XK]=?V!_VO?#G[2'PCT:PDU*"W\>:-:1VFJZ5+(!
M-(8U"BXC!.71P 21]UB0>Q(!]35^0/\ P6ZEMF^)_P -HTQ]K72;II.?X#,N
MS]0]?K1XH\5:1X*T"]UO7=2M=(TFRC,MQ>WLHBBB4=2S'@5_/Q^W=^T;!^U#
M^T/J?B+2!*WAZRB32M(\Q<-)!&S'S-O;>[NP!Y *@\T ?HW_ ,$9DD7]F7Q&
MSJX1O$LVPL#@_N(<XK\I?CQ:_;?VC/'UN.LOB:]3\[EQ7[F?L!?!>\^!O[*_
MA31-5A:VUJ]1]6OX&&&BEG(8(1V98Q&".Q!%?AY\9?\ DY[QI_V-=W_Z5-0!
M_0I\'O@]X;^#GPNTCP=H6DVUCIMI:)%-&D0'VB3;^\DE_OLQR23GKZ5^ O[9
M'A#3/A]^U=\1=$T2VCL=-M=89X+>%=J1!U63:H[ %R /2OZ-V^XWT-?SQ?M_
M_P#)Z'Q/_P"PI'_Z(CH _=;P+IUGXK^!/@^;6+.VU)W\/VDY^U0K*-YM5)8!
M@<'DU_/[\"[:&?\ :I\$02Q1RP/XKMD:)T#(R_:@,%3P1[5_05\)/^2!>"_^
MQ9LO_25*_GY^ W/[6'@7_L;;7_TK% ']%@\%:&FD7^F0Z9;6=E?1M%<1V48M
MBZD$'YH]I!P3R#D=J^*=:^ O[&O['GQ'TWQ;JVHV'AS7].+36VD7>J2WS!BI
M"O\ 93YCY&<J3P" >U?3O[4'Q,O?A!^S_P".O%^EJKZCI6ES3VVX942[<(2.
MX!(/X5^%/[*OP;D_;!_:0LO#OBCQ-=6LFK&>^U#4F8275P40R.%+<%VQC)SC
MK@XQ0!]L_ML?\%*O@Q\7_@WXC\!^'M#U;Q3>:E;F.VU&[M%M[:TE!^24>82^
M5/(PHSCJ*\,_X(_SO'^UBD:-M271[Q7'J H(_4"OJ3]IO]A#]GW]FK]ESQWX
M@L]$:;Q FFO!8:MK>H23S?:7^6/8F5CW[B/NI7RO_P $@O\ D[>WQ_T";S_T
M"@#WW_@M_P#\@WX7?]=KW_T&.N#_ ."2_P"RCX(^,$?BSQGXYT*S\36^FRQ6
M-CI^H1^;;B1@6>1HSPQ   # CD\9Q7>?\%O_ /D&_"[_ *[7O_H,==]_P1:
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
M%"8TVQBM^ , ?(HKH>E+10 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
..444 %%%% !1110!__]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>csiq-20221231xex1d1004.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 csiq-20221231xex1d1004.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1"  I 1D# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M]?!KQWI_C^UOO&>D6.F>'_",$^E>'D2Z\R6:-GR)@B*J1KM^7!RW':O2+?\
M9C\.V_QYG^*@U;6GU25"#I+W(.GB0J%,HCVYW[1C.:]AHH ^9O%WP;^+/@C7
M/'\WPKU+0[S3O&K27#Q:_<26[Z->.NUYX2D3B5",G80I#8Y/->JZ?\(;&W^!
M=M\.KR1[VSBT==,>9CO=B(]N\%L\YY!->B44 ?$/[$\FJ?$CX;_&[P#XOGG'
MBV/6KBWU+[3:&W;]Y L44I4L>&$6[@ <\9&*ZGP]>_&"]^%NG?!R]\#:C::Y
M# -'U+QK#<01Z6ED!M%Q 2WF.[1_+Y83Y3R3BO=?!W_)4_'7^[9_^@/7H% '
MQ?K_ ,%?'/@CQ-K/PZ\+>#CK?@#QD;%+[Q"UW&IL+:*)8KD2!F#F1@H*[01\
MQ/8BO?/CS\*+_P"('P,U?P=X9N+>PU/[/&-/EO 6C62(ADW$<CE1\PY'6O5*
M* /C?4_@;\5-3^&6I>-O$$.FWGQ9FUJRUE]-@8RP16MHV4M(3C[Q!D.>A+CT
MK2A\,?$+]HVS\<^*-9T.Y\+V4VDR:9X;\,ZU&\%RDA&6GFY*J6/ P,XZXZ5]
M;44 ?(O@S1_B#^T#H7ASP7XP\)ZEX&\*^'HHXM?CU:!&_MV:,8$4)60@P<9+
M$?-TI?!7CVS_ &.9O$W@76] U631/M$M[X3B\/Z/=WHNHGR1:YAB94<-P 3C
M!'-?7--;[PH ^5K+]FCQ!\:_!GC'Q%\1[UM*\<^*K6./3X;-V:'P_#&Z2VR1
MH^0'WQQM(<9)SSP#5+3_  M\<_VD9-.\-_$_1+7X:^ K"$QZ]#I=ZLUQXDN%
M=E"0LK,8;1@JLP?#MDK\P;</KBB@#Y?U3X%_$SX5^(_')^##>&HM \81K<26
MNO7MQ;_V/?!/+,MK'%$ZLC)@E3M.Y5^;'%7/#O[&,7A"PTBX\,_$+Q1X2UZ&
MS6'4;G2[B*2+492=TDDL<T;!B7+$'@\CFOI2B@#Q;P5^R]IF@>+X/%'B/Q9X
ME^(6M6T?E6DOB6Z22*U&0<QQ1HB Y ^8@GWK6_:-^$MW\7/AZ;/2+V33O$FE
MW,6J:1<I,8T6ZB;<@? .5/(/'>O4Z* /FSX;> ?$_P 8?BUIOQ2^(.A7OA&3
MPW;-IVB^'YKE7+RG_7W<FSC!((0?W>3Z5T'[6?PNU_QWX-TG6_!\-E+XP\+7
MZ:MI\=[&66;9]^(%03EESC ZXKW.B@#YV?\ ;<\!6OPV.KW%ZB^-5A$;>!F;
MR]8:[/R^2MLX60C=_%MVXYS72?LQ?#+4O!'A/4]=\1F4>+O%EXVLZM$[AE@E
I<?+$O P%7 _"NV@_Y*3<_P#7DO\ .NOH 1E#C# ,,@X(_*EHHH __]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>csiq-20221231xex1d1006.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 csiq-20221231xex1d1006.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" "B *8# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
MQO\ 3;-S]MM<R;[@31KM#2ESE0>JJ0.E>4:KXH^&VG&)?^&_/B"Y=AS ;N<
M;@"#LZ=>IZ=><5Y/X$^./PM\(67CGXTZEXPN/B%\53J][8:+X0\512S6<VDR
MRX4.'1R,Q.[ !PJ$!2.N?0?V%/%?QB\5_#GQO>_#_P""G@3Q3I5[XEN;S[3K
M%S';QV<LBI)]EBB8Y,4>Y"H! &['7D 'TC-_P3F_X6/JNF^*O$7QQ\5^-9/[
M,6ULKO4+>&0BV8K(NTDYP>#D\G.2<T5TFE?$W]LBWNXH+WX+>!VMA W-KX@$
M2APPVC_6-@;3TQVSD=** /)_VU?V@M&\9?$WXA_!OQEX_O/A5H7AS2X=4LM3
MT2XD^TZU+):!VLI8P,,I\SA0PR0.N>(?V#/!7B/QK^S']GU_X+^#[S2;?PQ=
M_P#"/>(6%K/>ZS.\DP6%P0?+Y4JQ=E/W?4X]W^(GC?0/!?[1MY'\5? 'A/3O
M!NL"RTWPUXLN-+2]O]5U)U0-;N55V15!90751\@^8YQ5'PQX(\9_!7XX_'CQ
MA:Z3;Z)\,T\-0W/A^.XU-4TM+J"WWS%;2+_CW0LK%VV9^5F!.\T ?#NG_L\>
M)?"_PY\(:+X9U_Q/KGQC^'>I6?B?Q'\,]:UB-=)TNW5)+E+B)3A,[?(4['9@
M9V! /%?;GP+_ &GOAS^VC\ ]17Q2^BQ>)+/2;R]US1ELVN_[*BS+&)T6:-MY
M\O:WR[N6Q[5\[S_MM_%SPAX.\'_&3Q7\,OAMI/A#QMJ$&F77B.T@EFOGM26#
M+(JR;VVI!)@,2/E VUZ[\)_#2:_\3/C5\7/!MM:6WP<\7>!TM]&U>WCCM5,U
MJCP.%@"I+&JF.0Y.W("\GC: >>Z[^S+H'Q6_9M_9[L/@M)J7B70;7Q4EQ=^/
MK*W@T_6+6RCDG260,RQN"CDA>"084ZG!/NWQ"\)^,_V8/A)977P_\*6GQ?\
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
M[96_@^'PM]HDNK'66>9[:YO6(B9[9 958#)(88&1FLKP1\&=:UO]KCXM:O\
M&O5K/7_'WA/P]INNZ1>Z1)/:V7VJ.-'1E@7:90IBC5EQAL],L, 'H.A> ]&M
M_'_B+X(Z_K&M6OPQ^#%A9>(M)U"UFEBO;DLCSS07;;?*N8PK$!$C'RJ!G.\5
MY]J/QNU[]L'XQ:/#\-5TW1/@W\--7M?$T\PM[FQGU.R1E-RJP*I63;LF'E@#
M?O7(SG'E/Q9_:U_X;9^#/PF^#^I23V'Q;U'Q5;1ZAJ5Q:&SL(%<SPHXV.2<I
M/'D8'\1P.*^FOA=^R-XZ^&?PMM].^)FN^%=7\%?#BVN=>\*S>'7GAN(K^(R3
M"6Y)55DC!+$H<@E5SD Y ,GPI^V%KOQ#^,/CNQ^$OA;P/;_##0+2QO-4U;5M
M*GLK][$@-=((  99"HF")MQ\H/);%>!_$;]N/2?!/[4^I>,?".@IXD^%&M66
MG:>+?Q'I<\=C:[0IDEM(" JL '/"C<6<CKDSZ!<0?M>Z3%\3-!MCX6_:&\(2
MQ>(O$.MZI;2PZ7J,-LLGV>*"V4R+)(!% F"$)VN><X'<^'/B5KO_  4K^#7A
MGX6:H(]*\9:%JD?B+7Y+NQ>RTRYT^*9XA! Z%F63RYT/W0/E/S"@#TWP7\5_
M#?Q5^,K^*_V<=5>;5+Q8+/7M/\86US::!%I*R11R&RB"JJW+2>7@9.=TAVY)
MK-^/'P \/^#?VJ]2^(WC&;4/#_A&]GT;2O#EKX%EV3R78&YFOK>-#B -&^YA
MC(V@98UYK\<OB)\+?@C\<#\%_&%EK+_!CP796.N>%M'\-$RW,6JLYF)>=GWN
MK^=-P[8'R8VXR?;_ (/?'+X#_&;X]_%3QOX<T'QO#XLG\&S/JM[=*]M;W%A$
ML*R);J),I-\L0!^7E25(Y) .7T7]C7QM\7OCQJ'QC^/%SHNGV^EV,5YI5W\.
MKX+]FGLYA(NX/&Q?@2$L23E0,J !7A?Q _X* ZGI/[5_B'XC?#&";7/!VO:7
M9:2;K6M.O)(;, 1M</';B1%+C8<@]<'! ))]=\3_ +0GA_X%?\$_/!>N?"#3
M]2T#PO>^)I-*NM+\1JD^H2VLCW+7(#;BJ,VP[6P< ].]=3^P!\?M$\8?$#7O
MA?\ "T7MM\*M \-->Z)9ZWI_^E&\>=#<&2XWD$"2<X4CD.<8"#(!\T?MF_&;
M]G[Q5K;>+_AKXD\7Z)XXO'L=.N[32K:72+,Z9EC,=@B1F8J!P6P2RG!P<>W?
M"#X*^/+7XIGXN?LVZQ!XB\*:CHW_  CL]Q\3[N[;4(GAE"R%%95;:/*B9=WR
MC+*% QCY<\ ^'/BC_P %$_VCKW4=2UKPUH7BOPGI\,AN9+)X[5UM[H*JD(&W
M'+MR>H4#Z?JI\*O#/Q^T7Q3>3?$_Q7X,\0>$!IDI-KHFF2P7#W1(X)?CRPN[
M)ZDG&.] 'Q#\5?\ @E]XR\$?&2PU[X(ZW'9:7:Q03RWOB/Q!Y5Q/=O,^]!Y$
M2%8V 1<$Y8L<'T\9_;>NOC3HWQST*#Q-#;^'H?[)@_T#X:7%VMA';-/,).
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
MX ?LJ>(9_B-8Z3H_@"]GC&F-J4^HR0VY$I3$2I))Y8+&->@SD'WH ^(_A=\
M;K]G[6C9:'.J_M L);W1_%M]>M>>%;*P^T>5):RSL!B4Q"1"I7=N=,$;J^Q_
M$+_#Z+]MGX=QZ]'K$_Q9;PE<"QGL]JZ4MMF7SBP)W;R1*%ZC!7//-?$TO[+?
MQ(T[Q]%^R+<?%.S3P7XETN3QE<S6VAA]CK=-^Z!+AVRT*/DMC( QQS=^+7@_
MXF?#OPKJG[1&F_M!Z!X\\0_#RT7PO;#0]%AFC@5W6"2*5E)5'7SR^74\X[$"
M@#V7_@JS_P +(U7X7:[HNDZCX9;P1=65@[Z*R2R:]>W:WNYC;JIQY:JL3$X)
MPLE><?%>Q_:-^-XT7]GK4_%'P_OM(\3:6LTVK:7IUX5MQ:,D@AGF(8)*3$I*
MXSQSMW#/76O[//Q>U+X_^&?$&K?M/>&/^%H-H3II-M)X>MFO#I[DM(R6YVY
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
M\IZN0Q/&,"O [R9OAYJ5C\2?VA+>R^+?Q4\036FDI\/+EAIVLZ0R.6M[D^6
M0#Y:@ * PG0Y.<4 7_V\_AK\6_#7Q#7X?_"3P;XB@^$?AE;/5["RT/26ELK>
M^P\KSK*$9BP9W)+,<<CI@5Z5^QKXU\#?M->'M*OOCQ\.%U?Q'+')$OQ)\4V\
M4=CJTR71$-E"_P JF14D"B-0=WE/GI7IGQ /QI^(FEP^.]9^,B_LS^']7(T^
M/PGXBL[:1X9E5PQ,\@7F14,@'7!]J^3OB_\ #E/!'PA^'/P]T3]IG0?'-I:>
M-K(:7H>B6L#2V,DI?==B19&<^6TN0#A<R-DYQ0!WO[?W[!6I_#[Q-!\6/A':
M&T>+4=-MM.\,>%-(?SK25$<FYW(3@B2*,@A>KC."/F]+\1_&$2_L._#[Q)^T
M9\.-8^)FO:CXGGLY-)N+?['/%<[[I(7\I5CVC8OEA<');OGC=\"?'[Q%^SY^
MUEXZ\"_%_P"-]GXH\/6/A=-4LY=6MK;3,W3%9#$H0 ;]@<@;CE67C-=G\)=$
MG_;A\,6_Q0\9:F9/AEK%J\NE^ +L8&D:C:W#1+>?:X3&\G^JD;:W \W_ &10
M!Q?B7QEXE7]COPO)\%?A_P",?A%+;^-8+*?0++2WGO8[7S'>XD"%7/EEF!W$
M8+*4Q@\]9XF\1:)X7_X*8W-SK.JV>BQS_"I(HKN[FCMV,AU!_NL^!OP/T]!6
M9\ /BLO@SQI=ZSX\_;$\)_$#P^(;BS_L=H[*R"W *L) ZL&PJJV.H.ZM_4_#
M/PF_:E^/MY=7'PCM_'/AX:2JCXF1:@SV,DT#!A:QF-L!E)P6!!X8'(Z@'QU\
M0_ OQW^(OP*TV\\9^-];\7ZT/$MM/+\*K_1$_M,01SND=P"$W[&1L[@FPA^2
M2,5^CO[1O[2UM\"?#[-H^@7'C[Q4CPL_A;19E-]';2%Q]I:,!F$09-N[;C+
M<5^:GQN_X*2:/XC\37/B7X9^!]2\&_%M_L^DGQ*+J*[-Q8I,6>T:)@RE6*0D
M$+N)SR /F]M\?VEY\2/CG:_%W4OBM:?LM>,?[%_L@>'O$"6\FI36232*+ATD
M95VR2' &&XB#!NP /3O'WP,B\ _ *3Q)\6? P_:4^(%M<&&*2WL&%]]EFF#"
M(,J[PD(:1@<<$X&W-9WQ9^'6C?MH_L^Z[J/B;P'%\$O$]E+;:-IVL>/K8)/#
M:QR)+B-B5**Q9T!YR2PYSQ\O_!S]MG]H_P !O??%+Q0VM?$_X/6$]QISWGV>
MVLK:63S%BBE,JQY3YW3KD9;%<%^WG\<_%]U'9^$X?C[;?%;PUKT/]I:AIVG6
M=JEM8-YOF0PF2($MM4J>2""N2.E &_JO[.EC^VA\=['1?ASX%'P[\)Z':3Z)
M?>*-/TW[3I-_J-J6+.9(#L42)MPV\DEEZE@:_17P8--_9E^+?@GX.>!?A1=6
M_A'Q%:S:AJ/BO3T<6<%XD3\2DAAO86Z@@L,>8F/?XW^''B#0?V"/!Q\3^%/V
MB-)^)?AFT OI_AO:-;P37TUR(H2P=7E9#'E9" /^66#C+&OJ>TTSQE!X6UOX
M=7G[0<.F?$GQS<'7/"J3VT3WNF6182R6ZJ3^_4(LBA@%QM8C@8 !J_L[?$WP
M%X#/C/3=2\'6_P #I+K7KJXMK'Q!J/D2ZVB[%?4$CF*L%9BJD@$=.2<X*_/O
M]I[X_P!M\</CU8:*^BWD.N^!])O/#VJZE>NC-J$\5VBM(L:#:B[E=L\9,I&
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
M[U+]G/X&W:Z?XA_: TSXE^%]-6&70=%UNS+0Z/<+*TIG@^9D#DR'D*&'J.E
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
MQ(ENB2O&I4$E"K8XY*]ZXCX'ZE^QC\#=!\6+H7Q4U"Y/B?28[)Y]2L&>\L)
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
MA?X-\0ZLVJZKX2T+4]3=0K7MYIL,LQ & "[*6QCCKTHHH HW'P1^'5WY?G^
M?"\WEKL3S-&MFVKDG RG R2<>YKH] \-:1X4TY=/T32K+1K!6++:Z?;I!$"3
MDD*@ R:** (X/"6AVOB*XU^'1M/AUVYC$,^J1VJ+=2QC;A&E W,OR+P3CY1Z
M"DD\)Z&=;EUPZ-IYUI[<VSZD;5/M+0_\\S)C<5_V<XHHH PX_@K\/8;>:WC\
M!^&4@F97EB71[<*[+G:6&S!(R<$],FK?B#X6^"_%E\EYKGA#0=9O$C$*W&H:
M9#/($&<*&=2<#)P.G-%% '2QQ)#&L<:*B* JJHP !T %<[%\,O!\.B7FC1^%
M-#CTB\E\^YT]=.A%O/)Q\[Q[=K-\J\D9X'I110!GVOP2^'=C(9+;P%X8MY"-
0I:+1K=21Z9">PHHHH __V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>csiq-20221231xex2d1g001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 csiq-20221231xex2d1g001.jpg
M_]C_X  02D9)1@ ! 0   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" -1!7@# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH *P'MA)X]AN&U2$M#ICQII>%\T!Y4+39
MSG:?+1>F,CW-;]<Q]GTG_A9?G_:9O[<_LC9]FV_N_L_G9WYQ][?QUZ=N]=-'
M[7H^E_\ AO4XL3]A.WQ+=V_X=^1T]%%%<QVA1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !367-.HH ;MXQ12GI10 M%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %<Q]ITK_A9?V?[))_;?\ 9'F?:]QV?9_.QLQG
M&=W.<?C73US/]KQ?\+)_LO\ LZ'SO[)^T_VCM'F;?.V^5G'W<_-UZ]JZ:";Y
M[=GUM_P_H<.*:7L[M?$MU?[NS\SIJ***YCN"BF2AS$XC94D(.UF7< >Q(R,C
MVR*<N0HW$%L<D# H 6HKD3&VE%NR).4/EM*I90V."0""1GMD5+5#7AJ1T2_&
MC&V&K&!Q:&\+"$2X.W?M!.W.,X!IK<N"YI)7^_;YGDJ^//B!8?$:T\/7%]X8
MU:UM83>ZY+8Z9<PFPML$KEVN7'F/@[5VG@$GCK+9>.OB-KO@\^-]-M- 31'A
M:]MM"GBF-Y/:@%@3<"0(DC*,A?+8#(!/>D^&_@GQYX4TXZ7JFC^&;N'4IFEU
MK54UJYDN[IGXDDVFT4$XX5=P   R*SKSP)\6M"\'Q>#O#5]X;?2;6"6T@U2_
MEE6X:V*%41HA$0)%! #A\'&2O:O2?(W96Z?=UV_X<_0)1P<JOLX^RNN5<SMR
MRC[W._=T3;LDM)J-K:\S-:]^/:6MGK.L0VBWFDQ:)IVI6$"_)---=/(B1LV2
M "0@Z<9/6M_2;KXE6&K:6VLV^@ZKIEVQ2[CTJ.2WET[Y20V^65A.H(VG"HW.
M0#TKS^P^&":Y<^(/!Y5]&>+POH\,#;A,;::*2=HV)& ^&12<8S[5W6G67Q+U
MG5=(36Y=$T33;&7S;N71[J6XEU'"D!-DD2B%"3EOF<\8![UG.--:1M\^UE;^
ME^1RXNC@J491P_(N_/ORN$7%QMU<N;X>MK^Z<3X&^,'B?QE9VMW)XR^'VE23
MW,D(TJXMY3=*%E9 O_'V/F(4$?+W'%7KSXL>(YO%'C"TB\2^"O#]EH=[]EBA
MUN"7SIE\E)-Y<7* #+D9"'IWJ'P+\-?&W@?2+;3?^$3\":H;>XEE749]1G6=
M@TK."1]C.& ;'WCTZUM_\*$TW7I_'3>(K.PN'UW4/M=E>P)FZM (8T5ED*@H
MZNA8;21T]2*TDZ*DWI;IL^J_3N=M>IE5+$U)24?9_9Y5"3MSQZ+^[?XM=^IA
MZ]\6/'C?"/3?'VE1Z#86TUM"TVG:C93S2&1YA'N219D&PAE9<KG'?FMKQ/\
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
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "L#^T-5_X3S[#]G/\ 8?\ 9OG?:/+./M'FXV[N
MGW><5OU@?9]8_P"$\\_S#_PC_P#9NSR]PQ]I\W.<=?N=^E;TK>]>VSW_ $\S
MDQ'-[G+?XEM^OEW-^BBBL#K"BH_,&<%L?C2"53T8'Z&E<"6BHQ(#_%^M'F*!
MR:+@245&9%'\0Q]:!(I_B'YT7 DHJ/S%_O?K2>:,X+#\Z+@2T4SS%/>CS%]>
M/6@!]%,+C'!IOF+_ 'P/J: ):*C$R_WA^=/# TP%HIN>:7- "T4F:,T +129
MHS0 M%)FC- "T4F:,T +129HS0 M%)FC- "T4F:,T +129HS0 M%)FC- "T4
MF:,T +129HS0 M%)FC- "T4F:,T +129HS0 M%)FC- "T4F:,T +129HS0 M
M%)FC- "T4F:,T +129HS0 M%)FC- "T4F:,T +129HS0 M%)FC- "T4F:,T
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
M-E;W8_D?6Y5)RHRN[^\Q:***\(]D**** "BBB@ HHHH **** "BBB@ HHHH
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
MU/3 KUX&V#?)&&'K&F<_B!5)Z$C3<1 X,B9]-W- G4]G/T1C_2I1*1P()/R
M_K2[Y&Z0C'^VP!_3-.XB'SO^F<A'KMH\XXR(I#_P&I@)NI2,?B3_ $HQ-GI'
MC\:+@0^8V/\ 52?E1YQ[QN/J*L8D]$_'--Q-Z1_AFBX$/F^L<@'^X:3[2G?<
MONRD#]:G!F_YYQM_P(C^E'F2*<- Q_W&!_F11<"(31MT=3^(IXZ4&2,_>A;'
M^TF?Y4D<=JY^78IS_ VT_IBBX"XHQ2^0R_=E;Z'!HS.AY19/]TX/Y'_&BX"8
MHQ3EN$W8?,?LXQ^O2I_E/I1<"MBC%6<"C:/2BX%;%&*L[1Z4;1Z47 K8HQ5G
M:/2C:/2BX%;%&*L[1Z4;1Z47 K8HQ5G:/2C:/2BX%;%&*L[1Z4;1Z47 K8HQ
M5G:/2C:/2BX%;%&*L[1Z4;1Z47 K8HQ5G:/2C:/2BX%;%&*L[1Z4;1Z47 K8
MHQ5G:/2C:/2BX%;%&*L[1Z4;1Z47 K8HQ5G:/2C:/2BX%;%&*L[1Z4;1Z47
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
M\UM#<B*[NH[<*) I :1R%!&[UY/ K \'_%C4O%VNP64?@O5K:P<,7U:0J+9
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
M[E_FSTS3?$UK\+I]&@\./"OA_3;?,WVN"2.VO+B3?Y]Q%")58DA7&R08&!@
M<UYOX[\%O\,O$^GP36+/\-=4O7CT[4(X8_-TN=YOG28G*G:Q888X:/H<CCT#
M6+&[\,WC:==6TP2T<"W$F [8*D G#C(*1LH5#C8,J0Y(]/\ A)=6_C&:70M1
MBT^^T^>R8O8WT!=!%$R*Z,C$X!\R/ ;&  0H!P/,]J\-^]2NGOY^?J>C[-8C
M]T]'T\O+T/&OA'^T/IWAR&ST&W\62QZA.\L @GM6>(R_,D ,@?GY5C'S2MC
M&X=H?BI\?M$^(VL2:$?%QGC%^MH UJ4MPA++*2[,-R$A 0)0"N<AAE3!XK^$
MGP(U7Q/;0>=JVE1R(CWESX=N#/91%XGD5HR\<F^,&*8,P("^7CUQ:\!?"3X'
M6'BF\LA'J.ISV\V+27Q7.8[68#REPP5(U7=)+A%.0PP>^*Z']33^L*,[VO\
M"C/_ &EKZOS1M?NSEOACH\WCZ[DUZZT]K'X<:1=+=QF]B5KC5+Q#(X^;Y00&
M=WD"$ (",\5Z-K^I1_%:'Q/8>)FB%A> RZ7,EO+<6NGW:ASODA,CR;BN]2JC
M:-I)7&#7HWQ?U*/P[J\GA^U6TBACME6"SLK4E1&<D*L8./E5<[0KJ0KY7H*\
M]\,:?<>)]1M;&",O"YR]Q$VX)D#)/(#@;5D.5!+F0X7<JGG]K]8_?VY5T\O\
MV:>R5']RG=]?/_@'%^#+*7PA?^+/AO+-J4NMC2KK4M$DTK28;<7+-;."4=#N
M"D!<9VG?&,D'*GC/!5N_B#P;KVCWT<5O?6LZZE!#=W9GO;C?B.<3!4;(5Q$=
MABWC<<J2=XT_B!\2X]0UZUA\+7DVF6.GW,>GVFH0VZ?:YE4^=%GYE98I'W<!
M3Q&"?X@=2(VOAW5)_&N@^%Y4TO6YA;:A9W5AY:QVTK31R1Q1*LF'1XWW@XXC
M7"LKL*]-<T8\\M)2L_FOP5UZ]3SKQ<N6.T;KY/\ R9Q*6<6H7D=W"LDDD;[9
M)8E9WCY&\$HS^6<*00)HP!D' S7Z7Q+']GN#&R-_I!#! !@^6G!P3STK\X?&
MNE7/A[Q*FFW.Z\L"[W=G=3@2(-/60*DKM+E(MQ# *D0YQ@=*_2%(REK*2!AI
MRP([C8E>)G4N:-*2ZW_0]K)URRJ+T_4JPC?<2/V4!!_,_P _TJ>H;/\ U.?5
MF/ZU-7S)]*08\VX']V,9'U/_ -:IZAMN0[>KG].*FH KR_OYEB_A'SN/7T'^
M?2K &!BH+?#/*_JV/ICC_&IBP49) 'J: (;ARQ$2'#-U/H.]2+MA0#A5'X54
MBF>>61XEW<[ [?=XZ_7G^53BV'WI6,C=?FZ ^PI@<MX]\+1>-DT.,NOE6.HI
M>M'+#OCN%$<B&,Y(X(DZ\],8YKA/#W[.EQX1MUFT?Q.?[3M=6EU#3YK^S,\4
M-O);QP?9)%$BM(@2)<-O4C"]<'=[ LJ><[MSCY$'4GUQ_GM3RTTO0>4OORW_
M -:E89QF@> V\/:)XD74-32]U;7Y9)KR[AMO)C#M$L2+%#O8A51% !8D\DGF
MN0M_V:?#\?A#1]"M+6UTQ8?LBZI>V5K]FN-2C@ 8(9(W#IF14?[QQ@@=<UZ[
M!"AG:4C.T[59CDY[G/\ GI4QN-Y*PJ9#Z]%_.BR"YXZO[,^ABXM8-2NH]:\,
M6FJ7&J1:-J]NUXH:>W,<BF661BW[QFE#,"06(]ZZ_P"'W@E/ WA >%TGCOM)
M@:6*TA:V"/':L25A< D.5!*[S@L,9&<D]9' UX_F3-NC4_(J<#ZU-)-#;*5!
M"X&=J#H/Z46$>+:7^S6D6G6%CJGB.ZNK.VU$7TK0A[6>5(H?*LXA-'(&00J
M<@_,PS\N<5%IOP,U?P9?:7=>%_%=LD.EK?6]G#K.ERWJI;W$L<HC\S[3&6*-
M&0&).0V".,GV=(Y[PAY/W,1Y$9Y/X]L_G3Y'@LVR1OF/11\SM]/\XI@>-:G\
M+-9NK[4(7UF*TT#6-3M]6OK8:8?-,\7E$K'+YVU4=H$.&C9AD@'D$)X)^#2>
M%?%T^N"[\*3B74;J]:]C\-[-443R.Y0W8N<C;OVY,>-HQBO8S!-=9,Y"(?X.
MO'TZ'\<_2LN?3D2<_P!GJTDB=2?N+]#Z^W3Z4[(+LOQRH%)CA%TA&/,4<GZD
M]?PIP+JI9+B.)3_ #G^?3\JPFE5)&6=BLXX)B&U<^C]A_6I%CEED10BVI)^6
M=/E#?5L9;_/2JL*YJEHIL++"[.>09V^7\"?\,TC79M% \Y/+]!]X?1CQ58Z/
MY9S>LUVF<_,20#[9R1^=7$TZ-<36P!4]N_X9_E4Z 1K<17Q&TRLW^TY5A_WR
M,?K3E6:/K )%_O-%EA^O-2*L%PPCFC0.#\K!<<_TI_ER6W*L2H[@9'XCM^%
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
MLL1PPABP/E;=^_<))"0,@$8P=?Q#XRU7XC:)J?ASP%H&O6UI9217]YKE^'M
M[).J[" ?EA"H68 AB8S\OISWB[P[X<\/>)[Y='33_$$4\B_8K,75L]K<@GS=
MJ1>:V]]TY^:<X4G"*Q*BB#PS\2/&MO8?VM<77ANSAAGTF[M)9FM(;4*V^*2*
M+=N<(SQ?,O5A&G3K+IT7:M%*/KW_ ,(U4JINE)M^G^9J'X5VEC!>QRWE[IHL
MKF0W5RMN4MOLRW1D1(DQY]SEYHNJ 963!P<B.U^%45O%I-MIM[>7TJ21RVVH
M7:>=:O:1R7$\1D=%\^'$9CR"@!957.,5S?\ PK:]T2+^UM'UY]2UW3(Q=RQP
M,MO&L@0QI,CNRR,D:M%(X*\\EL;L 3X927:I<WNNRZ-XBOD-TMK(XF^SM.4!
M>25&:0,ZH'C&,@L@&<XK36_\7\.OIN1I;^'^)VVE>,]2^'VB:+X1^('AO7P\
M,(N;/6D4W:2!YB\D<V6P8P%5%8L2 2Q !XY[Q5\9KKQ%"=#\+VR:/HMU;SP1
MPQC=?W/#-&\A.%.Z6"0@0O\ Q*.>!1=:%\2?"D.HP6,,WBS3+^6#3K73H93>
MVMS:Q!7+2)G$7F87:6SN#N#GC-GP%IGA.Z\2V>J:F]E86VE*]S<6\=S;-;J8
M93<[(H?-!20J!Q$3$VXY"[=M9J-&-ZTDI==-K_X>A3E5E:FFUZ_Y]2KX'T&"
MX\/R^,?$S?9_!D2&:&SN(/[2L[IY"RF-;=AYD?D3EB6.X!6(!QU3QMXSF\8Z
M;H_A/1]5CGMK&QN7O4T02::)-1B(=90IB9<$>6%8D AG/'%+XF=_B%XA\.6&
MDOXCUIXY]2L&N/$"?9+CR9H48>7)'^[1563G?CD9QC&+9TL^%?"%SI<NM7M_
MKVK6MJFI?Z>CK$($.8X"(V9V*E V!\Q..E5HYJI/XNB[=+]_.XMHN$/AZOOM
M_P ,<_/,FJ>&]!T>]M5E:P?>8E>1X54MN2.:2-"TBJS2N%&Q%W$@LJ5^BL;D
MVLP/\-P1C'3Y$K\TK?3$T[Q)9)<#,<5S$;E<N(S&C2HP16AB!7RY)E& <A5Q
MUY_2[SEEM9 O\,Q7Z_*M>+G<4G32VU_0]G)I.7/??3]2M:?+"!Z%OYU-NJ&$
MX:1/1L_GS4M?-'TQ%:G$9'?<W\S4VZJJ2I!YH8]'/U.>>!2A9)QESY:?W,\G
MZG^E,!L,_P I6)=[[FR1]T<^M2" N0TIWGT["DM0$#H,85ST]^?ZT&<R$K"-
M^.KG[H_QI );3)'!N8@ LWYY-*6EG/R@Q)_>/WC]!_C3+*%54DG<X9AD]N>W
MI4TLRQX'WF/15ZFF!%80I' K ?,Q)+'ECDGO3IKO:K^6OF,H/3[H_&H[:-Y8
M(_,.U0H&Q3_,T^\=+>TD)PBA3P.!^%'4!L%K^Z3S6\SY1QT7\J6\G6&+8O\
MK&PJHO7G^5.'F2\#]U'Z_P 1_P *9,L<#0\X7<223R>#0 Y8I&4*3Y2 8"J<
MG\ZCF:.)T@5>"-[*HR34FZ28<9B3U(^8_0=JBA,=N9'P2SL0 .6('']"?QH
MF;S'7+MY*#J%//YU7MBJ_-''N<] .BCW/K1<*UPRI*WEQ8WN@/\ #Z$^_P#2
MB>=B!'#B*/NY&,+Z@?RH 9-_I+&.1V=!P8X^A]J@ENY;EQ#;@A!QLB.!^+=A
M2QH+]7MX%:*V'#2$_,_J*T[>VCMH]B* ,T[V$5/[*5H\N5\WMA?E'X=_QJLM
MRT,QMIX]\1',9YQZ%?5?Y5LU7O+1+R/:W##E6[@TK]PL00S-"VS/G0'A6ZL/
M8^M!'V4K+;D&%S\R9XSZCTJM") 3!(P6Y7E2>!)C^M6HL743,F$<_++$W3/<
M'T/O3 EDCBOE(.4<>G#*>U-@NGC4I. 2IV^8.A^OIFDMB+F,9)2:,[&QC<#[
M^W>A7*70650ID7;N X8CI^F>#2\ABW%OL_?PG;(@S@=&'H14L-RLH"L-K$9
M[$>WK32CP',7*=2G?\*9:K'- R$9".0,]5Y_2@!LL)M)1-!P&^5T)^4^A]N?
MYU:2=9,J1M8=5;J/PJ"8O'$ZN=T9! ?'(^O^-.1!<P1N?O%00RG!Z=J (6B:
MSG#0;=DI^:-CP3[>F:MQ7"RC !5AU4]15:YD:.!A(.@RKCH2.<'TJP\8F ;[
MK#HPZB@!H_<W&!PDO;T;_P"N/Y5/N]JI7$K1J!*,88,)!T//Z'&:MYS2 A4F
M&Z(QA)!D#T;O5C=4%R/D5O[K*?UYJ:@"%3Y5SC^"09_X%_\ J_E4^ZH+KB,/
M_<8,?IGG],U-0! I\FXP/N2#('^U_P#J_E5C=4%R/W8?^XP;\ >?TS4HH B_
MU-UG^&7C_@7_ .K^53[J@NQB!F'5,/Q[<U+0!$?W5R&Z)(-I^O;^M3[JAN1F
M%B.2OS#\.:D4[E!'0]* ';J-U)10(7=1NI** %W4;J2B@!=U&ZDHH 7=1NI*
M* %W4;J2B@!=U&ZDHH 7=1NI** %W4;J2B@!=U&ZDHH 7=1NP,TE173%8&QP
M3P/QXH 2V.\M*1]_IGL.U3[J:JA  !@#BH[DE;>3;PQ&!CU/']:!B6QWLTQ_
MBX7Z5/NIJJ$4*. !@4RX?RX'8=0.* &6Y\QVFZ@G"_058W>U,CC$:*HZ*,4V
MX<I [#DA3@>_:@!D#>9(TIY!.U/H/\_RJQNXID:")%0<X&,TV=BD+LO4*<?7
MM0 R ^9(\QY!.U/8?_7_ *58S[4R.,1HJCHHQ3+A_+@D;.,*>30(2 ^8[3'G
M/">PI9;D E(P)'[C/"_4]JCCW2(JQ_NX@  QZGZ?XTMR%@M6 P@QC/UXS3&1
MVL'F-]IE(>1ONG' 7MBIIKH(K!!O*C)]%^M-&Z90$!CB['HQ^GI3;H)! J\(
MK, ?4\Y/X\4;@%M:D'SI26F?DYZ+[ 4L]VVTB !FR%#'[N?ZT[:\_P!_]W'_
M '1U/UJ.=UCN(45>0"P1!^'X=30 Z"WCLTWL^X]6>0\D_P!*CF>2]<0KNBB(
MR[=&(]O3-3I$6(>4AF'11T%00,UPTCI\JLW,F.H' Q_GO0!*TD=JA5%R0,D#
MM[FH8D"D3W/SSMPJ@<#V _G1/A7CMH@&8G>^3GCL6/U_/%$Y*,(D(ENGZG.-
MJ]S["@!DDHG9GN,>0/NQ#G>1W/\ G%0(\VI3,F (UXQC*)Z<=V_E2&(WLHB@
M?,2\22#OCL/;^M:L4*01B-!M4=A3%8HSZ88H\V_) SM+8/X-U!_2H8KG[2AM
MKE3*>F&&UQZ?4UL55O+"*\7YAM<?=8<$4K]P(K:5P=B2>81R%D/)']#[&@F+
MSU.#&2>?X64^OTJLSDS>3/\ NIUYCG!Z_7_/Y5:$BW,>RY0 ],]@?8]0:8$S
M^8L>'7SHSU(Z_E3+?9=(<G,B';N'!%)!)+$A#YF"':Q_B^OOVH9$>X$B-CS%
MQN4\@@_X9_*D,6Y6:.$D#S=OS*1@,"*F22*ZBR"'4\X/^%,\UXQB8?+_ 'UZ
M?CZ4V"%)($()5AD!EZX[4 )/$\!1XFW ./D8YZ\=?QJ>.Y61MI!5O[K=?P]:
MKW,KPP.90&4#(=/KW':K+(DJ\@,.Q]/I0!!<0*9X77]VY)&]._'?UZ5()WAX
MF7(_OJ,C\?2H9Q)"\(&94#YQ_%T/YU9CD65=RD$?RH BE97E@Z,&)'L1C/\
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
M1MVA-:F+46&WY<QL$,6.#P'''6NSU+PGH>K_  TM-#O[N%M$%I;Q"YQ&8W1
MNQAY@=<' QG/7KWKQ3X;>!].T#XH:9%IMJC7MIJ=V9+M;6R6![$QR>28Y(XP
MQ<[HP0#GALC%:TU&5.:[7Z'I8"&'K8+%0;5X\S5XIZ6[O9Z6VNFT?3E%%%>>
M?"G@?[1'Q"UKP%K]HUIK4%O:WNESVUO8I?Q6TT5RQP+EE:-VD11C&WH0>#FN
MH_9]US5]>\/ZI+J7BRV\8VT=TL=GJ$#0EPHB3>KB-$P1(7P&7=C&:Y[XXZOX
M6TWQBCW\VL:3K=MHDUX=2TK6%TXRVZ,2MO\ ,X$K,^<#!V^HS6Y^SSJF@:IH
MNM/H^GZW8WPNT.I/XAN1<W<TS0HRLT@D<$>6R <C'3 KTI)?5D^77OIW/T'$
M0I_V!"2H6E97E:/\V_==KK>_O+5,]9HHHKS3\^"BBB@#Y%^,VL>$=#^*'BJ.
M?XTZQX)OM02*._TK3M$FE0 1 *?,2,AF*G[P.><9XQ7I_P"S;_9UA87NDZ;X
M_O?&=K:6MH\%O=:8;-;*%T+1[/D7.Y<<<D8YP:\N^*WQWU?P1\:/$%E+XSNK
M2VA=+.+2+73#<1PPR6I87 8*<RI*5)4GD'OT'TE\*M9U;Q%\-_#>IZ["8-8N
M[&*6Z1H_+/F%1DE?X<]<=LUZ]?FA0C=:-+M_\BG^)^IYVJ^&R6@JL7RU(PL_
M<WY4U;]Q&6B5M*DK72<FKWZJBBBO(/RP**** "BBB@ HHHH *YK^UA_PL?\
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
MB**#&.78 KV;G/X'CK5F.595X[<$'J#0!'<.'M)"IR"AP1^E3U3NXVC4&/\
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
M>6\D!E^=<8&[<#WP.E='-^V[\)(1>@ZQJC2VL*W1A70KTR26S G[2B^5EH0
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
M^6$=9K1WP5; (^?*D9R:J:E^Q[>S?#;1O#%KXGT(M:7-Q=7L%WX-L6TR]>4
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
MH-26MK.]N]CXU\+?L%^)/"_@/XV>$HO$EA<:?XKCM8?#]Q/)*\MM% S-''<
MIP -J90MP,X[5:\4_LI_%CXC2^+M1U^^\'V=_J_@J/PO;6]A<W310RI.CAW9
MH<E2%8D@9!(&#C<?L#5_$VC>'[BU@U35['39[MMEO%=W*1-,WH@8@L?84NN>
M)-'\,10R:QJUCI,<S^7&]]<)"';^ZI8C)]A19OH)4:LN6T6^;;3?T[GSKJ7[
M,GB2\\8Z_JT=YHZVU_\ #E?"$*M++O6[ (+L/+P(NG();_9KD]%_9C^+?P^U
M_0-<\,7O@V\O+'P-;^%+BVU2>Z"/*K$O(C+#D*/E(R,MR"%ZU]<ZOKNF>'].
M-_JFI6FFV(QFZO)UBB&>GS,0.:+C7M+M-'_M:?4K2'2@@E^W23JL&P]&WD[<
M>^:+/L)4ZC2:B[-V6F[[>I\5W?["'B;PQI7@2?P[J6F:[JFC:'/H^H6NHZI?
MZ7!(TLS3>;%+:$2;5>1AY;<,H'0]/3OA3^S!JOPY^*/@77P^B0Z/H'A&;0YK
M6P>YR+J2X,S-$LQD;R_F;EI-WL!P/HBTUK3K_2AJEMJ%K<:84,@O8IE:$H.K
M;P<8&#SFF:+K^E^)+'[;I&IV>JV>XK]HLITFCR.HW*2,T6?83IU$FW%V3L]-
MGV?F6]M&VJ.B^)=&\2?:/[(U>QU7[._ES?8KE)O*;^ZVTG!X/!HTSQ-HVMWU
MW9:=J]C?WEH=MS;VMRDDD)Z8=5)*_C19KH-T:L>9.+TWT>GKV+VVC;4NRC94
MF)!(O'%<+X9 ^RW^0,&\GSGTW5Z R9%>=>'6\\7T/(1;R8MGC/S=*T@)FC:Y
MFD"L?D7F,'^(>M6KB/<A&=I'(;T(I9X=ZJ4P'4Y4_P!*A27[:2 "$4X<'^]_
M=_"M0$MB;S$K#: 2 A['U-+<O]EE$G57^4J/7M_A4DO[B7S0/D;A_;WIBI]K
MW,W,?11Z^] !]E9XG+_ZUQU_N^@%,20WF%P0@'[P8ZG^[3O/98BAP9@=@'J3
MT/T_^O2PHMK)MR2CY;)_O=Z!$:Y91;#C#%6]E_\ U$54<&1K6+.%0B/ [G!S
M^@_6K<)V7!G<X$PQSV Z?IFJ\#$7,*LOS-(TN#Z%>/YX_"F!KT44]('?YONI
M_>;@5!1&PR,4J0-(<(K,?:I<Q1= 96]3PO\ ]>D>XDD&"=J_W5X% A3;I&/W
MDJK[(<F@31)_JX]Q_O.<_I45"H7.%!)]!0%A[W$KC&[:/1>!4>WWYJ46S*<R
MNL8]&Y/Y"EW0)T5Y#_M' H&8]^I%W;L!]XJI^F]:FM[1YYG@,;$1I@$C^%CQ
MS^&/PI=4E9VMQ&H0EB 47D'&1S]13%G9W^ULY(D.UBQXV]OU_G5]"2:.W,DR
M032(K1#<^3G/8=/7^E.S!8!T=WD &8]J]?\ 9Y_SS5<93%T01N/S9_N=ORZ_
MB:D>!KZ3:@.V(Y! _C[?E2]0)!#' B2"-GEZR MPW<CI^5.FN8IU6*.!"L@R
MV23\O_U^GYTY5D-N9779MX*L<$'TJ&&S-I(3)+&HF/.&SL;L..W]:0$L5V;9
MA&8X_+)^0E<X]N:;=7#7KB(!55"'+*@&".@Z?C3[I(?*V>9O9N%4+W]<^U%D
MEO"ABD>1I5^\P4?-_M=:- '0ZE.6*,P60#H ,$>M074\MY,H5L&+DMCOU"GV
MZ'\J?>^0$7RA(;C_ )9\CK[^WK3[1K;R0!')N_BRPSN[]J- '0ZG-*OWL,#A
MEP,@U7O9Y;B4*IRX'SD@89?[I^M/NY(8<31QNTG38&'SCTJ2U^S>5NP[%OF+
M!A@G\J--P%CU%I4SM3T*E!P?RJM?3,[KY4<?FL,'"XRO?./T-2W)M[?,ZB0
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
MVYN8_)N7R))]L4; MMPJDG@9XS5S6/ WCOXB^%IK?Q3<>'M$U_3[R'4-#O\
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
M#9K9AFD(!4D< *#@<^IXJN\XDU-G<Y2$$YSDY _^R/Z5/:#RA<-(/G+DGUZ
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
M_#G/ZTV55MR/W+9_O.>*\>^+/QFF\,?LV:K\4/"\5M?B/2XM2LEO S0R!RF
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
M\_(_CY>7G^#\K]#O/K6#XY<_\(IJ?(R(3R>U-M['6TO=*>;5(I+:&V9+V(0
M&XF(&'4_P@$'CW]JC\;L?^$7U(<?ZD_S%"5FM3"K!15E)/TO^J7J?GK\0H+;
MX<Z_H&HQZU9Z=J4&HIJ:Z7"TD@CA>%2UM*$78P=UE5=S\(<$X(VU?A9*4^._
M@2_M[2XM(-8O[:]^QJ@\]Y9)V:5F< N((\E -W. ISAS5;Q5;WGBC_A*/$VK
M7%CI<5M.NB1IHNI/$9;FV;=&JAW*(@C5<MT!SC&ZKOP;UE]0^,'@J!88'@BU
M2&-5M7=@P2=2)'97.YMLT;;GW=&&.:_3(Q_V:75J+O\ =<_-V[XA+975OO/1
M_P!GG4[NX_;K\<6_]HW=S:+<:L3%-*=H83JN NXC  4#N HX&,#[V%?!G[/^
MJRR_MR>+[%K>P CNM8D\VVC"OS< 89OXB,<YZ<XK[S'!Q7Q^<_QX:?8C^1]7
ME7\*?^*0M%%%>">T%%%% !1110!SGQ$O+>P\%:M<76KWN@V\<67U+3H3-<0#
M</F1 CY/;[IZUR_P/UG3M9TG4WT[QEKGC)$G4//KEDUL\)V_=0&&+(/7.#]:
MZSQY?MIGA'4[I->M?##11Y&KWT2RPVW(^9E9E!';EAUKP;_A9%W_ -'+>"__
M  36W_R57;2I^TIM+]?TB_S/KLLP3QV J4XNSYM^6373^2C-_P#D\?\ #W^F
M**X/X/Z[)K^@7D\OCO2_'Y2Z*#4-)M8[>.'Y%/E%4D<%N=V<CAAQ7>5RSCR2
M<7_7WGS6)H/"UI49.[7DU^$DG]Z04445!S!1110 4444 %%%% !1110 4444
M >8^,/A*WC_QA)>:LJV5BELL,-]I6HS17C%)5E0,FS8 I#88,3R>F>._T#0K
M+PQHMCI.FP_9["RA6""+<6VHHP!D\GZFO(OCZOBW4M2M-+\#7_BBV\1RVVZ/
M^SQ;II4*[S^\N9)4)!X("HV2!]WUZ/X'+X@MM#U"S\42:[)KEM<".X;6)89H
MF.T8:VDBCC#1'KR-P.0>E=DXR=)2<M.WZGU>*H8BIE=.O.O'E6U.[YETYK/H
M^^W:QZ31117&?*!1110!\N_'?Q7IND>/-0T^]^,?B+P^LT2-/I&CZ9]HCLHB
M@&7D525W<MR<\],5[]\-]'TG0/ /A_3]"NS?Z/;V426ETS[S-'M&UR1USU_&
MO/;#PM;ZE\1?BG;>'/%S6U_J5G#%J%C)IN_[#=-%MCF61P!(IC'W 2 >IKTC
MP)X1M_ 7@W1O#MI*\]OIEJELDLG#/M&-Q],GG%=U:4?9Q@GJK?EZ+\V?:9OB
M:#P%'"PDU**@VG%*]X)W:5.+TO:+<I\R?-?77>HHHKA/BPHHHH **** "BBB
M@ KF/[+L_P#A9?\ :7]HI]O_ +(^S_V?M^;R_.W>;G/3/RXQ^-=/7,>7I/\
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
M^,Y+%_$/AW2M>DL9/.M7U&QCN!!)Q\T>\$J>!R,=!6VZR,&\LAT':/C'X4;
MW<_,6[T[]G[XMWGBOQ?-XEU/]GSXC:;>SK<6$=_AWE7K*L>U226R"D3 @CIS
M5#Q/JOQ#^-?[!^F>)-96[\13^%_$_P!I%[,C&>]L(U*^:W=MK.06ZX!R3@FO
MT*\3_ GX?>.]8_M/7_ ?A_6M3R-UY>Z9#+*V.FYBN6 ]#FNWLM+L=+TV+3XK
M:VM[&&,11VMM$J)&F,;0 , >U 7/E#XE_MU?"K5OV>=9NK/Q+::AJ>J:1+:0
M:#@F[6>2(IL:/&5"D\L>,#@GBOF'QGX/O/A1^S?^S0OB97TJ4>*'U*X6[&S[
M/"\JR MGIA,$^F:_1BQ^ /POT_7EUO3O 'A>UU@/Y@NQI, E5_[RMMX;W'-;
M/C+X=^&_'T5O;^*O#6E>)(;=R\$6KV$5TL3$8)42*0"1W% 7.-T7]ISX0>(-
M1BT_3?B#HNIW\H9DMK6Z!9@JEFQ]%!/X5\(>"V^*?QU\:_%KXC>%?AQ8^,=!
M\7+<>'H;C4]2BMC;6JX4+&'<$G:(SNQC(^M?H)IW[//PPT>[%S;?#?P?83A6
M3S8]!M4?:RE6'$><%201W!(KK_#GAWPYX/TN+2M!T6RT/38B3'::;:I;P(2<
MDB-  ,DY.*-0O8_-_P !^/\ 4Q^PK\9?A7XFB-OXD\#JUL;>1@72!YU(&1D$
M*X<9'&"N*YOQM\ O%GAC]EWP#\0X?&/BKQAX'DLK:?7_  =/JTL<,%LV/]2%
M.!&#QC:=N0>@-?I9J/PE\&ZC=ZO>S^#?#]U<:Q'Y.HW#:7 \E['D';.Q3,BY
M53AB1\H]*U+/PGI=KX?70X=(LK?0A!]F73EMT2V$.,>6(\;=N.-N,8I!<Y/X
M&:GX+UKX0>%;WP-&L7A=[)!96T0QY"C@QMG)WJV0V><@U\NM,8_^"B?Q(:-=
MF?!##'7_ )80U]G>%/"'AWP)I/\ 9>@:-IFAZ;O,OV+2;*.VBWGJVU !DX&3
MCM4:^ _"LGB&YU^+P[I/_"07,'V6?4Y;./[5-%@#RVEV[F7  VDXX'%/U _+
MOX9_#35]'_9@\(_&[P-"5\7^#M3O6O8X@?\ 3=/\T[U8#KM#-G_99O05K?#7
MP5K/Q1_X)S_$/^Q+22XNX_$<FIFUA^9G2,PNZ@=R%R??;7Z6Z'X0T;PGHK:)
MHNA:=HFD,7SIVG64=O =_P!_,:*%^;OQSWH\(^!]$\!Z>]CX<T/3?#=BTAE:
MVTRUCM(F<@ L50 $G YQVHL%SY9T+]NSX8>$OV<=%UJ'6K74/$-EIEO:CPK'
M(8[Q[A$5#'C:=JY!._!&.F>E>V^'_C?X<CT;P,_BDS>$O$'C)5:PT.]4M,9&
MVXCW 8! 9.N.OUK7G^!7PS_M\:ZW@;PPNO/*'_M&+2X1/OSDONV?>QD[NOO7
M3:SX%\-^(-0TS4]4T:PU:_TR3SK&[NK..:6S<XRT3L"T9X'*XZ"B[#0O,\"+
MDHY Y)+#_"H[61!'N, W.=QRQ[__ %L4^[,)A,85R7(7D^IY_3-3B6!>/*R/
M=C5$7(C<H@R8(P!R2<U5B&^)9/*1)S\Q;![\X//(J>]EC:W*B(9<A?O'N?\
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
M#QX!WEPB8.21C';.>:Z*N>2:=F>!7A.E4<*C3:[-27WIM/Y,****DP"BBB@
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
MM)U9C\['TR>@]>]5=.U!9GV1JBS'AKJ;.#[?7_9S]*TG\B*0R2.9I0H&3SM
M]!T6EY $9,<)$*A$R6>5\\GN<=320*L;&>4LTK_=#<L%] /UH FOB"P,$ .0
MIY9O\*G'D6Q)9MN.3_$Y^@ZT@(Y(Y;PB/(@B<X9OX@O<^U66GALX?+B C4]3
M_$Y_F:@S-<N7*^0AX5>K!?Y9/XTK^391M*[8('+L>3[9I#N1 R7%YQ^Z15(_
MVN?Y=/UJS%"L60HQG[S$\GZFH[))IU.Q0"V6:23A1_6I)PD*,QW2XYRW<^PI
MB(HIP'G:%!,Q; =ON< =/7G/M7@7@26'6O"6@^/?$'C?6K'Q-=:MY$T7]I3-
M:B8W#1_V>++<85 P$R$WC&[=U->^QE;>-4/S2]6"C)R>M<X/AGX8'B:3Q,OA
MC1X/$!RS:I'8Q"[)Q@DR[=V<<9!Z<9I6*W/ 1K-Z/@T?B0?%6L?\)Y]O/^@+
MJ<WV3[1]J\K^SS9;O)Q@>7]S?GYMV>:P]:^(7B_PCX=\72:OK>H2:-K?B6YM
M-(OQ.V_3[F*_"&T+CD1O$I*#H"KK_$HKZCMOAEX.L=?3Q$/"^C/XE7YCK!L8
MOM(;&"WF[=Q/;.<U+?>'M#O=+N+)]$T^[L))S>2V\MJA@>;?YAD92,%]XW;L
M9SSG/-+5[#O8\JT3P;8VO[0&IV:ZKXF>PM-'@U6&TF\3ZDUNMPUW.&8Q&XV%
M2J(/+(*8'W>:\N\"?$[QO87^A^)&UK4]:T+3?#4$^MZ;/,\PDADO+I'ND4GF
M6((A_P!I%8<\5]7VF@6:7O\ :#VL+ZF\*V[W0B42-&I+!"V,E06) )QDGCFI
M-.\(:%H"E[;2+#3L0"WQ:VJ1L80681_*!\F68[>F6)QS2>@'S[^S=XQOM;UC
M39-0UVXO[>Z\)17L3W=TTBR$7MRK2C<>2$\H$^FWVKC_  -)XL\?:IH$;QZ_
MXGB;PO#?%(O&-[HP#/>7($S-#(/-+(J %LX"BOIB^^%7@C7-"TO2M0\&:!>Z
M?IZ8M+:YTR&2.W!'(C4KA,GJ% S1XB^$O@;Q=-;3:]X,\/:U+:PBW@DU'2H+
MAH8ATC0NAVJ,]!QS1JPO8\>B\.Q7_B'X@G6?%/B+P]%X<TG3FM'M_$MX(K%C
M;.SLP,OES'<H):56W8YSFN@\0>,]9G^ ?@/Q%?7-QIFJW=WH<NHRQ,8,+)<0
MB8-C&%8,00>,'!KMHO@CX OY+"\E\!>&I[RUACB@G?1[=I(40?(J,4RH7L!P
M.U=IJ7ARSU739[+5;>VN]/N$,<MK<QK+'*AZJR$$$>Q% SYE^-6O>(+KQEKF
MC>'_ !+J.B2+'X>M8IK2X;;:S3:A,K-L!QED"[E/WEP#Q67XE^*6N>*IO&-A
M>W>I>']8TRTT+3]3TZPOIH#;73ZDT<[PLC*RK+$5*NI!*,O/''TCX;^'W@OP
MQHO]GZ/X4TG3[)KE;SR+6QBCC,RMN23:%QN4@$-U&!@\58UGP7X6\0G43JGA
MC2=3.HQQPWIOK..;[4D9+1I+N!WA220&R 3Q2:; ^:_BQJNI_#^?Q)X6\*Z[
MKUUISZ?87,L$NO7,ES9SMJ<4*HMVSM-$)HF<8W\;,C'.=3QSI.N>&O!VGQQZ
M1XDTB[U#Q'IUJ;4>/;^]ENXF9]\:W$DNZ '@':1GC/05[AH_PK\%6OAR]T"U
M\$^'H-"O)2]SID6F0K:S$-P7C"[6P0.H["IM$^$GP^\)DMHW@?P[IDIECF8Z
M?I<, \Q"3&^509923@]LG%&@'FW[-LFJ7VK^.K:]GO\ 3K>PO8K5/#NL:M-J
M=W8,%8M(9Y23LE!0H%=U^4D$$D#)N_"":)\1?B2EEKWBIX]&\.6^I6,,GBO4
MY(H;B07>]]C7!#C]VGRL"HV\ 5[O:Z5I8UB\U1-.@CU.<+!+>)&HE>->50OC
M<5!9B 3@$GUI[^'M(N+J[N&L;9KF]A6VN9'ME+3Q#=B-SC+*-[8!R/F/J:3
M^9[[XB_$2;PW\-3JUFVCVMSHM[*;^WUIYY;UUTB:1&D3RT.=P$F2S88 ]>:[
M']G70=5DTW0M6U71]<MGN=(AD;4;[QM?:K'<.Z(2QM9I"B%LDY ^7H*]I?P?
MI,L-G;W&FZ?/;V,;16MN;=&$"-&8V5%(P@*$H0,?*2.E87AWX2^!/!.JC4=
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
MP21A<#<5SU]P..:^^%KY#.7>O#7[$?R/J\J_@S_Q,6BBBO!/:"BBB@ HHHH
MYSXB6=O?^"M6M[K2+W7K>2+#Z;ITQAGG&X?*CATP>_WATKR;P/XB?X<6ES;:
M!\&?&]I#<N))5GO8;DE@,#!ENV(X[#%>L_$1H4\%:LUQ-K%O"(OFET!7:^4;
MA_J@@+;OH#QFN7^!\UE-I6IFROO&=\HG7<WC..9)E.WI%YB*=OKCO793=J3N
MKJ_G_F?58&JZ6657.#G#F5U>:C?3?EDHW]5<ZGP1XIO?%FFSW5]X;U/PQ+'*
M8UM=4\KS'& =X\MV&.2.3G(/%=%117(VF[I6/FJLXU)N4(\J?17T^^["BBBD
M9!1110 4444 %%%% !1110 4444 ?-?[0CZ"_P 6M'34Y+K3I8](,DNJRZ5;
M:I8VL)G*[I8ID8Q?-C,JD<$!N.:ZW]F:'1;72?%-OI%PUW+%JS+=7$2VRVDK
M^6FU[=;8")5*;20!G=G=S3_B;>^)++XLZ*GATZ3?WEYI,\$6FWMRL)#;LF:9
M0A>6$#^!67Y@>I/&K\!SJ0TOQ#'J-UI),6JRHFG:3,LJ6! 7?$S"./\ CW,
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
M\O[V!G1B,;XSD'_OKK^->;ZU^TYX$\/Z^^CZI>:]'JGF21K%'X>U%Q,8_O\
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
M/<V'<,IXZ9X/<4>SBNC&\!AU&[A56N]E;5V3O_P_J=K8^*M$U:<0Q:C9RNQ
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
MN9;AY8R^YOM<C,!("S<Y+9=?FZGKGC-5[-;6?W%/+:<6XNE5O_A3T]+^O4]
MO?''AQ["[F&I1,D$<<DZQ!I"BR':G"@G)/;KWJ-?&F@20#[5K&GP/A0T=S.L
M;@D9&58@@GK@@&N0LM:^']DU[:PSW-J'C53A[D>9&B^9NCP<@<GD8W'/WJ6_
MTOP3H.IM(-%NK5H4B62[:21H@ AD12OF&3("'^#C&*/9QVLQ?V?ATVG3JI[K
M1:K3];[7Z'7GQ7HB2F.+7+)R58E6N%9%P0""P/RGYAP3SGI6S;7:.@BE/ESJ
M/E8GY95]0>F:\C3_ (5H;$;EN-2!B>=$S.[HF[>$5<C'7(]LDGDD^MQ)%/;0
M&,;(]BE/51CBLZD%'9/YGG8["T\.HN$9J]_B5ON_4?)"DWWASC@C@U3>6724
M8N3);(,AR/G ],CK[59D@D53,F1C[WE=/J4/]*@EN5EB>&5B%=2I,;%' /<#
M@CZBLCRCS6']ICP_J/ATZPNCZKY)N(+6%C)98G:5BH^?[1Y<94CYED9'7(RM
M-M?C;IS>(+71[71=16XGABN"GV[3=D:RR2(N#]KQ)S&Q(CW$9'?BJ\O[/NA:
MA-+<R^)]8GU'=;E;N86;2J(7+QAPUOMEY)RTJNQ'?DDZ,7P4@LM;AUJU\8:F
MU[Y,5O(!8Z>ZNL;R.OR_9OD_UK#,>SC'?FEL!/XX^.FE?#[5YM/U'3KZZ:WL
M5U"::WDMHPD1=E^Y-,CNV4;Y45CTQDD"LY_C_P"'KB356BTW44ATJ>2"XN3/
M9#:(Y-CR"+[3YX49R3Y?W03BM7QC\+M*\8ZE>:GJT4YNYK.*TBNH#'&UIY<C
MR)+$65F20,^<C^Z..N<_0/@UI>GW^I2G5]0U2WU%[F2XL;N"S6-S/DR9<0+-
MC+$C#_IQ3!6(/$?[0FF^'M=.D1:9>:O+YLD E6:V@A9HXXG<"2>6,' F0?7/
M7!K,N?C5I4_B,:3J.GZG9R)>Q6+-#):R1I-)&DB *)RY&'4%E1AG)!P,UK3_
M +/^DV^GZ%;V/B#5H9M*6XV7"K:W,L[3LK2M,9H'4L2@PP"]ZMK\&=(AO6U*
M26[M=4-ZE]_:MH\4=T&$*0M'N5% C=$^9 ,98E2I"[1#T.<A^/\ H-QX?@U!
M-.U>:VN;N.U@7S; K.SK(WS3?: J%1$VY)&1P2 5YKIM;^(6G>&?!^G^)+K2
M;^"WO)HK>*VM+NV>4M(Q50TOGB$+WSO(]\\5AO\ L]Z)J&HQW_\ PD6MRZK$
M\3QZA.EGYNV,2*H<-;$3<2M\TJNW3##G/;ZM\-+6]T32=+U;4)=5M["ZBO(W
MN8H$\YT8LJLD<:Q[><85!T]:+L+(X^7XKZ1#:W%Q;^'=4O+:P@2ZU.Z4V\G]
MGQMD@R.DY\SY!O(A\PA2,\G%2>&_BUX>\1:_;Z;!::K:SW5Q=6\=Q)-;O#(\
M#,'(CBF:5%.QL%XP#QGD@'5\0_":Q\07&H&.?4-&LM3ACM]1L=/\D0W<: J
M0T9=#M.PF,H2N/0&I/#'PC\,>#=:L=2TVYN]/U""6Y:28&,/=I.[.T4H*?.B
MNP*XP5VCGELC;!6*+_%/[->:A'9Z3K%WI.GS26USJEI# T231IO9-I=9 !]T
MN4*@\$C!K(MOV@M);0K/5AH6J/%?7,,$"->V#N[21O(-Q2Z*IA8SD.5.2  >
M<=%J7PA_M#4=2,6O:K8Z3?7$EU<:7;O%'#+*Z;6;/EF0 _>*[]I;JI&0<_3?
M@/HNDZ=IEEJ%]J&LV.GSQ30V]U'9!"8XGC <1V\>\%9#G.3D#D<Y+B#3?CTG
MB>\T2#3_  MK?E:JTZ1W*&S,:M VV;)-R.%/= P(^Z33[7XZ>%I=#?4TCU.2
M!-0;3_+\A0SL(VE64 -S&Z+N4DY(89 YQ>L?A%I\=G8V-MJ&MV=M907EK9.9
M(R]M%<  HF4) C  3.2H SG K*3]G+P?92*E@=2TF'RXD>WM HCD:-)8T=@T
M9.[;*PR",X7CBC4#9\(?&'2O'L-O+H\-W'')IW]I8G18WC0.4:-QDE9%92"N
M/QK#N?V@-'M-$M-5U#P_KFFQ:A;V]W8VUQ]D4WD<LL<0=7%P4&UI8]PE=" P
M.*W?#WPBT#POKU[J]A-J,<][IL6FSQD_NV6,8$NT)Q(0%#$<':.*QH_V==&N
M]%MM-N_$'B/4FL+>WM].N+H6A:SCAECE"(OV<(VXPQ[BZ,2%QD4G<99?X]Z8
MM_I.GQZ%J,UYJ,3S1Q17FG%419!'R_VO8Q)/1&8XZ@'BH(/VB_#3W=_%<1:C
M;O96#ZCY+0H/M$:2RQ.B-OPS@Q,VTD?*0>><;VC?"^QTO5[34IWGUB\M;9[6
M)]1AM454:029"0PHH8$<$ >^>M8&H?LW>'-7T:_TZ[NM1\N[\L^=%*BS0,DL
MT@:-]G&?M$BG((*G![Y -:\^-%K'JNF6MGX6UR^AU*\N;&WGMS9K'YMN\BR@
MA[A6 'E,P^7D8[\513X\Z5J6G3:A:Z/K5UI%I;)=ZC<P1P_Z%&V2/,!E#'"J
M7(C#D+@G&0#TNG?#71-).ES1W5T9]+O[S48?,D0EWN?,\Q6^7)4>:V ,'IDG
MOS$/P+TRWTR;3;#5=9LM-O+9+34+=9(0E]&N0!(6B+*2K%"8RA*X] :2N&A<
MLOCUX7NO[02);X/I]]<V$L7D#=F&&:8RJ WS1LMO*%89)88P,'&O\/\ XBVW
MQ/TQ[[3[&\L+-2NV6=X)%G4C(,<D$DB-Z'YL@]0,BL5_@'X<FU.PU$7&I6U]
M9SWT\<UI<>2W^E+*'0E1G:AF9D.=RD Y/.=KP7X!LO M]JUW'J-YJ^I:F8C<
MSW,<"N_EA@I*P11J3\QRQ&X\9.  &([!$6- %   X J%YC.2D7&.#)V'L/4T
MFR2;_6'RT_N+U_$_X5*?+A7@A$ QQP!180Y(UB0*!P/>N*^-#P-\+O%L<HC8
M'1;_ ")&3&/*YR'(&/J0/4BNN+R7&0N8X_[[#D_0?UKC_C!8M+\,_$\48.QM
M%OU/+<DQ#&<*Q)Z] 3Z UM1_B1]3&M_#EZ'YW>&-;M-'EN;2_B6?0=:C33KV
M'_ED(/-WJ(3&BQQ$,=P*&1L] <FNBTQ+B7QK?>#[L2Z%YI&EZ3>WMS'#)YB
M"WGF1F#'GYDD7.5=D&Y3@<%%%$+?S&DC3>K.LCC:Q7/S');<0"<-^].,_,F>
M*Z7Q#9QVL_A3Q1Y%JL\PCBN)+E&GN'GM'&?+BV85/*" DKC((*KBOU&K"*EI
MU_/=/\#\WIR;7DOR['6_"A''A/Q7<>'[8ZCXAM)IM+NHEME-U';,-P9(85SL
M:9I22 <84%L#FIIDD.HZC SP;"6Q%%<!3')G:<D,#P/,B8AE;:6N#LW8QH_%
MZ\U+PCXWG\;Z!J5WH276H21WBI<VVGK-/&Y?YD#%I87C,;@'>3YC<#I76W7B
M.P_X1G5OBE!:V\ME9Z>?*MHXD2VM+\A$6T1 (]R;I"Q9E8,H;!Y->4ZC_B)7
M4_O3VLST5!? _L_=;N;UW\8[7X:2QZ-I-E-XF\?ZC;R";3)YC#;P)M+AYR7/
MS[0#M#>XV9(/F&D_'/X^>.?%]S+I-M%HNH2P$2,-+2W0QH24C\V4$MEG(4%B
M69CCK6-\/-(O-6T^#6_#UK>7NOZV[&]UFZNT,L3\"7:$(E1"[/N(RQ4* PW9
M'VI\+OA]%H_V"RN-:O\ 3;Y["*=="FN)4:"*.50C +*5QA$4CYB"QW$[L'CQ
M,L/@$[P4YOOK^'1'9AU6QK24W&*[?Y]SY3^&?[3OQ6T6]N$U;PI#K.FP";4+
MOS;$Z?.I7+2.K@*K/DL<%6).?K73^)O$?A[Q]X:CU_PY=RWVBW*H+N/45#O:
M766.'RQP53)R@5BB.1*#P>R^-'@K4;?1+?7/#%]?>*(EDN7FOUFDDCVJS+/
MNZ0Y#!0<.&C?RR,J2IKP?PYJ&E?#KXN:1IQLIM*M/%6+;5M.:XBGL8ED81I)
M$(S\H682C!8G9N&0&(K6DJ.*3KT(<LNRZVWNOR,ZCJT'[&K+F7=]+[6_4T/!
M&IZU;>(;'^P;"[NKN)!/%^Z:Y<*P!W$HK<?O$#,P )$Q)W$@Y]SHNBVWQ5\2
MK;ZA!9Z;X;M%O=4BB: 02?.K2VT4FX9(N)1A2VUAN7' ST'Q)\2WWPAT)O"U
MC?2:;XAOY@]RRW*6MSI\)PPCBN"#@2G<S;I"1WZFL[6M(/A'X':O972&[U?6
M9+.\O;B:SAND<NSS1J9(07),49=CU!D7YQSCLC)RM46BGHN[UU?^1R2@H^Z]
M7'5_Y?YG,:%KTSV5[XKU?3YG.CW<=UH]Y,Z36\EW(00UPRD)),H0/M8J,A%)
M4!5.K\';H7OQO\(WEU@W<^M17#>8%:17DF+N$\U4E";G8E5:3&6//S$X&K64
M/A_PMX=LDBBLY+U?[7G%K,\D$C3%A$L7*[?W<9&W?C.[._!VZ_P+L8I/C1X+
M,;)Y?]IP2H!A5D19!A@578W;GRP"5.V0-UZZD8>QJ32Z.WI_6IS4Y2]K"+?5
M'M?[,_C?7]:_:_\ &FD:EK5W?Z=:'5FM;:6Z:1(E-ZF!M!V\#@9' ..G%?<B
MU\)?LPZA'<_MD^.K<:9:V<L/]K;KB,R^9-F]3!(=B ,#L!R:^[5KX7.8J.(B
MDK>[$^RRIMT9-N_O,6BBBO"/:"BBB@ HHHH YSXB:E'I'@K5KR77CX7CABW'
M5U@68VOS#YMC*P;TP0>M?.W_  MG3?\ HYB?_P )VS_^1Z^D?&E[<Z=X6U&Y
MM-4T_1+F./*:AJHS;0G(YD&Y>.WWAU%8'PIUW4]=T^^DU+Q9X<\6/'*JI-X<
M3;'",?=?][)R>O4<5VTI1A!R:O\ =^L7^9]=E=>CA<%4K5::G:7:%^G6="HO
M_)EZ=ZOP2\1P>)O#=[<0>/'^("I=F,Z@]E%:F$[%/E;8T0'KNR1GYNO%>B44
M5RSDI2;2_KY6/G,76CB*\JL(\J?333_P&,8_=%!1114'(%%%% !1110 4444
M %%%% !1110!Y+\;/!VB:G>:5J-Y9ZG=W5TZ:7=0Z9J+VHELG?,AG"_?B3.X
M], GD9KL_ ?@+1/ >GW$6B_:)$O)1/+<W5W)=22D*%7,CLQ("JJ@9P *\-_:
M<EMU\=6%O977V;6;W1IK2<WLEC%;-9NY#K')=,NV4DD'R\\8R.!75?LL6_A^
MVT+Q*OAZVDL8!J*I-:"6WF@B=8(U_=30,8Y 0 Q(P=Q;(!KT90E]74N;3L??
M8G"5ED-.LZ\N7^76VLK*ZYM$OLNS3ZV=CV^BBBO./@0HHHH **** "BBB@ H
MHHH **** "BBB@ KFO[)7_A9']J?VA#O_LG[-_9^[]YCSMWFXS]W^'..M=+7
M,?9-+_X67]I^V/\ VU_9'E_8]IV>1YV?,SC&=W&,_A730;7/;L^E_P#AO4X<
M4D_9W2^);NW_  [\NIT]%%%<QW'P7\1$T9?V_M*\Y;Y=4DO[#8(]GD.!; \Y
M7(P57IG/J*^?9$A@W6LL(>1F2!T?<K K]U I8D. <@%F*8SNB&5/T#\0=.C/
M_!0'2[LZK:1S?;K!19SAVD(^S+]P;"O\)[\%L\5X5#;'[%'/NC:T59%5H\&%
ME<Y8>8'*88CG][&"1@IN%?IN":4*>OV(?J?G>+UG/_'+]"?QTTE\2UHLUWX4
MB%M!:BS@"&>63S)0L6T+B;#2$LRORX(4*RUZ1\0X#!\-[FSL+BYCDBVFVGL;
MHZ>;;3'D @ANI&:/?(720\Q2]7QRX8<5\0KN?P5\/]+L&^U0#5/,U6[\RV#V
MTR+^[BCD4!>_.>%P5.9/E:NP^)=K/>:EIW@GPK<:;>:EJ-I;7=[;:;J4UH?*
MCM5$4.T#RXS& TGS!5S+DQ]Z51\SI=DV_DMVPIZ*?=I+YO9(A^&2>']7^#GQ
MBDL[ WGBE=(=?[5M$DE@>+86?:WW8RQ!SE8]^,A1C Y_X(:QX<T[X722>1=V
M%_:Z@_VF4L'2[E-E=;1G("#&T!>N1U.?E]H\(S6WPDEM?#SP-J=K<6F=>EDG
M56GFER!;F8P#SXXU+;2'. &Z"O%;CPK'\*_&,?@:X:[L+:\N&GT?6?M,BV>I
M%WVQK-$J@A@&\HGG8RYVXX.%.I&LZD-;2:DM>B5G_G;S-YP=)4Y:72:?J]5_
MPY[[^TSX6U'QQ)X,M?!GAS5M+\97.H,+'7H+TP00*HD)+,CDDE%9LA?E5L9R
M=I;^SMHEYX*^'_B>'Q%X7U9_%]GJ$J:GK5Y>>;%<2!U=71F?(Q^Y9@0NX?-E
MNE-^"'QQF\/:';:=-=Z+=75S)<R)YMU LC2J&7A6N5Y?8'.Q &+DX&22?'+X
MKS>,Y8M$T^]T=+J/4E@0VFH0"7S61E)^2>3:ZXV!G3*E@5 (!KQ^2MRK!.*Y
M5K>[OO\ EY?,]1SHW>+3?-M:VFWYGSU\?]2\-7'PU\,""UO+F\N9[F6SN2?+
MCME @WHW+"0%=@' *D'G!"UW'Q[70-+T#X>6ITYM+\7MH%I#<ZK?!X(0HC@"
M[6Y#N 2F\(^SH0.HY/PKX;T[XO>)UT>&"YU/PWHMS'>ZCK;RR+;1_,^;:VB9
M3L$K%(P"W(C4X^7)]D\>%?CG_;U@$GL[ZQC\_09H[I5><J"7MS<?9\10X*':
M7SN4#J#7LSJ1H3I1=[0NWKM?;_-H\J$'6A4DK7E9+3>V_P#PYQ'AJ!;KX86U
MK>_VA= VQGU+S;@WES>V(#I#'93JTPC9+C&?EC&XKP,'/GG@II].T:0ZJ[Q>
M%Y+22/,\.WRKF-P-B^86*RB66-BZE0 "67!R.V\(Q.OA_P 8>$O$EWHZZYX?
MTV\>.TO[V:[DD@\LOY(5@5<*Z1RY 8<L0J]L'PY-<>,_AG?+F[N#X?N!<Q3R
M6XC@%O.F"B*V0BJR')9@,/D.N2#K3]SVE]G)/Y/9HQFN?DMND_PW3.6TR2!K
MB&WBMTW.ZQ"*(.?E63<8_+!'( )*#!/WBLOWC^HD1FCMI6QYB&8D#@$#8H]!
MZ&OS&^P-']GE\UH[=Y(C&\K%8R5(6,JS,H.T$A<M,PZ(!7Z?V,6V"<D#YILY
M'?Y$'/Y5XN?M/V?S_0]G)%9S^7ZD44R2J5[]U/!'X4@MM@S$QC_V>J_E4DL*
M2'#(&]#W'XTP12Q_ZN4D>DGS?KU_G7RA]2-$LD9Q)&?K&,C_ !%*5AN1GY7(
MZ$'D?CU%+YLB_?B/UC.1_C32UM,?GV;^V\88?GS0(\>BCD3]K>Y"/D_\(5']
M_G_E];O7"_#OPAXMUJ^^,-]I'CW4_#5C'XGU!7L;+3[*X1F\J/+;IHF?D<<'
MMQ7T\MMS\LKJ!_M9'ZU/B>.V4!HW+-GD$''ZU#+1\-> A8-H/P_34M'NM?LF
M^%-\ESIUFN)[I#- &2/D?,1G&#UZ5TW@3QQ8)XX\ :3X7^(EK\5=(ENMBZ1J
MME%+JV@1"%_WYG15,>S[A$J!B&P&)KZX\R5?O1;O9&S_ #Q2+Y2NS&U8.W4[
M!DT]A7N>,_'Y_P#A&/$_PR\9ZI)(_A;0]6G.I3F,R1V9EMGCBN'"CA58X+?P
M[\UPGQV^*/A/XC?#KXF#PL+#Q$UEX5F%SXLTZ*.6WA#,"MH+@$[F/+E%) QS
M@D5]2W:6X1$:VY YW19Y_(U5CCL[9 D=J(UZA4MC@?DM"%L?/'PK^)FE:GJ%
MAIZ?M :-XRGFLVCB\/Q6]BDDC>43@&+#DK@G\.:\KT_P]XQLOV5?!>H:OXJG
MU'X6W$4?_"0:)IVFPQ7=O8>:<NLY#,Z*0"X 5MF2&&*^X!';2X!M\Y/>!O\
M"GW(MQ.=EK@#@8BQ2W'L>(^-I[6Z^//P7FM+Q9[*2TU9X98V4JR&VB*D'N",
M5Y#\:[83W/QY2VNY()FU'PRL<T?SA6+188KT;!YP:^R,J.5MV_(#^M6+;S9)
M1B$87YB)'QP/IFFP1X#\7?#?B;PQ\!/B8GB'Q/-XK230;DPEM*M[3R6\I\G]
MV 3GCKG&*\BMO&-EX:^,OBPW'Q;T[X7F;1]$*QWB6DAN\6IR1YP/W?;UYK[7
M=IY79B47//()_P *C-B96W&5E;UB 7/Z46"Y\O\ C[Q;X7N[_P #ZU=_$RZT
M.\;39XM.^)6G+:C3+L^8HFMIU8-#R4#X^7[IVG((KNOV<O$H\6Z#XBN+F32M
M12'6)8H/$>CV/V.'7%V(3=>42P+Y)0L"0Q3@XKV06T<4<AG*7<87!69^N?8_
M*3^5,6XLW 58V5NVU"OY'I^1H"YX]J<TL?[6'A_]RTH'@^] "KM./M<'4&N#
M^'7@CQ1XDU/XNW6C_$+4/"MFGB?4 ^FVNGV<Z,1%&2V9HF89X'![=*^G]MT"
M!$H*>EPW\B,_K3V1VMLW68MYQE$!&/KSQ^5 )GQ%X&MM=^)WA3X4^%-'T?2_
M$NG^&_#*:EJUKJ^I264!EN(W@MU+1P3?,$\Y]NT=0<^NOJ7B/4)_V2/$?A37
MIE'B?PCJ%IHE]"DAE5E2Z@,$BN54LK1%"&(&<'@5]A"QCX>.5G'_ $T/F#\,
M]*>Q(7;+;JZ_[&#^8/\ ]>F@;(+:*;'F?9Q"%'WXVY)[9 (_F::4\YCYMTTA
M/5+A< _0<?UJ^XA2-(TE>%R-Y1N,?@W]*C=9AQ^[D'8?=_QI)@R-(VC V10$
M=!M)']*LQ&>*,RF.//1!YAZ^OW:KK$KN ;9U<\;H\9/X@YJ:Y,"D)YLL2*,?
M.6'ZFAL$,/VAC]V-3ZDDY_2N2\8ZYK6B:E8K:6;ZA9NK&>."UF=R>P#)PHZY
M)R>F%-=6&B8Y6X) ]'%<SXEC\0G6+9M&:YGM%B5G59+<1%O,&X2;R'QLSC8>
MN*UA:^IW8&,95TI\MK/XG9;=S"N_B#J(T&XFU+P'(EDJN7CO&<@;,8.TPD8)
M/!]B<<5-X3\0W-_J\FG?\(5_9ULZLT=X+<I#C;T.4&[)+>AP<;>M U;QU+'$
M]QH>G12AF9\2H^5^8*H#2GIA3]X9W 9&#5Z^N/%D6G^'98(Y;B\"9O[>!( K
MME>&<L0H'S<)G/3<.#6_NI65OO/H*D**BZ4(TXWOM4;2[/=KI:[T=U<5? VL
MWI6:XL_#$LPVC<]@Q50J@*!SV.0/05D>))+CPUXCO+73? VGWMM$R>7=QZ<0
M7B\K,B[P" =[* 0#QNX)%7AXE^)JZ?->S:#IL8MT=A;A=Q8@C&T+-Z$G'7Y<
M=Q4WAZ[\;7?B(?VSI=N-*D);S=ZJT8V\ (KMCY@.I;[QYP*E-J[;37J$75HJ
M4ZDJ<DD]%.W;:SU?;U,[Q5 MJ]G+I7@VVOA-OEO9DL Q&<+\IPK,2QR< DJI
MXY!%:379K^X::Y^&<ES>!7B:>2U+,RJO'/E,0K'@<G&?K7='PYJZ-YLGB:>&
M(;CL^R0\\L1V[!E'_ /<UC^++CQM ;6'PX_VB%[/RI;F1(5_?;@?-PV,DA2N
M!\O[S/:B,T[+3[V98>M3FXTY.+>OO.<XZ;ZO3^K'GFC_ !@\.^+[74-,\/\
M@:QU&]LW2*ZM3:/)Y$NT K)&(!TVE <X^3DJ,5/J7Q1T>[U@:1JOARVLO%US
M:>;86FH6,ES/. 6W (L8PJJK$#<,] #UKQCX6+KWA/7HM=TQH;._\1ZUJ.@7
M<DI B2<3"6)CPP_YZJ.#VIUM?>*M?^.7A;QN^G0RR:IJEY;:<974@P01M&47
M##(&7(Z;CCFO3>'@I.VR3ZZW_I/Y'Z15R#!K$55!VIPA)Q;J/FYXIWB[Z<K<
M)7_NKIN=Y<_M!>!$DN-&O- M[J.SE>.6>STV>!!)%*0JF/RB5]2"QP"P/H>Y
M^&GQ(T[Q=I>MZQX7TG2T:VM5C1[6VD),Q)+1R;$#=E.U<MC&?2O(?AOX^^)?
MA/1O&DV@>!8M>T:#Q!J%Q/,+I%E$FX97R]^X[< X4'.>/6NS_9EM_%6M:MK'
MC>]BTQ=/\4/%/,;-U=5,<;+C 8;9"WWLKU!X[C.M2A&$GV_O7O\ +IH<.;97
MA,)A,1422Y.6S=93YI-IN+@E[K<;O7M:W;T-/B;XED\J%O"%Y<2>4SM-Y<MM
M%N )("E'*YXQR<^QX'G_ (P^/7A_P[XH6WU3PQ;'54?,MM' \]R_R8W'$60
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
MD^SG)!W[8"%P.2&((Z8KM+O4_B39WTS)H=D82@VB61%5"-W((ERV1MR3C&,
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
MKMGB1\6?M&M@#X>^#0#_ 'O$4A8?E!C]*1_&'[0=J,GX:^#9'/\ U,LI9O\
MR!DU[3HFHVOB;3TO[">9+5V=54H\;@JQ4@JX!7!!XV@UGV/BVQ;4HK14O8/M
M$AB@N;RR=(IW )*JY YP#C/!QQFJ46[^1O\ 5ZS<H\CO'?3:W?[G]S/)Y_&'
M[0L\(?\ X5AX/@(^4LOB&7=^D&14,?BSX_QL#_PK_P (>9ZR>*9=WZP5[CJG
MBJ'0YH[*1)+V]N4+Q65E$\LKJIY8JH.U1TW-@9.,TFI>([71M*6_OT>V@?:%
M3:6D+-T0)C<7)XV@$U*3^\/856HM0?O;:;^G<\67QC^T0",> /!I] ?$K_\
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
MI<*HC7%Z@&S')'UQ7WDO2O@[]EO3E@_;)\<W*7UE,9/[6#6]J'#1D7JC+#8
M#U[U]XKTKXS.O]YC_AB?7Y3_  )?XF+1117@GM!1110 4444 8OC*SN]0\,:
MA;V.GZ=JEW)'B.SU<D6LIR.),*W'_ 3SBO,-$L?BIX=BECT?P7\.M,CD8-(E
MC?W$(8^I"VPR:]'^(>FIK'@O5;.30%\4I-%M.CO,L(NOF'R[V(4>O)[5R_P0
M\+P^%]*U.*'X=Q_#L2SJQM8[V*Z^T?+C?F,D#'3!KJIR4:;;L_Z]4_P/IL%6
MA1R^I.2C)\WPRMKMT]I&7W0DO/MU'@BX\57.FSMXNLM)L;\2D1)H]S)/&8\#
M!8NB$-G=QC&,<UT5%%<S=W>Q\]5J*K-S45&_1;+TNW^84444C(**** "BBB@
M HHHH **** "BBB@#PS]HK7]=TF^TV+[+ GAAHBSWPTJVU*47&[A/+GFC"KM
MYW ,2>.*ZGX#:KK^J^$9I-:LH+6T2<KILL5K%://!M!WO#%+(B'=N'#<@ X%
M5/BY\ [/XKZQ;ZA/J*6KI9O821W.GPWJ^6S;BT0E!\J3_;7GIQQ71?#/X7:=
M\+K35+73)G:WOKK[2(/+2..'Y%0*B( !PH)/5B23UKNE.FZ"BM_3]3[.OC,!
M+):>&@U[5:M<CNM?YN]O-JVEDSLZ***X3XP**** "BBB@ HHHH **** "BBB
M@ HHHH *YCS])_X67Y/V>?\ MW^R-_VC/[K[/YV-N,_>W\].G?M73US']K6W
M_"R_[,_LZ+[9_9'VG^T<CS/+\[;Y6,9QGYNO7M7303?/:^SV_K8X<4TO9W:^
M);J_W=GYG3T445S'<?!'C_1KZ?\ X*"Z=J*0&>SBOK",R>;M$)-LIPV&XSAL
M#N<#!R:\G\$V-QXOUZWTZWC3[9]H6&ZO91)FS4ABKR28CGB7$9 8RN 0HRV0
M#Z=\1W+?\%%=',Q=8TN[%8U49W$VR\\D8^\>F> >#W\]T^:#PU\.]=CLI+B]
MGN(X()+D1K)<&VA8R1QRA"8Y%$ABCWJ^2CA=N,5^C4FU2II;N$+>6_Y'P%9+
MVLV]E.7Z%U[G0-=\81^/VEOM'\+0(1_9AG,3WD5O^YAE C^4AY<+M7;EV?&
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
M.=2"C9[^Q5O)>3MK;TW-IM%\8S^'I[;4=1BGO?/AE'EW)M(UB5E+@RQ)O4L
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
MPFB8C!8L0#Z]_3I63KMCX)\.^#Q?3^)S!I>C%KR:ZM&A>2+?)UQ'&2H+<#8
M3R.>:X.XU[X-:%H6FZG-XMG5=41I;"X>V>9SM8DGRTAWH-V>H7/.*R]ZJM%Y
M:1_KH>=RXC,H)PA)M/E3C1O\.L4K6LU%7MJ[-EKPG^SYXY\'Z39:7H_Q@"6F
MF$*EL=%W^2,LP!!N>AWDX(P<#T%<^GPX\7Z3XZN_$FF_%G1-/N[NU%M/+/&M
MV98T+."0[8'S!P/[JKP3R*Z+P#XM^$=_J]L^F^,YKB_T^-KKR'B>V#@#+$1&
M)<@8SA!G&:]#T'XA?#_Q#%=RV>I:4!:3-:SK=1BW9'&=RE90I(^8]L<GWK2=
M6M!MR5[[^ZE^AVXK,,WPU6I*M2<G)>\WAX1W=_>3AK=V:N<=I>@_$+3]<N)[
MSXI:1J_FJD4=H;46BHS9\A]JNP)?YQMQ\V!RV,"#XF?#'QAXHL]-MK_Q5IFF
M7EG>PWVGW6X*8IXU8LRKY0W<9.,@8!SQT=\4=?\ A1INKQ3Z]XK;3KN]B&R"
MQ5KF)@@&"5BC?:0K'&2!\Y_".3XJ?"_X@W.D:5'K^HRWENACLTL[&YB5 6!!
M \D+P%"\Y&,]SFE'VFE11_\ )3*B\P;I8ZGAY62UDL.DE9=.6*BU>Z?EO<Y?
MQ%^S]\2?&6JZ5X@U;QU97>MZ5MDTR_M;588K<[@Q)18SO!]20/;FO7M0T#Q+
M=Z)8BXUR"6YA6<SW1O7M(E9F3RV"QH X4 _*_!)QDYKGH?"W@J&TFOO[:U2*
M$2"-FG0@AKE0JC#Q9P=XYQ\O?&.+N@_"WP1K\ CTW5KB66%SYC+)%YA"L8\,
M#'D %&"MCU*GO4SJ.27,]%_=L<V+Q\\1&FZ\K0INRM144K[K2UEK>VUW>VNL
M]SIOCK2M+O);SQ/I=C &#K*[!(X_F3:I)C P<OGCDA/[QJ=?#OBC5M(T6ZL-
M:M[R:*26:21=1D\J96EW+DI&!)A>!PJCI@CBJ.C^&/!UC;W5EIOB*>.2Y:-%
MN+ET\P&*8L K/& ?G'3G/!YSDP'P=X1ANYKJ7Q7$\\T?SR-?0)N!D#,W 'WB
M&![8=@,<8SNOZ1Y[G!-QM9IZ6I6OI;5)^;Z]-B2\F\=V&C3WMWXHTXS6\)8A
M'MUC(9OW1):,8R P!X!('O6KX:A\9+JMK?3ZO;76DSL998T_>%T* (%8(%[9
M^7:#R>]5-%T#PC:Z?K.EPZ_;'S@B3R37%O\ (8B9>"T>&QO.2V[ QTQ65<>!
M/"5GK3)J&HW,]PR0LTEY)NMSA2Z$RF'9DJIZMDC-&CNK?@5*5*:G#EMOJJ.M
MFETTM9O1W['<'PC8/.(_[6UE+J1'*Q-J#9(Z$J,YXW#GMQ71S(B,JBV?&T$;
MDY_.O''\">$;2Q=[WQ*OEE))A+;W<:CRO,R"2J?.>@R<DXX'  ]GM=\NG0?.
MK1@!5D.XMC'!-<]16MK?Y'@X^"BHM5)2WWBX_=_6AX'I3/\ \-M>(ML)4_\
M"!6/RL0/^7^X],U[U:M/Y@!$:!AM).6Q_*O"=-@F'[;WB)6E ;_A K$[XUP"
M/M]QZYKW!HXT/[V=L#LTF/Y8K$\<\ST?Q)HO@3Q-XQM/$^LV>AW]SJ)OHY;Z
M9+=;JV,4:HZ.Y^8)M*$ _*1R!D9IWFL^&M!U_P "ZU 8M,\,-;7MK%<3Q-;P
MQO*8FC4^8 $W^6Y&< G&.HSZO>P64\B/]F6XZ.K&+?AAW!(Z_C395:XC:,VX
M:-AAA-C!'TYJH[ SQ^?7]!U#PI\1=7U&9QX3U/5K:*'4[0[ND=M#YT9&0RI*
M.6Y7Y#U (K2\*>)1J7CVTL1XATCQK&-/FD&JZ=#&MQ9)OCPLTD;,I$O48"9,
M70]1ZK9PN'C7S!&@^79$H  _&H8])M;-G6.W1<L2?EZGU^M2MP>QY5H_Q&\(
M2?''4[6U\1Z1<7<NDV=K'##?1-(\PN+G,8&[)<9&5Z\BH/%'BR1/C@VFZ;XL
M\,Z%J;:-!;FWU<?:)F9IY"JI&L\1W8(.,G((KV10 1Q@"K,(#1S+U^4'\J)
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
M/=]H&[!W!G!!^8GID8/2N9M;V;3KRXE?P%#JDEV\<$BQZ7+;K&H=EVG>KA@
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
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
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
MYRGF9*K#& -QX)?(. GKDD\#D68/#%Y=V&GMK&J7?]JQ1[93IURT,3G<&R0
M,G@#H."?6J7B3PCJ<>G-#H>K7:WJ3PRB2_O)&4B,?<)&3M; W#ODU"E%M)V^
MXY8UZ4G"G+DO%[\NCUZN^J\K+T,BSUOXB//MN-!M?LWV@8+2QEQ$6)/W9 ,@
M8 ^GXTL&J_$N;3[AFT.PBD.$58]K-W.X9GV\#;\I/4YSQBM;PMH/BC2-%O;>
M\U2+4;HA_LTL\A*QG&5W'9N.6)SDG   K(M_"_C_ $N&**V\1VEQ;K\C27!<
MR2J"Q!(97"GYL'DYV@GIBJO%M_#^)V*I1E*:2HJS5M)6?XZ>GW::D^EZGX]D
MLKZ*\T^SM)DM)A!-$4>228*!'CY]JY.2<KCMQWBTS4/']M=J%TA;ZU422>9?
MO MQPF0I,3A,EA@8' 923P<11:'\1WN%+Z_8",(O$<:G<X4YZP\*6YQG('0]
MZLZ?X=^(-I("_B&T2)G!N.DL@!8;@A,(4?*.!@ >_6J=O[OXC?LUS:T=?\6G
MIU_,=I\_CJ:6_&I6L=KBUN/LQMEA<&4E?*/S2<X&_P"5@HX&2<\4K74_B6)(
M8AI5M.$A=FN;UHBY<,=N5CD48(QP!QW)ZF;5?#'C3^T=1N-(U6"VDF>0Q27%
MY+*I4E-H\EHV1-NUON]=U6I?#OCLR0RR:W:B,2J)8X7,9,8D4C_ED<DJIR!M
MY;&0!R7C_=",Z32E^YL^C3NM/)_KZI%*;6_B'->S[-&M&-O,P((6))AY>5Y:
M5B02P.!C& -W7'4V]EK^JQ65Y<:DVD3K OGV-O#'(GF9R0&;)]N#7.7WAOQL
MNM7USI>K01Q7-RLBK=W,DV(\G**AC*H",<+SU^;M3I-'^(EA<V<7]N6]S#,=
MT[XB41X5>.(<D$[\8P>G(YJ&E*UFD9U(TZJC[.5*-EV=]M;W37IU+VN6GBK0
M],M6TV_;7-16Z225)8H8@T(C.Y.@&68 YZ@GT%/TIO&:>$[V/4H8I=95-MO,
M/+0.Y51N<AB/O$G 4<+T)/+O"/ACQ"^ERP>)]6^TF*6-X9;"1HWVISM9L MG
M SG.>>>:TM.\)_9K@SIJ>J3%$90MU>O(G*@9(/4\9^I-2Y)>[I]QR3K4X)TI
M<DFG>ZCOUM?33H]#F;74?B7:1;#H]E=C:R"22:,;BJ !AM9?E=P3R,C<>!@"
MK:Z]\18DE4Z!IT2*5,8=ERXY#*<3G!Z'//TI/!WA?QCHMU!<ZKKJ7MG#%%#Y
M)G9S*$#C<2Z$[CO!)&"VT9/%4_$>@>.+S6[J^TS7;6WBFF#1VTIDVPHBE5 &
M"K%@Q+<  A?O8K3W7*WN_B=\IT'5=->QM;>TK>F^GW6^8S2-4^(5QJ,<5_IE
MG%:/*6>YDV;T3>> BRG^'IR?4YZ57>\^(%E<3FUL#?*T[#;?-;A%C\Q]IC\M
MU;&S9]_)SVZU)<Z/\1WMPL.N::DWF9+E1C;@#&/)ZYW'/N!@X)+;GP_\0_MR
MRV_B"S*)O4&7&&0LI7*"$#< .6R>N !R:T5O[OX@G3<N9NAKT][I^5_)_(M6
MU_XYFU>P$^FV]K8R.AN#"8W* ,P89,F>5P<@,>0..35&34OB+8270M=-34U:
M<F-[UH$"QYX"A) >!CEB2<?PGBM'5/#?BB[BT@IJ@DNH(&6YF^V26Z^:71MX
MCC0+( %=0K <'ZU4BT3XB& +/KNGM(N6#(N#GG )$0&,'TZ@<'I25M]"(3I-
M<W[GM9J71O5:W^^VEM!TFO?$2"X^R1Z9:,\D<C">&(*H 8!>6F(!P<X(;/3
MP3756"^*/$.BB749(_#>H+.VTV:I.&CVX&=Q8?>/M]T<#-<S=^&/%C6NC/!J
MJ_;K5)//,M])Y;L6)!*K&!(0, $@ ?W2*9'IOQ)M=.N&;7[6ZN0L@2"%(E5N
M!LY:'@_>SSC..O-0TFM+()*G5@E"5*+OO9WW?JK/S1TNK:/XBM-)U VVN27E
M\]K*MINMX4"2DY1LXP<=,'CUJKX6N?&:W<\FOVD26KL=J)Y;,HV(  ROC&0Y
MY!.6Z@"DT'P_XUM-;0:IK%I<:1(6=XURTF2F  VQ0.0.FT=3CG NQ^"HE7[+
M)K&M[<_>.HR9^Z!Z^V?J36;:2:=ON.2<Z=.,J4W"5^JCJO+3EMMV>YS$-]\2
M;25I5TNSO(Y'9O*:>/;$CD%4."IW)\P[@@YRQ%3)K7Q#^U+;RZ%810-\K2NR
MMY9WX# ";)^3DCCG@$XR7:IX1\8Q^*+FZL=>%K8-<>='&9G8H/)\O;M967;G
MYMIR-W/6M/QIX?\ $^OM:7.D:G!IXAA='A,C_OG8;22R@8VK\P.T_,>@P#5W
MC=;?B=CJT7*"M2]Y:NTM';9Z]]/ST,./5?B:EQ)LT*QDBFB "/(@1'&[H1+D
MY^7.<=, =35K5[KQO9ZJ[6,#7L"QIMC80+:LWEMOX+B4-OVX^;&,\FH4TKXD
M19":]IHRS@$(!@'&T\Q'I\W'?(YXY2^\,?$-]/C1_$%G)<%HWE:/"!"')(!$
M.2I7;QP2<_,!U>E_L_B6_9N2E>AV^U]_RMY;]P?4/B/)IP:+1K.&=HRC")HY
M/G9,Y :4# 8A>6[$\C +]8N?'5AK$\NE6IOH/LZ+'!-Y"PK)\NXD[@[?Q=U
MQ_%4UMH/C)]$FCU#5X;J]::!E2VG:U0HLFZ0>9'&'!9>.,C]33(/#7C^U:6-
M=<LC;JB(B.3*Z#HYWM'N8@$D$DDE1G&30FK_ &25*DFVO8Z75K2L[VV>^GRZ
MZD$NO?$&*-)7T:Q\V5]JPPQ;BAW#&3Y^#QG)X _0ZFCOXSOY-1M-8@ATH&(?
M9[^$QR2>8<9)7)7CGL.G>L^U\,>+)/#^I6U_JXEOYC"();>\>+8%/S881 IG
MOPQ/.6YX6'P[\0FFC27Q%9V]L(X0HBQ(V1@."TD3$Y&3EB3GO0^5IK04O93C
M**=)-/>S\GIOZ:KHSHK/2-7@GC-SXAGNK=9 [0FUB7*Y;*Y"Y'WEY_V/<US>
MCM\0H=1@^W0Q3:8LDBR,1"6=2Q=6 5U(;;B,=N"2#UJDNA_$J::*5M9L[>2-
MI$9)<$.-W#!5B P0!C=DC)Y&<#M[KPK'?-<3MJ6J0L[ABEO>O&@^4+A5'0<9
M^I-0[1WL_E_PQS2E##-QJ2ISYETC>UO11WO?KMY'+^(+OQU%K5W)I5E!/IW
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
M_IJD%0 " !ZY]>*^\E&*^$/V7-.CM_VR/'ERFK07KSMJQ>VC28/#_IJX!+H
M>#V;&<]>#7W>!BOD\Z=\3'_#'\CZG*?X$O\ $Q:***\$]H**** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH *YC;I/_"R\[I_[=_LC&W_EE]G\[K_O;_TKIZYC
M[?I__"R_L7V'_B:_V1YWV[=_RQ\['EX_WN<UTT+^_:^SV_7R.'%-+V=[?$M_
MT\^QT]%%%<QW'P9\0-!NW_X* Z7J48MS;"\L0ZR31^8Q^RC[J-R<8S\H.,9R
M.H\Q^&]Q9Z];7W@749F,6IRP"SN)Y5EE:[4O)//=[69HT< P[3V*C@[F'H/Q
M'M"/^"A^E2%6GB:[L S%CMB;[,"!P."=N1G.?8'CR:%H[:"WB=8A "K*DC90
M$8^XA"1-Q_<@E_  5^CT8\]*FNO)"WEO8^ KRY:LW_?E?TT.X\&>([W3_A>^
MB:+X?CTB_,DB7XR8KJZ,$DP,.9\F0QPL&C)7 :%EP" M<IX"TC4_B+XNLU6:
MSNM1GO'EU'Q$%,8BBC"ND[S0LF#(LC0X*@D_[2FK_P 2/$NHZ+X]T+QW:W.H
MWVH362R_8;*V B3RCY5RDS,#G>!O.Y=P##>J_*!V,%Q:_"CQ]?:-=S:3X;\
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
MA\PZQVZ]1A\\C0OKN+0?C=?"1;_7-&\2O%%J%LL<=O8_8KO&V,OEE!0L1N!
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
MW*HQO8[>%' QDY)Y)-.]PL>XN"UNA_NDBHMM31'?$ZYY^]0B  N^0G;WJ;M
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
MN,],G/K5W2&\::W+,FIB+P\D: QRVJ1R^8Q0@@AF;&UB".!TQS42I^:^\B6
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
MJ4-Z?O:OM;T,<;[KC+:?N_>=W^T_JMY9>+;OPU FHZ7I%@3>R7&H7>QKQWW
M3RAT:.4?NL1@$/@GCKB+Q;;6%A\)9X-/@MI]+AAMH8HY[(+),H*RW4@CB\J2
M1?/>!=VP)A!NR>M#]JCQ1K>M>+_MFHW]M/X=NB%T?4+4BT>&--P:-6!=RPWC
M?N&TDC &*O?$*^=/A>MYH\EU>2I8PZ9!J5I!YDKV-PKO+:L D4?RW$+(Q&]@
M&_VLUO3BU1P]NK_'3\3&HTZM9OI_7W'(ZS=+JFC:/::7!?K9Z!86XO;2^3S;
MBRE=I7^4% I'(15VJP,B@%5RQM_!*Z:[^,'@Z5Y"LC:M;[Y!)O,@\U2BAC\Q
M.-^YMWEG[J*QYK#:*'PEX?T^VT<1O>:U:QW-Q>V\AEAB!V"6&)$X;$D*[QR_
M;Y=H)W/@E>3W7Q;\&,S2_P#(6M@SS,"J,) &0A0"&.?E/RL>DB'K7H35L/4M
MM9_\'\3SX-NM"^]T>G?L]ZI=-^W+XOL)KTSVL$VLFVA$A*Q*]R&90!P.1DKC
M@YK[U Q7PC^S_>%OVX?&5G)IEI9R1W6KRBX6-EEF4SC&=P].>  <DY/?[N!S
M7Q&<_P >&GV(_D?995_!G_B8M%%%>">T%%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %8']GZK_ ,)Y]N^TG^P_[-\C[/YAQ]H\W._9T^[QFM^N9_LB'_A9
M7]J?VC#]H_LC[-_9V1YNWSMWFXSG;GY>G7O711=N;7H^E_\ AO4X\2F^2RO[
MRZV_X?TZG34445SG8?!OQF?1T_;N\-)<6]VVHO<Z<8Y8KA%B"X/WU,>>,#^+
MG/:OF9A<R!XT$=S*,-,EN1N /WB4 SVZO"1_M X)^F?C';6\7[=_AVX.JQVT
M[7.G1BU='9W#+C*'!4=,')& P/->#>"=0L;:>;4=8MXM1M(&:WM+.21I;6]E
MEBD:WD7S')B"M"^\*Z_-M4XPU?I^!ER48-:^Y']3\[QD>:K)/3WI?H4_'*/.
MVA>#K62WGN[:$--97]J?FGN%#^9#,A8E5B$8)9@!CY<@#;Z?XDT]?B#\1=2T
MN^O+[0O"?@ZP@@EN](U$JUS<F *OV<2'RV:1D."Q!*QK\PQ@YMA;^(+;P[IO
MCRZ9M7UF:-D_M:UNHR'F-Q.OE.T8DS%$D;.,#YAY:D;5VCGOA/XFA\%:Y9F[
MT^_@\,W]PD-W;7Y!$<.[;;R"5S&-WF-.QP"-I?@@53O4BYPWBFM.[>MOT]3)
M6A)1GM*WW=/^">@S?$>";Q%I3^'K>]TZWTWRK>&V\\/OA0L1((RC()GVH69"
M S2QYR25.'XK\/ZOX)UB35],:XN_AEJEPAO[>%VFCT=G?<98@,[$)8ND@&&5
ML<]SQ'I<OAW4H[*UC62'_66=RFTPW$.-ZNDJE=PY0[E(V[(B'0QY;V+X&^)[
M0Z[)!?7(TSPW;@M=7,L2BUEN"L6V)RR[2\GF909=BJC#$EA7#4E]7BJE-75O
MO_X/8[*<?;2=.H[/\O\ @=SS;X;?M)^&/#^N:9HLFJZO;6L7F6T=[:%(=/0L
M"J.5) "A=@+"%?NYQR<L\<_M&^$/&_B:^TAM3UB+1;F[(FO-059;<JK9WHN7
M4994VDPG@]LYJYXLOO@AXE\3Q2GP,W]B?9S-=ZKIDGV!Y25.UU@\Q F)8Y(B
MA7YB\>#SS>^'U_\ !/PSXMN8_P#A#$M;)64V&KWS_P!I. 3$(V,>^16WM(2"
M -H7J3G$VP]_;^QGS6\M_P"O+Y%\U5KV/M8VOYG(>!M,UW6[JU\9>*DNM-\'
MV+";1M*)9$NGC?\ X^F1LY"[VD\Q@=SD+SNP=?3_ !Q8-?ZU8^)K6^NX]9$L
M-X+2Y0/;*'<"2%-BQ^<) X#R$X!0!B6KOOC?XI@/B(VEI=+JND.'ETJ_4!;7
M>2OFB*12$_=\*662-@W&26Q7F?@K2H]8U>V74"EGIL6;BZO)MD<,$(94RSN-
MJX(CP&Q@JA!<EFJHS]O!UJBLNB73_@]R9Q]C-4J;OWOU_P"!V%T6Q7PGXCU/
MPA!=S:WX=\7:%<7.FZKJVJ,428P,K&8IA$D#JT3;"?O@;FXQYIX2N&G\/^(_
M#D\D*WEO'_:%O86-F46!XL+,9)6"X)3#8&Y24&>0%;1\?>+9/&&OC4;;3K^V
MT>WG L[>W 5(+<$>4[.HE5BLRMN!SG@8Z =/J=OX@M=!N/'-C"-)U&\:.)KJ
M_NH@)I#.\<UH[2% 82%613@X1@IXVX]!7II.;]Z5OO6U_5;V.%M5&U!:1O\
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
M[ [CRW3WJ52A3BY5%TV_[>L<]/+L-@L/.MCJ4G)0;<6M+JM[/1+RUM\[G5>
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
MC?6$-IHMU'*[:>UQOFM;C39O*2)7>9)#YL<J!" 8>"50Y/..GV5/^8^@_LO
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
M=6"D'CV.>M%#^+'U/FZ_\.7HS\T(+>\U&:.VM46YC:00DP.I16)Z-@E5Y/\
M$D1_VL<#IV@'BWXP:)H5C=6,]EI5Q!9.NJ0O;26JPR S.9%_@:3>0S,6.>0"
M>8_#>M?V)H]YJ,D,'_"3R0O#I2WDZ/#8SQ2(S7*32M]PQ2J4!<KD,<'Y:Z7Q
M+H][X6\/G49[.]O4U^R07%Y;W*+]M@-M$TTLA590TA,GE*,X!+L?F;=7ZC6J
M>]R[7NEZ]_D?G%*%HW]&_0TK3[#\2/%WB'QMXHFUC1?#MCJ#6&G:587ZB6YV
M.'>+9-A?*"L&?:0<N>&SQLV'Q$37/%<M[]F,&G7D<D%YI<]SN@CC*(AB42)F
M.'Y\, P5=DN.%!'&?";7K:PN&\->(XI+'1M6MY LFJ;(EM;LHQ4>9*RY3R1"
MC JWS;#P2#5VZ@O=#UU;2:V-M-:L1,+L; 55]I;<&0L.7^;*[O,D'SA]HX:E
M&*G*#Z+3M;R\SMC4;BIKJ]>]RKJV@ZK\-K_^S?$-U=WOPXNVD.G:M>H939,L
M;!;9\HX0_*J-&R$'"D 5Z#\)_P!JOPQ'JGV?4=9UK3]EJ/\ 29G5+,F-E>0(
MK.^W=ABJA5^]M&.,=W\,?&&A0>%==F\23BP\+VEM,EI:7MFDL5X0\OFK'$44
M22((R71$ZMSD &O+-2B^!.M^*M1EU'P1/I6@QD1P7>F:AY!DD+Y5RAE4*KQ.
MLF, H(Y,\#CCYXXCFIXBDVUUC;]>O>QU*+H<M2C423Z/_@=#GO$'Q_\ #/CM
MIK:6ZUB.&V66[M8]77S'FG52(8XV!EV%BS9V!"=W##%:_@?1_$VD2MXR\8^?
M;:S/$8]#T64^7'IT<J[%<1L,1EMJ1JF Q0R-_#D=S\#=<^$&A^(Q;3>$[7PI
MJ?VLPVVI7^+Q@O[UMK.S.(=L:*6DRHR>!CFLOXJ^(9;K6[^PFW7\T*!;*ZNX
MRHN+,O)AXR"H9'P=H1RKKN'EL%JW47/]7I4W&/GO;RMIZZD^S]SV]2:D_+OY
M_H<YI/B70=:\/7'AW7QK%M!=,E]_:FGW,:W%C-M4KY098XHU*'Y\88E'ZA<G
M(FTV\L?#?Q!^&TT<=^;""'5-(U&^U"2:*Y@\U'41\+N,B,'V* "4;Y>N=?P8
MNGV\5QKOB%<Z3IEL\\SS-'%]JD*.ZPQL^T-(_P"\Q@JV7D 51C'F\WBG5[_Q
MG:^(GL+U[SS2\"@>1;Q2\^6BE4D!1[<H@(;.<D-QD]<*7-*2@]%KY<U[K_@^
MIR3G:,7+=Z>=OZV*NG7HU[X=R0),E[?Z-=*5AL[/9!!;SY(12RY=EE!&&1L>
M8=N=Q*]+\#9YQ\:/!(:1%F35;=9(F;?*%+ '(R[CKR6,?^Z.!6O?:?>^"(]#
MU5[2./1-=NTDO]/U*XB$FJ630QRN9=SHS3)ED!5?F==WWB=U3X57D%I\=?!1
MM)R^AWFK6L]M-(S*%\Z0M%!'"C+&"J;0[;3@@G/*BMY5E.C4Y5HT_P M?Q,8
MTW&K3ONFO^ >H_L^#2G_ &X?&7V9;P:A'=:SY[33(4Q]H7&T!<GG/4\9'4@D
M_>8ZFO@WX 6T9_;D\870U:"XE:ZUB-K:$,K(%G&-WRA2>2."?N$U]XK7Q.<_
MQX?X(_D?8Y5_"G_B8ZBBBO!/:"BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "N8^S:5_P ++^T?:Y?[<_LC9]EVGR_L_G9WYQUW<8ST[=ZZ>N8^T:3_ ,++
M\C[++_;G]D;_ +5N_=_9_.QLQG[V[G..G?M730O[]K[/;]?(X<5;]W>WQ+>_
MX6Z]NAT](:6BN8[CX1^+^DW-Q^W;H-\@MIK>&?3HR)+E$:-B./EWACD9Q@=0
M.O0_/<LMI+H5QHKQIIN^X,H,D"JD;D11N7A&$! G;)0+@Q<=\^[_ !GA=OV_
M?#$LL,XB6?3PC1#<&8#OG& -W;/ZUX';LUW/./DN) 7DF42(Y=G)>0*$EEZE
M9<<8.8_7G]/P.M.G?I"/ZGYWC-)U+?S2_0ZW11J'PTMM>TR73M?BM+];2[CU
M3P](EE#%%!&")$N2I#(Y=T.<<YSSD5?\=^$+;QS!>^,_!T$=U>3LIU'28I?M
MM_:WUQNQND*^6(4BW%67)4G\0V6/2O&OAB72-<;;K,:)!9ZO=>9<?9T-VH,<
ML65?8=T+C(. ^0.U01ZI#\+=6,6L:1I'BC38]5EUR"7^TDMHXXXPJ0RQ1PL0
M%8R8(8,25(QD&B\N;F@OWGX26G?3;T=R5RVY9?!^3_,P-&^)MWX5L-5CBU.3
M6_#4[[)+._9WAC3?Y43QSD[RV(0VU4Q@$8QR.ZU'1?&OQ*\/WD5QIFG^"/"N
MG_9]5M%65/M%X[3+BX1I!OD<(2@#;0/D6LC4+CPQ8^,8=&^'8N[W4+R."WL9
M]2LC+-%M195,@E5(HXV#=(E'7<S;3AN2_P"$)EO[FUN?%?B:VGN5>>VOD@G-
M]<7,;Y=9$<@QX_>,R\G 1GQ\A"Z-0FU-+E>^JN_6VWE<A.4$X-\RVT>GW_H>
MHP_#CPNUY]@MEEG6RNGD":?>QW5]=*9=\4<-M'F-1NN(GPSG"Q!B, Y(OAKX
M9M[NUTU7FM2UPMU%,]^L=Y##&TTHCEM9MN7C#Q#"MD&7.,=?-)-)LQ%9RZ"F
MJ_V[ID;([WEY&A9F4Q1W:Q*I821E@, @YB4+N*M2Q:+IEQ:W U6VU.#6M3^=
MULKV*5+5)2BLWED#+S $$DD#/)!'$>RJ?\_';]?O^8_:4]N1?U\CNH=)\7?"
M[P;I^E3:9I?BKP;'IZZJ;ZWF!DTV1I6=I=\:[UW-LRI4@A0,_*37#^(OB%J'
MQ!_LKS;^;2]'>)[:STNQW0VPC<R1 F9269]R1DB1<?/C"CFEL/!.H:=JRS^#
M?$FF"^N+R..U:60V,MK @79YH8"-MV] R@]2!C+,HZ;P_K?@J/Q5./%B7EO>
MZ7;R>?\ 8[-K>666!_/RR(CQ-$6P,L Z\?,V012Y*;<^7F>^BL_N_44N::4+
M\J\W=??^A)X*T"T^&EC:>-O$T44&N-!)/I6C0S?V;?-,@V7+2$IY7DA295R=
MQ(SCKG,U^PO?B)_9EF=.U>WT[1]-N(Y]7\4A+F/$F989Y+G8.6(6-0.ZJH)R
M32P6T?Q$OM/T[3=-TGPII5C<W5].&U!;Z(17$,+L[)(VX^@"8/48R*M7#Z5X
M9T-?#^B1$W4T<::E>1;XSJ+QX,8\H!V\M3.F!WV\@8&,U?G4G_$?_DJU^6WJ
M5HHN*^!?B]/F<M:7ULUMHVEA1<BSN#,TP@!&]D4AHX3N12$C<\@ME6Y!)Q^H
MND,S6]UN8-BXP,9SC8G7/^>E?EK%(MMK%A&_E/\ OH9EW31CH1LR&F3J'Y^7
MI,_I7ZG:;*LT$V$*;9MISCGY%Z8KPL_LE3MY_H>WDFKG?R_4L-TIM.8''2FX
MKXX^L"BC%&* "BC%&* )W^:)3W'RFH6ZU-!R"AS\W3ZU$P(/2@0B_>%33<LK
M#HP_6H0.>E3*"T+#'*\C^M $%20ML=2/6HZ<.E Q\Z['8?B*BJ:3,D2MU(^4
MU&J%F  Y- $T \QF7/!&"?2F2OSL PHZ4YGV+L7'NWK23KE@XYW#M0(C!J>)
M1+&RDXV\Y]J@1&9L <^_:IUE$;!5Y4<$^M R*27=@ 84=!30<TLD91R,41QE
MVQT]<]A0!/L$B*Y/ X:HI'\P],*.@%2@B13$O"XX]S4&#Z4 $;[74^AJ9H0C
MLS?<!R/?VJ**(MUX4=34LW[R,,.-O&* (F8NQ)_ >E.B^977U&1]:9@^AJ2$
M;")&^Z.@]30 *!&-[<L?NJ?YUP/Q N_#T6J6HUC3[R]N"@"/;2E ,DA <2+\
MQ;.T\[3SE>M=]."923SGD?2O/?B)-=Q:I9B#P_;:LAA8&6?3GN2H.0P!7H ,
M$KU?.!S6U+XCT\M5\0E=K1[.W3N8-K?^!YI[7R="U+<Q7&Z8E>&VMD>=]T/C
M<,?,><-UKH$\2Z3X3T=; ^']9L+2Z?RY&G(RNY5!+2-+D 9"]<Y  [50\+V6
MK:K+(!X9T33)XE297NM)DCVNJ,(RI)Y(^4\<J"5/-0WNMZ[>W[IJGA2VUJ.T
MN3L8:=, J;7.Y'<-E\HG1<<C#'((Z6KNV_S/HJL%4J<C;DEJTYOY6N[?CZ%>
MUN/AC>PPV\\=PAO0LAAF^UF5F8G&XC))RYSR>#GIS4D6G?#C7#Y>GV$NKS^2
M#Y-F9Q(T7F\G+,H(#,3USCVJ.QU^626*\'PO,4J2QQAQ;XD7[V&&80=H"KSV
M+ <5OZ+9ZGJ%K'JFE^'M&\-R,IC2"ZLG$Z8+[LL GRD[", <9Z\4Y7CK=_?_
M )%5G*A%SE4J1MWJIJ__ &[=_/\ X!HS>.Q9VL+/X?UB"$,D*+)%&.6"A029
M.Y8+DGK7':GX@\#ZC<-?7&CZC*9U$TDGF$(RY^<[1+]T,1N7')YPW6JOQ$^+
M">$-4.A^(-1\- 3+'(T%TA.(F+9=D:3G;M!VXRVX8Z&N?TGXN:+KFHQ6FFV/
MA34M3E,<D5I:P+-*TBKPJE6.3MR0V,(!@U4*,K<R3^3-L'E=94OK$:4DFKWC
M)I6]?UV7J6_'[Z3=^#M1L_#&FWMCXHFA\BRN+NY;;#<%VV[F$K?/@.0_.!QG
M^&O-OAO9?%SX+^#?LVB>&O"#6=P1//?W!O7EN6Y'F.Q( !!+=% '/%=W8?%7
MPI?WT6GRW7@:SPAC9KR-(D51(Q8$,_R<J/W9YW-NZ5OR?$^/6I+FUA'AGQ9I
M.GQ1273V:&6U@Y&YGERR1@*6QPWW3G %="<X1Y'&Z>KN?0TJN,PE!X*>'YZ<
MI*4O:<SOT6MTM]DWH_,\D\7^&-3\<^"K"34;CPQI?BRVUO[8I674FMIH85.5
M+E78DE>-IQ@<$'(JU81>-[B1(-.T_P"&]Y=YG\FUADUD2L^W,BKN P<+P"0,
MCC!KLI/V@_ EY)/(-$\.2"W!$>Z]M][@NH^4%/\ :8D#T)YS7H'A*XE\8E-8
MT30-&TORKARMQ=6QD,V=O[V-U"]1O!(SSCFJE5G"/O1LO,UQ&8XS!44L3AW&
M";MS-63?31WMMY[G":;X4UJP^)G@KQ7=Z')8Z;HFASV-_%;AF$<K,2S1[R28
MQDD%FSCM6;\>=$T;XJV2:AH]K?:5XVL)1)8WDKA8PZ8+Q/MD( ,?)8#H ,D\
M5W?C_P",H\ :I;:7K6N>%UN95&ZT:7RW+94,&#2?("&)#,,?+CJ167IVJW6H
M6L<UIX/TJ[M)(B(YH="E>-X]VY6 !Y!;C;U!^?I6495$XU6MMOZZGFX;$8V%
M6CF,X<KBK1:;2<;R;3O\2;;NNJT.$\?^$M*\4:?I6LZ?'+H/C33$,C7$1:XL
M9U9MK1D,ZN(FDR%P%922=HZU3NM"^)GBK0;NSU/3+'PUX?O,V^I7GA_[1=W=
MPG'F1QB:3:F\C:S#))')->HZIK%Q:W$\M_X9T32;1))3)>ZCI;1PQ%FVL9)2
M0N,88R=''RCFMK6=5U[3;"*RM=&TK6M&F@,D,-EILTL##:3&"0?+"Y /<\C
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
M(O%&664NAV*2A7[N /E(%=#H_P 7_#VJW/V"P@\(WUW,ZI!!;VJN\K*A\H!
MY+%S@ #_ %>?FS6UI_Q!T;2;FZ>[O_!/AK5+)MK6MZ%M;I&(1I%VLX8<,RYQ
M\Q /0XK652JFK*UNGKW.^MCLQI3BX47#E3M!7Y7S63YEJVGHM=M&K:'GNJZ?
MXW\<W6D>&_B'86'AOPCILT=Y)::,DLMQ>F-CMC#R/G!QN^7+8.3UK4\">!O
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
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
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
M^X.#[UQ'C>VEN/$FGQRZ^FE6CQE'B6_:WE8$E<HHX<DL@R?ND#')K6G\1Z.
MM[=-I/1[JZV[$5SIWC%/#R74>LW!U4A6:U2VMF*YV C)PI( 8GG'S'&< 53C
MU'XCV5DN-)MKZ>21&"SO$&1#G<I9752>!@A1U/'I4NM%OM<U2,^&?%8N+9$(
MD8ZP\K(2S,2$4$$_,H!8D8 &W@&M$:'\2?+F_P"*AT]"%4Q8C5CPK!MW[D<$
ME3[8...#T:6UM\T>ZN11M-TN]I1<6O+W>GXA#J_Q$&()]%T],S1*\\#+D1D'
MS& ,IY4XP.?QK>3P[KI@"'Q3.[1D,2;.$;AA./N\?=;_ +[/H*Y;3S>74EQ:
M^)_&%H'5E2!=,OQ;R*^W9(K852?F=< YP2.E/UBWM;BV>31?&*B9G!D-UK;+
M&BN'V$%2<?,RD#HP3;TI-:V5ON_S,ITW*:A%0CYQ@W'[Y7_):G ?$+P[-!8W
MGBGQKX>TFYM+*-#<:AJ&GZ=/*(@#YBJSJ23N.(UZ$'YN:\^^#GPP\4:[XG@^
M)D7A:Q\/[XPNBV5C9VMI&D1&/.D0 9W#=DXW?,-O'3E/B]XIUS5OB2FC>(+/
M7]>\&Z*Z3&WTWSKJWU*9 I=S)P F<],["2!7?>%?C5J&N^)-.TB:T\6:/%(T
M4<EYJ4<MK;Q (6WN=V$&Q2 O1L[CC%>OR584O=MJON7;_,_55A<QP>5_N5!N
MI&\FD^6-.WPI<V[^UV7NK>5O-/A9XB^'FE>$]83Q/%:R>($U&[(2?PK'J+M\
MS;<RF)AU/W=P V]LFO2].\0PZM\%_'5UX)T#3K?3O[-DMK]DTF*PE+A927.P
M1;@$*\8;&>"3G/$_#+QWJ_@31KCP_9>'/'5WJL.K7DLHL+:=H2C.-IVJ06;"
ML><#/)W5Z7>^*/B%\2_ _BK3;72O$>E06^D2HT>O:.8)KTMNPL7[LEWV@*0,
M=?7FKK+W[VTNMWIOVM^IVYQ"7UIU.6T74B[SJ+EMS+:*@G9]+R=M'JCR;P9\
M8OASHG@#0K"_\.>$-1U&/3T2=KC06EG>;<5*LVWYVVX.X'DGVQ75^#[GQ/\
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
M?L9?A/J>L:1:Z9JWB&&ZT[3;:6WL!%8&.7<T#0I),WF$.41VX4(">?:J&L?
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
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
MB_:5H*R=:*_PJUMM[I=_(U?#^H>$/#NF6U@C37<,,;A9+JPD>0I^\)R1&,X
MD'_Z^<[67\%ZSJ23C5KK3WA99 +:V*1AHV8K*=T1Z%V&?NL>.2*ZB?QP+&W,
ML^@ZO! B%VD>%,*!NX)W_P"R/^^E]>.+N=9\#R32S3:%J?F2-*)=TI*\?-,,
M>=C"$YP!C)R@)YK.*;;>OX'%AX2G4E5E&I=]5*,O7HD0PZ3X#@D2+^V]4\F-
M#;F)X&'R*_FNA_<Y&U_G;^)1U(6M+0+7P?I>M"9=3O=0E#D%+BU9D,A9%$GR
MQ =T (.W'(Z$UFF]\$.T?_$BU5II750#<L6\R4':"?.ZR*IR<X(X8CI72V?B
MC2?#>BO>6/AO6DLKS]\7"!PP(4#!:3Y5PV0.  K=,5<KVZ_@===SE'E7M&WW
M<%>_GKNOO,:XL/ 7B^[GN?[::VCG0R+;.J6L#*H"[@'C7?M X))QSC J)OAW
MX"N&N;A_$_F2W#M(9!J$ V9VLQ&%XR-N?;!]Z?:W?PUEM99KJ.X@6><1R-<2
M7+L[?,BG>K,&4[6 (8CBD\GX7WD$,-K;M<&+-I!;H+D2%F!_=_,1R<$?,>#G
MI3NUMS?<6IU:6E/VZ2T^%.WST7;\_(V=#/A'PI=ZFB3S:@9K@SL\]HTR@L8_
MN,L>"N6C/!/KG@U#KT_@;Q*G[V]GL(1&4=+2T>/S%(5R"#$3\OEH21C:!R0#
M6[_PDZZ3I\%K#X<UJ"UMH5V[HE;"@(!R9"3@-SG^XWISS%SK_@_6M1,L^B:H
M]S.4#*)=NZ21=JH )@ 73&<84CACGBLXIM\VOX'#0C*=5UFJEUU4HORVM9??
MH9\VF^"I;F;;X@U-I'9Y2_D<[Y "S >3C+JHP,8(&5'>GZ39>"K&]CN(=5O[
MI8QN\B2V9XW14;:IQ#DA0&'7.>&R<"JCZWX"0M.FC:F(3$)O,\YN(PQB5_\
M79^5B47NO8 <UTN@ZGI'A^.XNM-\-ZS'&4997 \T*8_,W(,RGYMR$';]YF4Y
M.<UI*Z77\#MKN<*;7[W735P2\U_P#/U=/!'B_4%1M6?3R-]H4CA%M'*QW;D+
MO'R>3E0V"0,@U63X>^ [B]>5?$22/<(5CB2^@PH(:-2@"YR,L%/J,=L4G]M_
M#Z\DOK[4;:\LIV7,SW3S.0-W*@QNP7:Q^Z"",]!2QGX66ODHH"- PFC#"ZW*
M=YP>><%F)]#D'IBE[R5ES"7MJ4>2E[9+;2*:\]5;K8M^'[#P9X2N[IH-0FU0
M30J"7B^U1!51^59(\9VJX(S[=P*M>(-0\':S;1027,MBP=@K6MDZR,6#HR<Q
M'[V7 &,G!(Y%:6B:G;^&].2QT[POK4-HH>14V*^"=[$9:0G)*_\ CZ^O'/\
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
M>+-=^)GC&T= FJ7_ -HB:RTS3+GS[5)8E!4V\3.)88VB'.TD[D/&5"CI=/\
M!6B^&7$&MZB/$WB6&1[=;2SREO#$CD,CS!8Y9G*JJ[<' ;H>HC^%%M:>&O#6
MI>*/[..I7ME]HT2*."W\R&P./,RSN6926E:)&^4%4?J3BH]/$&KZC!([RW&U
MP/+CA(65LJ!LW AC_J\%=I(FB&] &-9SE9.%/2,>W?\ R+BMISUD^Y<_X11O
M#=O:>(OAJ;]=)M9Y;_6=->43_8/)CDC!(W-NBF*R%'8-@!3CBHM)^)6M:#9V
ML]GX>L$,,$4=Q9V\+M'+.8X9(W\A\HKB4;-RA=OGKM KW#1OB/H/P/TB;5=0
MNI/MFO0N(]!TJU62\FPSE756Z1C<Q#;G7!(#, #7BMI^UA#>^.]0U+PC\(-)
MNM0O8Y'ECEC:ZE9=S22S%8TP&)P7;T1<_=%<-)UJ[D_9<T5U;M]]][=]3KG&
ME24?WG*WT2O]W:_;0HCQ'XGUI4T?2+*%O$5Y#<:>VI0>9<W=U*ULF,2N3MW/
M"P&W9@J&Y'72N?"'ASPW/#+K%M>:_P"-KFWAN-9\V]:-=.01[)+5-CKF16BV
MDN< 2J,_Q5N?!+]L#PKX?U*=+CP$- :X9IY]0T!1<;8P68!XRH98DWMT/RCC
MI70_$:SL-5A&HV%U;:]9:XJ7HU*U5 IF+LN"2-HY;!!$A#-\P10#1*56C5]G
M*'(O)[_-?D"C3J4^=3YW^7W_ )GC_B/X>QOIFI7OA?4Y-8\+P6,;7.GR0A+R
MQC<@R2,J;8Y56.!07=STR0>#5GP9X]34]"O/#FNW.CWT$NZ[TIM9:2_-GJ&W
M$*Q10AEB@2(X9=I )] !6OX,\31Z#K,(>Q_MJ V[));RVI(NHI%P%VMG>&4I
MD<X\Y%R548YZ^^'4*_$V\T*&Q-SIVG6AN[Z":"07&G6LI\Z0ND3\/F41-A,J
MN,KU ]"ZDG3K/S3Z_P!;>MSCUBU.GUT:Z%CXD^&;S1)K/5/#\EG:Z1JFF6L,
M<V@206HCVHLUP-I(E ;.\*^21(,YXSJ?"C5;,_%?X;SQPHL]S>67F/' FY&>
M5RADC*C!96/[Q#@,6&W@9YW0-8TCQ/-/JMXN+/PU>0:F^FB$I'J+J$B@1=RN
M8H5";=I_@&<9+%=CX1SMJOQX\(:Q*&'G:M&()U)2-86EW+!E/-A=$R%4 HP"
MKTP-LR4E0G"6Z3_+_(<>5UHRCU:_,]1_9_DL4_;C\81I8W=O?M=:PTDL\^5D
M4SK@A2@P.#C!/!'I7W@.IKX/_9ZL[&+]M[QI<1:M%=7<EWK >T"2*T8^T @@
ME<-W!Y'/3<.:^\:^,SFSKPM_)'\CZ[*OX,_\3"BBBO!/:"BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "N8_L^P_P"%E_;OM_\ Q-/[(\G[#M_Y8^=GS,_[
MWRXKIZYC.D_\++QB?^W?[(Z_\LOL_G?^A;_TKIH7]^U]GM^OD<.*2?L[V^);
M_IY]CIZ**0US'<?"/Q@T>=OV[?#U]!-:QQ&XTZ.5);F%))/E_A1CN. !VSTQ
M7S&MFI653M8N,&:-T8/CCED;#YQC_6R'L!QFOI3XR:9.W[>OARZCLYKRV%QI
MR2L%8QPL1\I)&,'Y<C)[5X$8K::9@\^QV97+Y7Y"<CS< ;5W'@G&V7IMW<U^
MHX"=J=/7[$?U/SG&K]Y-?WY?H2>++:YUWP7HMV[:A.MBKZ7<I T=M;P%<O;O
M<3,01G<44,J8"87;QN]#^(5Q>>&=<L_'_A(Z=;75SIMO!JRR175[EY+2,AYT
M :,B0,,;^2T;'YC7">.;F#2;6X\.6:6UCI-B;:YGOO-$H,Q:5HW;<2) $9@(
M0-P$>"6()KTKXDQ3:5\+OL=O?/%C986T4$+W":E9QOF&[CC3$43;I)  I7Y>
M,X7!FJ[.GIHVU;R=MR:2TFUNDG?S1NZ=9:5X_GT#6+;3TTC3;DM/J8N+:258
M+B+S))Q(KSGRH2HE:--AR'/*Y;'DXUZW\<^(&^(-V;BYM]/G$>CZ-%;2RQ68
M1\H9F3.3M7>PR"S,/F S7<?#30-*T?X-?&*]T_6I;/5TTAH)- B>+:/D.7RH
MW2;06 Y.SY@23DUB? 2UT;3?AW+?P:[;?;6OI&O;:YAV^219W)"H"I\SA48D
M=>F..<(<M%5)IM\K45OLU=_Y7.B2=3V:=M4V_EI_2/?_ (,_!^3Q':V/B"33
M])DOL7$$USJ%O;F[$NTD[7:VD9@A?R_EEPOED9;D5'\:/AM/X'FO?%6F:?IT
M6JF]S;MI=I#Y\A(RRR%((F+,I;Y6ERS;<$D@&C^TKXQNO"[^"[GP%XGO[CQC
M;7K0V'AZ&R66.4'S(V.Q4!4$!@ 3A@N0.,T[]G3QB^L^ _%&I^*/%6HOXMNM
M1DEU+1;FS6..VE5U &UDW$$11QYR0NX* "03X%JRBL;?W6[6UOOMZ>9[7[ER
M^J):K6^EMOS\CYYT75]-^%VOVGB:WN+BVT#7)XH-2T6[MI-C@L6-Q"S[2ZHR
MQRCC@.H/WJ]-U2PMOA#I^NZE-IT5[+:W$EOHZK;2!6N"<;C&DW[^V50K-^[&
M&.<-DUYK^T'IVDR_#G0+N?78+C4O/G^QVT$!<7$>R!"7;"^6555(!SD$ "NV
M^/F@:/JOASX>7T^MS:KXCF\/VL?]A,87,)$<'S MAE+!MVP,I<C(/8_0SM6=
M*4F_?NG\MO\ ASQ87I1FE]FS7S_K8P?"TMUJFG^+?'OB9K.XUJYT:ZMM+D=;
MFT9$6%8C+&&VI'&-ZQ_)@ R,<@ UQ.@V-QH/PYO9%;4(_P"VY18V]O>A)D>&
M(!Y9(95^\ID(!55*_*<Y(W+Z?X4W:S\(DAN]2)M9(FM+ZYGMFCAT6T7?<),8
M9,I,7G0!NI& ,Y*X\Y\#F/6]'7P_?0VT^F+:/>VEX\P(24N7?&W 8-((5,!&
M[Y@ 1SG:C.[J::)K3R6UOS,*L;*'=IZ^;.>LK0F]M55579*@28LO/(^X[/\
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
M$7<W/W1R::C%6!'/M4LJ[ %'0\F@!C,6.1P>U.?# -T)ZBHLT^$G=C&0>"*
M%08!8CI_.F@D'.>:=-\N%'0=#ZU'F@"20<!QT/Z4J':A;H3P/\:2'YCM/0]<
M]J;*2'P>,# H 0]*;2YI* "BBB@84444 %%%% !7GOQS!?X:^*(]S1AM#U ;
M]VU5_=#DL651]68=^17H5<#\;96C^&WBC:SQG^Q+\^8I4!,1#D[N/S!'K710
M_B1]3"O_  Y>C/S(6QW( B@.6#@Q !7/; 4*&/?A9NY)KK/$,UP_BKPKXOFE
MOY8IY+:?SVF6TLXKB%PDR;@V9)2J"0_,'.X9W<@4=+TVPU/4[6RN)A;6\DPA
MDW-@1J3S'Q]T%<MY9^Z?G4J 15S4I;;Q!XFT?1+R:TT#1++5/L,=S*4N45S'
M&DS,) 1,S$#,HPH,F< 8K]6F[M:='?TM_F?FD%9?-?>=CXPO[SX0_$+5]6\+
MVVF-X;UB[=;O34L[J[B,D<["2#O&LHPV"I4@.N-H.:ZVXL]!TZ2Z\5IIYA\)
MV&E/JD$,T3R.Z;$3R'F:9B+C>T:;0%V;5^8A!GE_C5)?7VCZ#;7*RQW5],MQ
M>Z"R2W'DR;-@83,55%>-$9@& !Y()QB'Q#I6EZ1^Q]K\NB>(9;Y[O78%N=,S
M$$M ),?=C"[MY"_O, , N ,"O$4?:4Z<F]9-1?FMOOTT9ZSERSFDM$G)>3.:
M\/7%U<ZROCBXGN-;\3ZTQCM3#;2BVM Z;&C1^%++OV#+*$V.3G S]=_!_P""
MT<4-KK,%GH[)=VL3?:WMH%O)0LJY=S]D#G>$+%BY#%N.S5XC\![#0=-\.^"/
ML?B"WN;.Y:07'GP[9!(UU;JP\MD/"EY%!)QW[FM_]H'XC^)_#/Q.T>\^%_B'
M4O$'B*XTF1;W2#8K.MI;81P<*H((/.ULE<GD;L'FQKGB:WU:D^7?5W2LMEY'
M1A%##T_K%17VT7GU\P^,'@!OA5:K=V^FZ;$;U)XKV#2K6)89+5\K*',,$!;;
M\AXWL@9CM8*2?*/AX-/\%^,;3P=]ME?P[XMD*VNG:I:NDFFW#+MB<Y(R"9)(
M=P&"03@[:]X^'>NZ3<_LVVDDGC&]UF_FC,MV-1MEQ;SR9\U""FX<S.P8DE]A
M(. 17SA\;[.PLO%_@.\M]96\\1/!:F2WMD8HJF=W63S,#YBY(*\G(SQTK7 R
ME44L/4?=7UZ:I^5C/%QC!QKPZVT]=']YZ%K&MM\)?"$5S;6%N?$EZ_EZ?-<V
M4DL=O;#!>2:V$TBY).V)]HX&-J@ UQ]UI8TOX2^+]7U@6S>*?$DELT\QGGM;
MB.WDN&8!C.1CS/*=U'W2$7.[(KHOVK_#^BQ_$_5KW3M9F\1ZPRI//!MBF.GX
M$@:-<%7?:4'R!LHK'(.1A?'H_M3X0++>:FCV9LUO)=3N82L45Y$B006"02KA
M 8I&Q(@!!W'LV=J;7)2GUFTV_36WI^9C43YZD.D59?E?U/.[^TN='^'^E:7(
MUZG]HR'5);;4XE$L$(S' #(#ETVJ[!B$ W AER0VG\#K=F^,_@I]H0C5K;DE
M?,<;QW+*SCKTDF]<8S5;3C#KWAR[M]32*U?0X(/L-_\ :5,ABV*$0'[DGR^>
MZR 9CVDMD 8W/@?;Q)\6/!*B=H3'JELA3<%"'=NV /DIN/)_C?.=QYKTZK:H
M58]=?Z^XX*2_?0?30]0^ &D747[<?C*_G-H8GN=7BB6*>+S%Q.#\R+R.&!Y
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
MHS<"E WH?5?Y4C-N;/;L*%;:P- @5-Y Z#N:<7Q(".@[4L@$:X .6Y/M4>*
MV%8;2/0]*<A"+O[]!2Q*)%V'MSFF,VX^@'2@8Y3O!4CGJ#3*,D'(ZU)T'F8Y
M/0>] A'.P; >>II&)=0W?H::>3FE1@K<\@]10 *N\CT]:7>58;>@IT@\H%.Y
M[^U1T +(N.0.#R*1(P3N;[J\FG1_O,Q_BM#D<*.@_4T#!7)8ECPW6FNA5B#V
MHJ0+YHZX*]?I0(;&-G[P]>BBA"""C'W!/8TCL'([*.@IO% ";2.",&G@^4F1
MRS<#VJ0('&_/ '/UJ%SN;- QP/F1[>Z]/>F 9H0E6!%3;%#>9U7J![^E QC8
MC0 'YSU^E##S4W=UX)J,G<<GJ>:?$VUL]N] #=N!25)(NQBHZ=JCH$%%%% P
MHHHH **** "N"^-+N/A_XD2)Y%F;1-0*B$D/D1CE<(YR,CHI^AKO37!?&YX1
M\,O%0D R=%OCN8J% $7.22/\..2*WH_Q(^J,*W\.7HS\XK?2DN;4RB!9(TC$
M+E'RI&?FWE2<%OXS(T9/ .5XKK?$<\4%WX,\,/+'<7ZR)/,]M=M;7L;W<@VH
M)2,.A4AMJ#."!OP 6;X0M8?$.N6<5R9;:&&,WTUW*SA;>V0@-,#([X1>.8;@
M$9!"G.T:D2_VWXPU;QY?0)XE\-VB_P!J:-;RV8:>Y8-LMK4NOS(H;@)R#M8@
M$@E?TNI4O.TNBO\ /9(_/80]VZZ_ENV7/C+INK/KC>#K+0=4NV?47O[]8-(2
MY5)I=L<49,3*6C6+8H8C.=V&8@@>AVG@G1E\ ^)/A _EQ:M=VR&34S$\D5UJ
M)"NABEW-MC5@=RM@CYS@<FN6^$-DKP>+M9\.F>+Q=JEQ)=W@O'E%_;6_7;&Z
MLKF,3+(KODY\M001DUJ 0I?VMQY[P,)A+-/+)M=I>/DE=F4%CMCRN1N_TD E
MN*\BI*22I)VY-?\ M[>[\NQZ4.6[J;\WY=CRWP%=OID%EH>DF8:[X99GN=)U
M*V"3)<;@\KQ^6?,D19$ (P6 VL%)'/V#\+?BA;7VFZ5?7N@:K=ZPME%$-1GM
M'=F@FD0J"\<94G#)N)"EBO(&"1YWXQ^"6C?%N&?6[>[?P[XMTVU>T;4UM6G6
MYA\ED)NE**7)4LHDVKT(^;%>,:=^S9\<_!GBAX-$O[#5[Z"VV[4U3>J0,2J-
MY4I5EP4^4[>&C&.E35^KX^+YYJ$EWTWWU[&M)5\%+W8.47VU]-.Y[#\8?&4^
MIV5MX;\.>'[[3=)*W$4FGSPM%"P5PTCC(5E \Q &?8D89C@D 5XUX!\-:7\2
MOBYX<O)+N:\L?"'EMK%^EJBV+1Q,'ACB9>7S*TG) S& >BEJO_#S]DKX@:[/
M&_B3Q7;:=I4C3Z=)'%<'4K@%@T4R( "B,0'0G=D$8Q7K6L^&=!^'O@[_ (1;
MPU;_ &'3[.0.\DDABEN;@@9:XD( +X&T_,"JF0+&2!MKVE'"IT,//F;ZKI?1
MMW_ CV=7$2]M7C9+H^MMDCSWXW>&X_BC;W_C?0M*N9K^TOA8ZA;6NG27$MP<
M#9<0V^_Y%!9P7=5RQR,GFJ.M&[\1_!O4_$=U9:A93VQL[;4=QAT]EGBQ"N7
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
MMD$4#L>SR_';P(W@@>*AKZ/HK77V*-TMYFG:XW;?(%N$\WS<@_N]F[CI6SX
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
M*>71;>&\U_XO:X!:0WL[6Z#0;09 >14=D1XD)R$;FZZ5@_$C4]9^'7@/XO\
M@CQ99:7H27XMO%6E6^F7[W5K'"]Y"ETBR20PGY90'(V#'F]30%C[1\5^,-(\
M#Z,^JZW=_8;!)8H6F,;OAY)%C084$\LRCIWYXHUKQEHWAK5-&L-2O!;7NKR2
MPV$1C=O.>.,R.,@$#"*3\Q'3CFO#?CG\5/!WQ=^#7B"+P3XETSQ;>Z4]CJ=Y
M9Z+<I=3)!#=PO(^Q"3]U2?PJ+Q-\3?"WQH^,/PR7P1K=GXGBT<ZCJ6H2Z9()
MH[*%K1XD\UAPC,[@!&PW!XXH%8[S1/VH?A[XH:S33+[6[X74BQP3Q>&-4,$A
M+;0?-^S;,9_B)Q[UZGN%?$W[,OQ1T31? G@BSO/V@M(TPPA(Y/"DT-@)$_>G
M_1RY'F9.<9^]S7V3HWB'2M<N-4CTZ^AOI-,NC9W20MDPS!58HWOAE/XB@&CD
M?%WQ[\$>!-:N-(U'5+F75+:-9KN#3-,NK\V<9&0TYMXG$((YR^WCGI3?$OQ^
M\">&++P_>W.LR7<'B"%Y]-;2;"YU'[2B!2[*+>.0X&Y<DXZUYA\-_B9X4^"N
ML_$/1OB#K5GX8UVY\17FKQSZJXA_M.UF*F%X&/\ KMJ@1[%RP*8QTKS3P3X0
M\1WGC3X8Q:7J5UX&?5+KQ3JNF>;81RRVUE++&\<9AE&$W*=V",KNH&?7?@OQ
MUI/Q TE]1T8WK6JRF$_;].N;)]P )_=SQHQ'(YQCWKH_,$1V]S]ZL;PAI6JZ
M%H,%MK6MOXAU)2VZ_DMH[<N">/D3"C XX]*U5&*"=A91MSZ=13%^8XJ0_O(B
M.Z\_A2 &)<#[[#GV% R02*#Y0QM[GWJ!LJQ!'(IN2!@<5*P\U _\70T -3YV
M %3!A)^['0<J?6HVQ$NT?>(Y/]*C#%2#GI0 ;O:G(<YITB@L& PK<TQOE/'%
M $I.^(C^)?Y5#NI8WVN#U'0_2G-&%8C\1]* V&;J-U(>M% Q=U&ZDHH 7=1N
MI** %+<5P'QMBN)?AKXF^SS_ &63^Q;]5N"A=8V,0P2 "3SV .?0UWIKB_B^
MD;?#[Q&9I'@@&CWN^6-MK*/*YP1SG /Y5O0_B1]485OX<O0^#)KFV\)_#?[-
MI<-G#>Z_>2274"70B@D5D2)H()D9287D*R%"1@*%QQFNM31/#OQ*\$^'TTV.
M>SU--4C\./+:P/?H+M8(XHKIF1D"1J@EVY!VLY8#)KS+3M5N9X8GE:'4T(BG
M-O/<QS1QGRIF8A2X961I25(P1Y)QTKI?&OARYTG4([C2[W61X=U>[ATZUEDU
MQ(HXYYW:6Z#;<MN VJ.,[&7DG%?HM2G9I*5I7O?]&?!4YZ.35XVM8RO#M[=_
M#'Q3I\MK8WFGZII<)MFTW4',<EQ;NX58Y+:%5*F:20R$2'E43G')]ITV;PK\
M1)+F3PS=&VO(&8G2),)<<3-%NBDC?!0[3]TYRREB<XKF_#&E7'QR\.Z/?7.A
M07VH1W-[,NIZ:\<44BVZ(EHMY&Z&:[ (*J003DYW'.?,Y/![>'5W^(=9338M
M.9QL^6=\*BAML0;;;QLYD"L<29*[$!S6,E&N[2?+46FFO7^O,V3E16BYH/7L
M>Z>*/B?/\*].B\,^';VVN]=UD?V=?R-)YW]FDI,UL=B(1YC^9D[@WW#G)!->
M;(?B ;^TU*UM]3_MS5HWOED^UR1R8:&%Y"T2'*Q/,4S]T!6F&!U%#2/B#HG@
M:2^L_ W@BU6[3[+J]OJ6J/+<7[P&(*\GR,&3ABQ"\!-^2-PI]OXZU[PS&UKK
M>C2>&--F_>K=VKRZ9/.V_%OMG!9Y IG5Y%8G;Y;'&5YF&'=--Q@KOO:[^5]!
M3K*H_>F[+M>R_ T_#WC;QA\*DL_$]C%);Z7-#]M2&YD-U:R*EJ'BA=QDJWF7
M#D_=^Z3G(->H7,-O\48H]>L[Y6N;M475;""[)DTV\8%Y(G V$*NY47>2 SE6
M'6O((OB%XYBNY=5/@RP?^UHQ9F3^SY5@NA(Y=SF)QYL1C13N8$L%<9YK*U/6
MO GC2[O-430D\'ZIJ6H26%K=Z6!<V<\:1C>#$[;-Y)3'.T[]W6E+#.4E+EL^
MZU^]7O\ ,J->,(N-[KL]/N/1O$OQ(\/>$].U+2O#NH'4]<DMDM[G7+5=D%I%
M)(\,DL!1O-PKA2K %!OXQN->8^&? B>)-*NM3?3]2ET?1+26>ZGM+<:E'("Z
M+-9;D\N17#R-(BNV0K;^HS6WX)^$5[XNU*2SD0ZSI*V!4+97&XD&V1E6*1P6
MM7$L29$J@ R ?-G!D^)_BF^T(V.C6]K!X>BLM,M==%I%>K!>W%VK>5.]Q<QJ
M([B1T#;BW0CIG.=86IOV5"5Y/5M]/Z_ SG>:]K6C:*V2+_Q8UG2?"6IZ/I.A
M*(=9\/I;7][J,UX]K)YLT$40F$.[=YB[(MZESO,C9!SD7O#MA9:C\<? VO:4
M;>QEU*ZT^>[8 9"IL1H;9%!?RW?+F5@H8.HSDD'G[WPO)X7\)SOJR7EQK-W<
M-;P0ZM=QWD46FJ#-!,4W@&0!R5W'&%7@<9M?!>[N-4^-7A:-[XS&34A*(GO%
ME,>TI(%9%9N@^TI\V.44]A2<$J#E%WLGKW_IC4FZR4ENUIV_I'=?LP1Z=)^V
M=XYDM[B^GO475DG6Z@"K$1?( %;>Q/&><#CM7W@O2O@S]ES3_(_;,\<W*W%C
M(LHU;,=J073%ZH^< ?+SGTS_ #^\UZ5\MG7^\QU^S$^ERC^!+_$Q:***\$]L
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH *YC^R+;_ (67_:G]HP_;/[(^
MS?V=QYFSSMWF]<[<_+TZ]ZZ>N8\C2?\ A9?G?:9O[=_LC9]FQ^Z^S^=G?G'W
MM_'7IV[UTT&USVOL]E?^EYG#BDG[.Z7Q+=V^[N_(Z>D-+17,=Q\$?$'1-0G_
M ."A&F:@--FGLXKRP07,:N%0_9@?F;!7^\<<>E>70>'?%6G0_;;G0=?TNT;R
M;>-ITNBD<DFQ8P2[Q+P98AC:W^H)QSQZ+\1Y0/\ @HGI*N?)07EB1\A;S#]F
M4#H1TS]!SP>A\>T.7S;H16]V)H_W/E)<7*!BZA/+!43H?O);YPK?,9>.,#]*
MP_-[.F]/X</U/SW$<O//_'+]#N_#OBNZTMH3;Z-.D.HK#*MK-;K*DENLT+$;
M2BY4"Z9"2K@JF<\5@ZE8WGQ,-C=Z#IMI+J=V]Y)=7$=S->1PW+VV'14MY'V[
M^-HV@9_A&,'<T+P=IATJXO;F\FTOP]I9MW_M2>1DBBC::)4^;:J[F6UC8@(Q
M)?C.:R=7LKV26ST[PH^M^(KW3)+[3G?[+_:5O+.EL?,?9YC%&8DJI(4\'"_>
M!J,H*;<-)=W?\?P)DI."Y]5VT_ MZAJJ7FN75UXTUJQCOK0HM_X8N[.*VU+4
M2D"_+.PB*$#;\@<MC((8/RG8V.OZ9X>N5T[0]!T[2Y[F=Y+2-;;?(LCA(PR%
MR7C0B:V<!<_)+(N3@&N?U'3[_P !:E<^'O$?]D7.D*BOJLMJCR:A;9@02217
M,D!;/S%?EW%2=K%1AEUM+N_!_BF2WET?68K:2ZGDATV#483!),X.[?$ 64IO
M5  2,"W1#\Q..:?+))I7CY;?A^MWYF\&XMK:7GO_ %_5C-'C/31K%Y:ZR?MU
ME=1)%,VH;"(W8^9"0[%CYN/G. N")&;<"J!1XEM+G784T*"6RMK2W6UM+>UV
MQQED)WH"AR7:0['!$AW2HRL P(FN-&L/#_VS6]<BAL-.A@!AD\UV:Z<MB)5R
M&C^0!1OR-H!;YT?%.M?#]KJUW!JVAK'<:3?VRNM\K2"2+):.5&W@(&#,QY+[
MW8.S#*5?[O=+_*Y*=3:_^=B_JWBCP_K,UPOB#PY8ZNNFSS7%VK6WES,RQ,TT
MD@CVEQY<(<ASPUQ"N1C!Y*UGN;>_N+/P?KFG:[JFH07EK%H^FV:7%_IP:(AH
MMXA4>4 69A'M!925W%B&Z'7+[P%X>-R==U=+VW-TUKJ0T:-KG[))LD5Q(20
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
M<9QG%>6_M3_M,Z?^S#X(L-<N-);Q!?W]X+2UTR.Y\AI/E+.V[8^ H _A/)%
MCVFD_B%>??"[XR:=\5?@WIOQ TRW*6UW8O=M9F4,T4B [XBV.H92,X]\5\X>
M"_V]_'_Q$\//X@\-_L\ZSK>B1R/&UY8ZTL@W)]X!?L^21Z4QV/N" !(4SU-1
M128.S'W@2:\Q_9S_ &A=#_:1\!1^)M&M+G36@G>TO-/O,>9;SJ 2I(X(PP(/
M'7H#Q6'\2_VCD^&WQT^'/P_;P^VH-XQ>1!J N_*%IM./]7L._.?[RTA'LZGR
M0"/O,1^ IDMLLD["10R*=W(R..E?.7PJ_;1T3XF?'_Q9\++O1VT+5=)N)[>Q
MN'O!*FHF%RK@+L78V!N"Y;(SSQSU/@?]I:S\9_%#XI^$;S2%T2V\",AN=6EO
M!(EPA5BSE-@\L*%)^\U 'K5UI%EJ5_::A<0>9=V!<VSEFQ'O&UB%SC..,D9
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
M@K09\K^-6^4KZYXQFMZ.M2/J8UOX<O0_/V&SFM+2T:37?LFF%XK:&:6XE*R
M(\;!5B;'+1P G. '&[&<5TVK7/B'XA:LVH>&K/6[K2[.ZA6SBL-9CN(?M-N[
M(\?EY(W3(?,P2<Y &1Q5=9+;QA\.[HQ7M];ZEH\LLLEWL5+N[LXTC9[E [(%
M5)@@55Q\G&"1FNDNO%&DZ!X$\.R>&M$BUB^34(M<;4+ZT>=/[3EB1HY ;=XQ
MY999H@#NVR* ?2OT6I-W5HWE>WDORW/@807*[NT;7\R6*[B^#EII?AQ=8U"?
M7TNKE)M-TV8VUM9)?1IY!NK8*?/93G=Y1PN.AP#7 Z'K_B/Q!+%;C3T\5SWG
MF;[(![WRXF0+,8E1C+'ETD&QQY6YAD+@5=\">%)?B'K^GZ1(MW )K62_NYKI
MA.EA;>8=^U9E1TV7$?RJ&8E6.22*]ADU[1O"J7-GX;TRWM=/NIB+N^F!>XG+
M2LZEI6?@9,FT,P (XSM(&$I*@W'EYIO5OY_@;1BZRYF^6"V/)M/\+>!/&UWJ
MEI;WVN>#=5N+FSTXZ)K5JF(D$>X1[W=0%)C) ;:2%91G<*U-#^$]PTLDT]UJ
M6KRR1@1:,";2X,>\F"4"Z.SRXC' #Y98%3G[O7UO6?AM=?&+PT=0EGBT[7?#
M<+7D,EU$@AO"RRB**4M'N'E;(\-A\9_BX->60?"CQ\]X/#<$.M+J&E*8X?*;
MS($B$441G7?R%,D>^,C /V? &3QG#$^T3C[2S6Z>MOGHRYT.6TO9WOLUU^6I
MC7/PBMX6GFOO&,KZ39H;Y=6%J[VQ>-\LZ22NL;.8W3Y(M^45MO49:+/0;34-
M=L_ _A_7?&NH:??2W']J7MC.+2U#18EC A)D$A+C+DJVY%[ 9Z;P5\$O$WQ-
MOK:RN9;O3M#@SIBSZT-TD"&W$&V--I0RQR6RY4;"">>M>C^)KV?X?I9:'81J
MFF:"$M4FG55-U<QAH_/8J$^=DP>"S#RP0.!DGBK25-3YGVV7SMN$,/>/M.7E
M7?=_*YX-X7^).JZ!J4MY)=7;64>G,PLM.NA%/$AMU@46Z1EH[8"2=\,1P4.2
M2,5TOBCP1<^-K&/Q!X9U34O$-L;*U\.:A*LJ2W^GNA62X,]VP"N!]P/'@'=C
ML,]IK_A'2?B5!>3V>E6]AXVV"Y^SP0[(-0FA,DI1XV=55FD<G<PW!1R!T'B&
MC>(9-+A:)=-GU?3M0L9;.]MM02:Y06JS+N$<,'E+'+)<1L -YP=@XYK>#59^
MTI+EFMUY?UL8R7LER5'>+Z_U^)T.J>([B'0=0T+7I;S1M9MKDZI#_;6JO<RQ
M12_NHK-TB(D1<;#R#@2>XK7^$5I=:?\ &/PDL]U-<R)J,;VA:<2*;=VBC$GS
M$L1LC?E>,S*V1EL6/B5%I_C76O#]OIT-QH/C#5##97UA $ABFEMX(R@PSB3R
MD<LCMN8,8"%R14GAG7+27XU>!M,T>:%["RU'3T26XC4VVH*0OF3Q%AA+@2[Q
M^[(!4A0/EP4YWH/E5FTVUV_X=ARVK)MWLTEY_P##'4?LOZO?7W[9_CVWF>&2
M"+^U58K;"-E;[8G?:#C@=37W>O>O@_\ 9=U%)OVR?&]HNF6]H\8U=GF@:1FD
M)O4.7R[+GZ =:^\%[U\MG2MB8Z?9C^1]/E+O0E_B8ZBBBO!/:"BBB@ HHHH
M\_\ &WQLT+P#K?\ 9>H6&NW-QY:R[].TB>YBP<X&]%(SQTK#^'7QX3XD_%+4
M_#VGZ?<VNDVFDQWHEU&REM;EI3+L(VOC*8Q@@=<\UROQJ\4Z]IGQ$>UU/7O%
M'A3PHEA')IUWX8TO[7]JNBS;TE<1R$$?+A" "#UKO/@MI&H:CX<TKQ9XKTTV
M_C>ZL?L=U<RQF*:2W65FC#Q [48C#$ <$D>U>@Z=.%'G:U?G_P #[]=#[JI@
M,%@\J6*J4[SG%)/F;M)ZWLXI.R34K2ERMI/<Z?Q-X_T;PC=16^I-?++*GF+]
METVYN1C..6BC8 \="<UC^#?BU8^,O%&I:-!INIVPMT66VO;BPN(H;E"!NPTD
M:;64\%3U&""><9GC"W\=2_$M9_#EVT6FVND+*+.\3_0;V?SF#1,^"R/LQAEZ
M<9!'%/\ "WB#Q)K_ ,04G_LO7-(T8V3KJ-EK$42PP7 *"/[.ZY+Y_>;B"5(P
M>#Q62IQY+];=_P!+'F1P.&6$=31R<+WY[<KW2Y>6]VM%JUK:Z=CK?$_C;2O!
M_P!G_M-KQ?/W;/LMA<773&<^4C;>HZXKG?#OQCTWQ)XU;0;;3M56%X!+;ZC+
MIUS%#(PSOC8R1+L8  C)(8'KGBJ_Q#L_&=[XY\/+X8U"33[6*RNYIS+#YEG-
M,&B\N*?C(# R8*D,.HSC!JZ5XC\5ZYX\T4_V-K6BQ1I)%K5G>)$^GA0C%'@F
M'S.Y?;@J?NYW*"*(TX\E^MN^WRL%# X9X3VKLY.$G\=N5INWN\M[NUEJT[I.
MS:.Y\3>+=-\(VT,^I-=+'*^Q?LME-<G.,\B)&(^I&*Y2P^-FE:IXSL-$M=.U
M>6UO(CLU)M+NXXXY@?\ 5R!XEV@CD/G'!!QQE_Q1L_%>H:QX2@\,:C<Z4&NY
MFN[J*$2PA1 QC$RD<H7"@X(//!!YK'_X23QGJ?B?P[;-HNJZ3J-M="+55C6.
M32+BVP=\J3'YMW"[ ,,"<,",FB%.+C=[Z]=OP#"X'#3PZJ3LY.,G\=N6UTFU
MRWZ=&^E[71Z+XB\26/A73_MNH&X6WWB/-M:RW#9.<?)$K-CCKC%<5)\==&;Q
M'I&G6NG:S=VM\[127JZ1>(+9^-F]7A'RMR-P/!QD8.1?^+5KXBOM/T"V\-WU
MYIMS+J\"W-W91K(8H-K[F96!!3.W.?TKFM6\1>.YI])TTZ3J5IXBM;V(/=Z=
M&CZ1?VY=1(\C/EHQLW'9PX;H6')*=.+C=_G;] P&!PU6C&=2SD^;3GY>7HFU
MROKV;\U8]0US6[3P[IDM_>F86T6-Q@MY)WY.!A(U9CU["N!U;X^Z'8WFF1VF
MG:UJ,%S<>3<2Q:->HULI!Q(5:$;ES@'!R,YP:V/B]%KL_@MXO#D]Y:ZG)>6B
M">P4--'&;A!*P!!'";B<@C&<UR'BC7?']GI)T9K#4Y?$D$JOI^M:)!&UC?\
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
M6I?$6QO[V_TBPT\02JL-YHVL1ZI87J,N=T,RJA..A#(N#TS0%CNZFMFVR9[
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
MI\N.];O@[XT:_JWCRV\)^*?!R>&;C5=*?6=-G@U07GF0JZ*\<RB-/*D'F(<
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
M_!8#<XW J#G["^&/A3P'I3:=X?U.ZL9?$J:>LKP&ZANO*B@="J%ROWD'E$@
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
MZJRL!<K& ,>9C<??->D?8+7=<-]FAS<#$QV#]Z,8^;UXXYJ6*)(8UCC18XT
M5548  Z "NFI64XN*C;MMI^&I]!F&;TL91G1A14$Y1<;**Y4DTXWC%.5V]Y-
M[=6VSY!^,&O^(= N?$-[I^H?$NWEBNI/):30+4:8OS\?OV3Y8O21B<#!.:^M
M]+:1],M&EXE,*%\L&YVC/(X/U'%?$_CM[G67\<Z_)HS:SX:TS4[B&ZANO'-U
M"DP63##[-@87G&SOC"[AC/UO\-=0U[4O#,,NOZ3I^C2_*+:#3KMKB,P;5V'<
MR*0>O&.PKJQ4;4X^7IY=CZ3B7#*& P[48IQ;3^!.[C#2T9-MK=W6ESY<^(NO
M:#<?&GQD]]J7P]\+:A;-_9[-K-C/=7%W"\*[G<K(L8)!*D ;@!@^_P!;^$&C
M?PGHK0RVL\+64)26QC\NW<>6,-&O\*'J!V&*^</BIXB2Z\7^+;;2?B1XATG4
M[*.:2.U&B12V FBA$C0)+Y)9F"_,0"2 3UQBOH3X=7TVI^ /#EW<W"7=Q/I\
M$DEQ&X=9&,8)8$*H.>OW1]!4XF[I0?\ 6WHOS9CQ%S3R["3::2459W_E6UZ<
M79Z_:DEL>"_&R_\ $6O?$?4M-\-3>*-6_LF&">[M--L=.:WLBRY4H]RNYW8
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
MNU=)=_#,3?%+0/&;:E@:-H]QI LO(_UQE>)O,W[OEQY7W=ISNZC'-"\_:*\
MVVCZ1K(UN6]LM2>6.RAT[3[F[NI6CXE'V>*-I5*?Q;D&T\'%-U']H#P/#H.B
MZXNN-=V.LLR:=%IUE<7=S<E,^8$MXHVE)3!W#9\O\6*D9QOQ3\*>-M;_ &D_
M"6H^%+Y=%6U\,WT4VHWVER7M@6:> B&0+)'AB,LN'!^3H1D56D_956UTK0+S
M2_$-O)XMT>ZO;Z?5-9TI;NUU&2\8-<"6V$B;5)52NUP4VCD\Y[C5_P!I#X=V
M6CZ/J/\ PD/F6FM/-'8"WL[B:>XEBP)(A$D9D$BYP8RH;.1C@US7BG]J?POH
MWASPGK&C"YUS3]>U]-%D>+3[OS+7&[SM\0B+K(N !&P5CG(!P:!CO#?[/-WI
M>I>$M9U3Q-%>W^BZQ=:O,MMI:6MO.9K=H!##&K_N8T# @DR$X.3SQG?$?]G#
M5_B9J\IU3Q7I]SH$NIIJ,'VO0EEU?3MCH_D6M[YH$49*\'RRP#$9.:['5_VA
M? >D^)9=$OM<:*Z@F2UGE6RN'M+69\;(IKE8S#$YR/E=P>1QS7.?&_\ :?\
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
M,\;-^<\8SQ679_';0-'T.XOO$.N6=Q(^M7FE6<.BZ?=S33/#(R^4L 1I9)%
M^=D4KD9'%):!JS)^&/[/.H> [_P+<7WBF'5X_"-A?:9:)%IAMS+;S^5LWGSF
M^=/*.2!AMPX7'.???LKM&]MK&F>(+(>(;/7-3U2WEU32!=6;0WK!I+::#S5+
M %5PZNIR,X[5V%Q^T9\.[70-,UB3Q&OV+4KJ2QM52TN'F>YC!9X#"(S(LH _
MU;*&)P ,D"K%M^T+X!G\%R^(TUN1M.6^_L[ROL%S]L^U][?[+Y?G>9CG9LSC
MGIS18-2]\*_ %W\/]!NK?4=6BUG4;RZ>[GGMK%+*W0M@".&%2=B*   68]22
M<UV5<[X'^(6@_$?29=1\/WS7=O#.UM,DL$EO-!*N-T<D4JJ\;#(X90>1719J
MD)A11FC-,0>E<'\;1GX;^* -H/\ 8FH?-(0J#]T/O,>@_ ]Z[S(XKB/C1)+'
M\,O%;0*6F&BWY3R\A\^5QM(P1^!':M:7\2/JC*M_#EZ,_.:QUU-(U&PN[>R1
M7CD6:.(Q^7*\:D,"$X)'4QJIW9PQV#K>U59?!>KZ-XNLY)-5TV]U1KA$U21C
M;-<1QH9/.V@B24LS[9%89*@XZ@<NYE@)LS RW-P0#"Z%=WH0A53D9'/ER#)S
MGO787ME?:W\1O#F@:?;W.I?8I;?3EN-"N_,WMY@DN?M$1+!L,S*2"J@*.6
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
MV<@+SR3T&3VKP*VOT\#:QJ<9T3P;>VD^B2W5P8M<N;AELPRJ\'GRAA&&WC:
MJJY!Z8KZ4U*WN[O1IX;6YBL[QXMJ3W$/G(C8ZLFY=P]LCZUXSJB:]X:\&Z^N
MF:!X8\10W,,J+>^$8$M9UN0I\MFMG9U<A\'Y92P(X4U.'DK./?SL9Y'6IQI2
MHM7<I*Z<W%-.UM=(JVKWYGLEH>HW&JV5K\.7U&*6;1-.CTKSTD$8,EI&(L@A
M#GYE'8YY%?-/A;7/$NM^(?"\GB?6/&4&@:O<JNCW^KZ=IDD,TKHWE%E12\18
M9(/]":^C+^[O;3X3SW5W#'<:A'HIDFAOU.QY!!EED'7!.01]:^5O@SXW%YKO
M@+0;?1;37'TS4!);R)HMW +.&XB9IRI=BB-#(,;CD,K#;CFM\-'W)M*__#,]
MC(*#>$QE6--2Y6[MI-I<LM5)K1WM=O1IMVT/K[P?X<3PAX7TS1HYA<)90K")
M1 D(?'?9& J_10!6S117EMMN[/S>I4E5G*I-W;=WZL****1F?"OQ,OKR3XKW
M6NS^%/#W]IIJ%W!:Z/<>&9;B>]D@:+R@\J_?:59 PD VK@9]ON.QDDFLK>26
M'[/*\:L\.<["1RN?;I7D'C_]FRR\36^JW>D>)?$6D:Y=.TT,W]LW)MTD+;L&
M(.!LZC"XP.F*]?L(7MK&WAE8/)'&J,PS@D#!/))_,UWXFK"K"'+T/M\_S/"9
MCA,+'#OWJ:<6FK66EK=+;I7;>FK/ECXO^#--C\8^(M6OO"'Q,O[43F[FN=%U
M"*.R<B'8SQH'##Y,J21G&1G%?1_@ Z<W@?0#I%L;/2S80FUMRX<QQ;!M4L"0
M<#'()^M?+WQ3M+3Q3XW\?7MKX?BOM.\.N/[9CU3QA=V+7 \M6/E0(=B(0< M
M@,<U]0?#Z\T_4/ GAZYTJR;3=,FL()+:S88,$90%4/T&!6F)O[*%_P"M/5G;
MQ!S_ -F853;;5NNB]Q-*W/*SL[K2.GW'"_%+X'7_ ,0]4N;^'Q?=::&C00V+
M:=:7,",@^4YEC+?>)/7C)Q79?#*PU[2_ 6BVGB>9;C7H8-EW*CJP=P3R"JJ,
M8QP ,=/>O#?BQXQ\5W7Q6UO1?#&I>.7.G06SSVOA^QL);>'S$RIW3$/DX.??
M-=#^SSXNUS4_%OB/0_$.H^*I]1LK6"<VGB6UM(?*5V;#)Y!.<X[^E3.G4=!-
MM65GY_EYF>+P&-ED\95:M-Q@HS44K32:26JBM'S)N[=]'?OV?Q=BUS7=#U;P
M['X2GUS0M3LGMYKK3M1ABNHRP(.V*;8IQP0=_/I7 _ ?PIJ%AX\?4O$FH>);
M_6K;2%TNR35O#XL8(+5'!V^;$TD4CYQSOR>>#VS/CC9:QXP^,L?AW0M*U&_O
M8-%CO7:#Q3/I46PRNGW$4AFSCGKS[4OP+M-7\(_&2X\.:YI>HV%]+HS7RM<>
M*9M5B\OS53[CJ K9!YZ_G6L8N-!I/=7Z7_._W)'?1P\J&23A"44Y0YVER\UM
M+OWIRDDTE?EC&ZW/I:BBBO)/S **** "N8WZ3_PLO9LG_MW^R,[_ /EE]G\[
MIU^]O]NE=/7,?VG9_P#"R_[._L]/[0_LC[1_:&[YO*\[;Y6,=,_-G/X5TT$W
MSVOL]OZV.'%-+V=VOB6ZO]WGYG3T445S'<?!/Q>U6ZM/V\="L[.[^R6]Q=Z9
M-=1[R@F9%(4GLW#8XY_"O"_"-GIVHWUZVI?:+31[..5;N*V"12M+Y+2P1IL'
ME2K+L?DQ$84^H)]Z^,-^%_;M\.VBZ5:WCO<Z<YN620R0@*=V-IQTP>0<8[5\
M^3V]I_PC7V"Q=5NTNDGM,W+1,#M"($ED52H1[I&56' 9P6R *_3,(KT::M:\
M(Z_>?GF*_BS?:<OT.A79<WUAX\UGP[;MJ+VP;^SHK#SX9,2R00PB.0J#(/+*
MN6W%4BSDNPP?"#QAILWB!M-UC5&U"UU^Y2&XU*[B5+DR0\Q2N-[EO,:=H\L
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
MPW=:!):7]W;327K7#H92/)D=1"@3Y2Q#$MG:*]V>3S3SC X ':N<^)^M>'=
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
M7("8#$MGMM#^(ND7.D:5H_C'5M/U%=+U&<2VFH:9-JTW]FY6-8D>2/,;ATP
M",C:>._Z75YE[Z5[[KK;_+0_/*?*_=;MV?2Y3^$&KZ?XNL;CPE+/'+<WT,^I
MV#HB)*]TZE#$R(S@,T<*R9RN#D8(84ENB:?JHABM6E?S-LR1G=+G=@M@<D[B
MV3E,8CPZ-%BLWQWX'U;P/X@L(Y+Z[N+*]N433]2281QR9"F5X;=& B2./9&5
M=P!SQQ@:FC?%.'5X(X?%,$/VVXF#QZOHJ(+B578R>3<*"L98HXP%R2P (/!6
M6N?]Y3UC+IV_K[RDU']W4TDCW[P;H?A?XL^%=7T;Q)'H>I>']$MWNGNKF18)
M8G=W_?"91B-3L8Y+,=H4L26./&+C]GCX1ZCXXU+3-)^(.M:';VH91->6JS(T
MGF>6T<; +E?GB*G!WB4$$U"]QJOQ3LM*MO#FEWGACP3;:A+87%WJ4IA^V27,
M;F9ISEE+[V(10&VF0#!YI(/A5;W&F6/VSQ$VA:5)!$MSJ&JVWV"VDG,*1((-
MPWOA1/)G:JYC5FV[21YU*,L.Y/VSC?HM;>NZN^QWU)JLHKV2E;J]+^FSL=E\
M"O@!\%_$&KE9M4OO$6IPW CBM]:Q:VLH)<)LC"@NQ$98Q[B0#R*M_%WQ"+B_
MN-.1;1+S2<6(M-(BP(UC=\$?*&"H>,E) #Y;*H8UYYK'PRU1-.-W#J-S8^(X
M+6XN'&H6_P!E1I_L\2?Z-<KE&R\AVX9/G9CS@U<U/QK;6%RFA^-]$UK2/$FA
M6=M;2ZM"N/MUJL>09F=QME+2R,&SSA5R#S2]FZM95?:.IY=O->7H'M%"DZ?(
MH/OW\GYC? N@VFM7TDUTR6VGVULUSJ$]OATA@17)8J220JDA1R0%C!R48+Q=
MW\1X=0\>QZRJLUM*/LTFE6UK'<_:+> F(6\F9%SB-5E52@4MMX.T5/XQ^)-[
MXAL[J"RM+'1="6WCE73K 8N9_**M_I+[EE!,4YR$+*/FPIY-='H/A"#POX1N
M?$?B6]BBAO4%MHD.M6B:Q;R2NNZWO0=NZ.,(-I#)G(&<XP/1LJ:<ZJU>B6_^
M?_ L</Q^[3V6K9E:3IFF^%/+A_LQ)M!\2ZA#::A>PV^V2&%HXYXKBV!#A557
M61D;.TY4C 0K;^%%K'8_M >$[1ECN<:I!<074FV51;&<K QEF\QO,=0I 4)]
M[ VD'&;X^\4WGC^YVZ-K#WFB:-IEK)%!9W+Z=!"%817.Z%T\N,,21MSG:(_O
M<UL_"BTT]_BS\.;>#R7;3]0MHRI>01"19G4]$^=DP45F95^[\NY\F9<WL9SG
MNT[KY:7^01Y75C&.R:M]YZ1^SWJET?VXO&&FRW,4MM!/K!MTB8'8CW*L5.WC
M&1G!Y!K[S''%?!_[/UU$_P"W%XSM?[)@LYX[K5W-PIE+RJ9U .&;:!U.0,')
MK[P[FOC<Y_CPT^Q'\CZ[*?X,_P#$Q:***\$]H**** "BBB@#Y._:9T+PK?\
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
M:B:V@5'$7V:W?9D#[N]F;'J2>]>\PI&MW&Y51(2%#$#)'7&:=<?ZU_\ >/\
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
M<\G/)K?_ &V-'T_5OV>==^W6,-Y;6;VEWB>,2"(+<1[Y.1QA"^3Z$U[4Q,I
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
MA.20?X<_PX[5].7$:264*,JLA!!4C(ZU M) QZG#"O&[$_\ &9/BO_L3=/\
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
M9_UW#+)5Z>%47*?LYN22BHV;MI>7/%ZOI]JUE<]5\7>&8?&'A^[TFXF,,%R
MKD0Q3 @'."LJ,I''IGT(/->077PPM/ VJ:0EY'H6O&ZN1%90:M)>VZ&8#<HR
MSSP[^"0/+3)''->B?%_5]-T7P+<SZMH9\264D]O;G3!LS,TDR(H&\A<AF!Y(
MZ=17GEYHWPH7PBWB6S\!6.HV-C.%U&%;2..YTXKRYEB<@AD."5'..1GC)0YE
M'K9OI_PZ#*)5Z>'^*:ISDXVBHV<K*UY<T6MUII?9.^WLVN:0OB'0[O3IW-NE
MU$8I&2..7 (Y&V1&1AV^92/:O%-9^$FG^!8[2:^;1-8TZ6X2VBM=7-Y;0EV.
M$5RLDL(!/ S"JYP.XKU'XEZUIV@_#G6]2U#31K&F06ADEL> )TX^7YN.?>O,
MU\/?"[4_">I:I:?#JSO;K3/^0EHDEM#'=VH W-N1V"G"@L"#A@/E)I4'**O=
MVOT_SOH3D\Z]&DY\TU3E*SY5'5Z;R<HN.ZUVUWNSV/4'N8/#-RRVUFEVEFQ%
MO-)_HP<(?D9L#Y,\$X''85\.V:7_ ,0O'$*>(YOA]XPN6GVV'AW3?$:6ED'[
M#RHH2TS>[N?I7V=K":=K?PQO5M5QI-WI#^2JP,^(6A.W$:D,?E(^4$$]!7S9
M\(/%%SHOBKPGX>?7TD@\U+:""?P!-8RS*J]!.S84X&2V#TR:Z,(^2$VEK\_T
M_P" >]PQ.6&PV+K4X7FO*::23;M**;7GK'3[5KGU+X3MY[3PUIL%UIMIH]Q'
M JO86#;H+<@?<0[5RH[<#Z5K445Y;=W<_-*D_:3<VMW?^KZA1112(/B[7?#O
MA^#Q9JOAS5/B1X&M_"+^)7UN_BFN2NJ32!BWV68'Y2BOQG.?;M7NG[-NCZ=I
MWA?7+RQ\1:/XBEU35IKVZDT# LK>1@O[J,9. %"GGGFO%_'VN6_C74_%^EW_
M (OTO3=$MYIFEN5\%.THB28)(8;@O\[1%E#2*,C[W2OK3P_IMCI>DVT6GI$+
M<QJPDB15\WY1\YP "2,'->OBIM4E%]?Z[(_4>(\74AEU.C4<N:=KJUEHD[MN
MG&[=U>S=N57Z'R;\9/BI)=^/_$VA:_I^BZWIUM)+96>GW'AR:]> _9Q)%/YR
MCDF3Y&08(R"/6O?O@=X$TWP;X+L[FPTNYT*35;:"ZNM)EN998[24IEDC61B4
M&2<K[#TKPWXA07WBCXG^*H=+M[NV-C=+%,;_ ,>S:8)&,:MNBMU4[8\'@]R#
M[U]!?"KP);^"M 1HKS4;J>_CBGG6_P!5EU!8WV<B*1S]W)/(QG@TL0U&C&*T
MVT)SVI2I910H4FX-J+<4XM2T3NU%Z=[R3;\G>_:T445Y)^8'SQ^T%X?^&FJ>
M.-.N_&&E^*KS6+>U4VT^AP7;QQ+O8C#0C ?.??I[5G?!'Q%H3_&V72/#J^)S
M8-H;W,C^)KF]\SS!,JX6.=MN,8^8#.<C-;WQZ^+VN_#[Q/#:Z?XAT_1[/[&)
MY$O/#U[?D'<V6\V'Y5&!T/(QGO6+\!OB#_PL3XK27^I:YI&LZLNC,L+V>AWM
MA+]G,JG(:9MC)D]AGGK7L14_J]W>UN[M^5OQ/UBC2Q7]A2J55.5-4W;WIN*_
M[=]FHI?]OV]3Z4HHHKQS\G"BBB@ KG_[+U'_ (3[^T?M@_LG^S/L_P!C\UL^
M=YN[S-GW?N\;NO:N@KF/[)M/^%E_VG_:,?V[^R/LW]G;1O\ +\[=YN<],_+C
M'XUTT7;FUZ/I?_AO4XL2K\FE_>76W_#^G4Z>BBBN8[3X.^+VBZC>?MWZ!?Q6
MRW-I!<:<GF+)M\HE?XOFXSAB/4C'/0_/0GD$EU#<W\@!\R*47#LZ$(Q5R!(\
MN =TG.SDSCT)KW?XV3(W[?OA<2M-'''/IP7RQD.^. 1D8QGK7A<ALX_#AU*Q
MF@EN?M*PV[71+QN0JR JJA9),M:J@8HH+&0YXY_3\$VJ5._\D?U/SK&6=2?^
M.7Z'?W=P/AUX.-Y=6=Q?ZY<0+?649M_MNG0PB[R\LH&P$EB,*,C"\C&!3/"U
MFOQ,U2YU#Q#JOB:>V&LO826_A:$W-M%!<1C87CEY@@41*<$,#V Q5#0/"MSX
M_P!+UKQ7J.G7M^T9M(+&>UOY-/%R)(O+F5I+B,HRQB(\+C#9ZBCXK^*HK.UG
M\): UQI^AV86/^T;H W6H3Q;O(N_MD"8EWKNC ;@8QVI6<I>SA\?5]EIM_7<
M2:C%3E\*V7<9JNL^$_$FO?V[X:L-.\%7,$<,UE<74NRWMY& CW"XB()P$<^7
M(JD%2P)QM.:=4\=^'7M;?Q!H4^NAEGU.]O+G3_/,J[BD7E7<8)".T4.P\C/E
MXRF!4^F_#.;5K:]U?68K?0] D!N(K=75;R_1BDB#R@YC,0:0Y;' !PH-=)<P
M>(_AYHFK:GX1\4WWB+0=3N;?2KG2;TE6MYO-4HG[M0BQ-">'CV8#J,# %5*4
M(VA!WZ:W^[F)49SO*:MUT_R.1\JX\2?V?HFAZ+J]AK-TA%VMO=>:GGF+?%#M
MV%A"W[D,25^]\^XIFF&232+6[TJ^TC7=3UO3RPLS<W+)YPB\MI%9 @<!%8>6
MW)R5VD#@=X/BM:WT<DLUCJM]%>32FZMKN??$('N&2)TEQ]HA4210$ L<9;&=
MN"EG\7+8FPN;33=3@S/"EKIJ2BUM4M)'FCC$K)^^E!5TY+X#"(GJ 5SUE_R[
MT]0Y*72>OH<9;ZA\0-;N'_L339/"D-C<1ZA;:E%I_P!CMH+60;2;BY<9:)%4
M*,\':1R JUK^#[_P5I&N++KFE:?XE.J1XGO+?:\(EGE\AY!/-N9V&=WEJI"D
MG<S=KBV>O>/?"/A[Q)XU\67VG:4UH=,T_0(1M-RT<WERF1'7RQ$NZ)MQ5B0
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
M3FI0.QX'\+?$VO+X:^&9\2MIOB*[U'Q/KL5O?213K/:;([PLRL9F#,2I R"
MA P2-U>X?LN7@LOV;? =Q(_RIHT;OGN "34&A?LW>%M%N=-9?$.M3PZ9JUWJ
MUA975S 88'N8Y$EC7$08IF9V )+ X^;'%=QX(\#Z/\-_!.B^&=-6XN;#3;1;
M6*6[C$DKJ/[[*B@GGL!2&V>1^'?C-\0M8\#V_P 3I;'PW)X$N(;B^DT6W$J:
ME:62*[)-Y[2&.5SL&8Q&N-W#'!JQX8^,OC[2I? .J^*[?P[+X?\ &TT=I%::
M5%,EUI<DT32P;Y'D99P0NUB$CP3D9%:%C^S)X;M)+6REU;7[_P )V-Q)=67A
M6Z:+[!;R.'!P1$)F0;VVH\C*N>!TQH^#OV>]&\-ZQX=GO?$?B37M-\-L6T+2
M-4>%[73V*% 08X5DE*H2JF5WVCWYH P-&_:%UR\^%?PZ\4-:::NH>)/$,.D7
M<2J_E1Q//+&60;\AL1@Y)(R3Q7/Z1^T#\1+O0=-\97EIX73PS-XH/AZ73((;
M@7C1F]:U6X64RE%(."8RAR 3N&0!T]K^RWX?TV^TI#XF\4MHFC:L-:TO0Y98
MEL[2;S&D(!\@.Z99AAW; 8[<'FN@M_@-X6_X0.U\*+?WSZ=;ZR-<67SHC,9Q
M=FZVD[,;-YQC&=O&<\TVM /&8/C/XL^$]C\4M4U2^L-9FG\=+H>F12VMSLM9
M9(HCO8+)(QA2,9\I%#%E;!^;"VY_VK_%^F>'_$PM;/2O$.J:?)IOV'5(]*OM
M-L;L7-TL#PO%.Q='0L#D.P(8''!%>KZA^S/X;UVY\5O-J^MVT.N7\.LB"VN(
MXTT^_B"A;JV(CW*^$7(9F7@_+R:@N_V;++4M/U&+7_%WB;Q%?:A<6<\FHW]Q
M!N46LPFBCCCCA2)%W+\V$#-D_-TP@N<%\0?CK\2?AEK-MI_B*\\(^'PEB+D:
MY=Z+J#Z5?W!D<?9EG24BTVJ$R\I;);(&!BG>*?C5=>%/B!XKGTK0]$N?$&H6
M/AVTLKN.XDDAGGO))D3S) V'ACY8%%4L">>1CT?QU\%Y/&.M7NHP>+/$'AXZ
MC9C3]1M](F@\J[A&[ *3Q2A&PS#?&4.#R>E<UX]_9^T+3/!^K'PYH=]K%Y-I
MVEZ=#I!U%;1XH[%R8I+:9E^6=0Y8,[%254' )R-#T,+Q;\=_B5\+I_B!I^N6
M_AG5KG0/"Z:]975A;3P173M,T922)IG* ;2.&.>#D=!:\0_M!^,OA5-J/_"<
M6>A:E9MX9N/$EG%H44\$D#PO&C6TC2.XD!\U<2 )T/RUB>"?V?\ 5_'>N>/K
M_P 9)XKTW2/$.AP:$DGB&_LY=5E"R.[R 6P:")1E54 9/S,1DY/M?B/X*^&_
M'&MPWFM+<W4:Z+<Z ]H9%$,MO.4+EL+NWCRUP0PQSQTP >,>$_VJM9AU-!X@
M2PUS3IM)N]2EDT31-0L3ILD$/F^3(]SE90RAE$B[/F'W<$5$WB/X@^)/'_P#
MUWQ4-!72=5U&:_M[;2HIHYK(OI\S)#([R,)OE.2ZJF"I^4@@CUCPU\ [+2M1
M236_%OB3Q;#:V,FF6=CK<\)MX()%".I6&*,RL5&W?*7;'?.367H'[,^F^'?$
M'A2^E\6>)]4M?"LCMHFF7US UM:(T31^7E85>0!6P"[LP"@!L9R 9O[2MOKZ
M?$;X-#PTUB-5DURZ$4FHAW@C!L9MS.B,K/M&2%#+D@#(ZUFM^T!XM\,/?P:_
M9:1+-X9\2V>DZ_>V,4J0O972*8;J%6D8QE6D0.K%P &P>AKU+XH_":R^*#>&
MK^;6M7T'4?#UV]W8WFCRQHZ2M&T>6$D;JPPQ^4C![@CBN%\:_"0^%_A%XNT3
M0='U7XA>(/%KR)J%U?7=O%/-/)'L6XE<^4B1Q[4 6)<J -JFD!W/PT\>W_Q+
MU'QA=&&UAT#2]5;2=,FB5O,NC"H%Q(Q+8(\TLJX ^X>M?+/Q.O\ QDUA\;Q=
MZG9ZE%9^+]$BL+,Q31>6_FV;1J',KA8]K , O+%F&,[:^L_A!X#A^&7PZT+P
MI'(9FL;18IIV.3-/]Z20D\Y9RS9]ZY'7?V=M"\0:YXHN[K6=;M[;Q!=V5_>:
M=!+#Y"W5J\31RINB+@D0HK#<003@ X(8'#>+_P!I#Q?\(O\ A,M-\:6FAZWJ
M.F:59:EI<^C03VT3O<W)MA%*CO*Q"O@[EY*Y^4&MCX-_'/6_%WC^3PQJTECK
MD$FGF_AUK2-%O]-AA=757MY$NBVXX8%75AD Y45VOC?X"^&O'FM:SJNLF]N/
M[6TJ'29DAF$:1QQ3&:.6,A=RRJYR&W8^4<59\$_"=O!?B*;6]0\6^(/&&HO:
MBS@EUN:'9!!G=M2."*)-Q(&792QQUI >5_MI_"CP=K?P?\3>*]1\/65WXGMH
MK2&#5)$S,B?:8UV@^F&8?B:L:QI]]\%O'/A3P'\(/#OA;0$\36UWJ-W<W\$Q
MCC-N(0&V1NI8D2%<9'4'/!!]B^)7P]TSXJ^"]1\-:A/=06%]Y?FFS=5F79(L
M@VEE8=4&>#QFEU3X?:=?>/= \7O+="^TBTN;.WA5E\EDG\OS-XVYW#REQ@CJ
M<@]@#Y_\:_M2^(_#.OSL=2\)7L5IK4&EW.@Z;8WEY<K$\R1&62^C<P02?-N\
MITX^Z6+5I>+/CI\2M/@^*>KZ;:^&$\/> ]2-N]M>07#W6H1+#%*X5UE"Q,!(
M<,5<$X^48R>DNOV3-!U'2[S1%\7^*H?"TVI'5X] @GMEAM[DS^>65_(\QU\S
M)".[*,]. 1UNH_ O0+WP[\0-$GN]2^Q^-KA[J_E66/S(F>*.(^2=F -L:\,&
MY)^E 'F'BK]I'Q5X;^),VD74WAWPMI(N;5-,B\3V-Y&NL0R*A=XM15O(B8%F
M41LC'*\XSQP&K^*-1^%'Q-^,WQ%U2UT+7-8M-7L- TR4Z?.);<W$,'EJ)!)(
MRPJKDNB)EV!((R%'O/B;]FC3?%!U2VD\6>)H/#FKM%)J?AZ&X@:TO#&JK]YX
M6EBW!%W+$Z XS@5L:C^S[X5\16'C&VN)=09?$UY;:A/LN%1[.>WCC2%[=@H*
M%?*1@6W<Y[<4 >%7G[5_BK1?#OC!EM]*\2WVEZ?;W]CJEMH]_IMG*SW*0O;R
MQW#%@XWA@RN00<D#!!^E_!">(['PI]L\=7.D?VG&'FF?2(I(K:.(<C(D=FRH
MSDY /H*XR[_9BTW7=(UZV\2>+_%/B>[U>""VDO;ZXMT>"&*5942*.*%(ERRC
M<Q0L?6O0/B)X6M_'?@O5_#-Y>WEA;:K:O:33Z<ZI<+&PPP5F5@"1D9(/6G<5
MD?$OPL^-^B/\<-'\?'Q$KS>/=6NM(U'3FWC[+:DJNF,<C:,>5@D'_EXKUWQW
M\=?B*/#OQ(\5>$+3PV/#/@V[N+!;'5()WNKYX%'G2^:DJK&H8_*FQBP4_,N1
MCV'QK\(-!\:?"YO MZL]CHOV>&W@>R94FM1$5,31$J0'4HI!(/3I7S;\7/@I
MXN\2S^-_#&@^'O%5K9^(YT)OK'6[)=%O"516N[Q&VW$<HVY>.%=LA4<')I#-
M3Q3^UMKMIKOB>WT,:1 OAP1PM87NC:A>3ZM<>2LLB130?N[8#>$4N)"3R0!7
M13_&/XB^,_$^O67@^U\/Z18:7X=L-?,GB&UN)9V>X25OLS(DJ;3^[QO_ (<'
MY6SQUNM_LX:=>W^J7%CXL\2>%XM:BBCUC3]$N(4BOS'&(]Y+Q.\3%%"EHF0D
M#UYKJ-(^$NB:7X@U_6X);Q)-6TNVTB2 R!HTB@618]F5W;L2MDL6S@>^0#QO
MX9_$#Q1\1OCWX<UA;ZTL?#^J> K;5)-'\J5S$9)OF"MYH7?OQ\^SE %QGYJ[
MOXW_ !-U+X>W&A6ECK/ASP^FHF7S+[7(9KV7* 82"R@=))F.>2& 7 SG(J]X
M5_9^T3P/KOA35M-UG6;>;0-&70A;F6%DOK52607 ,6<JWS90IS[<5?\ '/PA
M@\<^+M(\4VWB+6/"VNZ5:S6:7VC_ &=B]O(59XF2>*5.JJ0P (QUH \?\,?M
M*^._'5EX%TK0[+0+;6-<U36-+O;V^L[M((_L6")TMV=)5W#K$Y# G&X8-7[#
MX^^-M2MM/\+QV>A+X]N?%-WX:-]Y4QTU%MXO.>Y\GS/,.8\ 1^9]X_>Q7=>"
M/V:O#G@?5-%U*TU/6KB72K_4-2A:_N4E\R6\4+-O/EAF'&1SD$G)(X#M4_9X
MT#4HK[['J6L:9J=QK\GB2VU6VEB^TV-XZ!&\K,94QE004=7!#'.>, '/_LYM
MK]G\1?C.GB1K&361K-DCRZ:KI;R*+*/:Z([,R9&"5+-@Y&3UK/U/XX>,M-\8
M?$^\DMM#3P/X#^>ZW13-J%Z#9K.$C8/L0ACC<5.0PX!&3Z1\./A'8_#._P#$
M5W;:SK'B#4=?NH[N_O-7EB=Y)DC$>5$<:*JX ^4# [8'%6+3X1Z!8W'CA[H3
MZBGC!P^IV=RZF( 0+!M3: 0"BC.23DGD=*8CPCPE^UOK<%WIM]K\%AK&E7NG
MW-_/;Z+HNH6LNDM% TZI)-/F.=6"%-ZB/#$<$&NFTGXO?$^'6/AC-KUKX6;0
MO'%P<V^GP7"7&G*;9YT0NTK+,Q"@%PJ $$;3D$=3I'[/L&@VT$ESXH\0^+;7
M3K&>QTC0]=NXA901O&4*OY4*/+\IV!I2Y"DXYYKR/X;_  ;\6ZC\1?AW-=Z)
MXLT+1O![S3/#XBUFSN[*V!@>)(++R"9)5RP(DG^8*H'&2* *>D?'[Q!X1^&O
M@B73=.T/P5X<O;:^GFUF[TB^U#3H9TNY%6W/E2AH-P!<R2,5Y.!QBM?Q#\7/
M$FC_ !,\.>,KO5M'NO#MM\/KS7;K3-)>6ZMYRDD>_P F;S%4LS;=LA3A<@@D
MY'I]C^S;I^@:?HMCX7\9^*?#D^GV\]D;NRFMI#<02S-*RR1RP/'D,S;75%8#
MN:8?V8/"-L/#EO:76J6MAHVEW&B/9B:-X]1LYSNECN-T9)W/\VY"AR3@XXI#
MN<%\._VH/$GB3Q/X>M-333-5MM=MY9&ATG1=0M6T>18C*BRS3Y2=#M*%U$?S
M8P"#638_M0?$#3_A[X,\2ZY!X7LIO&EPD6E+;6-[<)8(J.\LUPB.SS95 5CC
MVX+8+<$UZ]X1_9^M_#FHZ=/<^,O$^NV&CV[VNEV&J74/V>R1DV$_NXD:5@OR
MJ9F<@>_-23? 7PW_ ,*W\,>%-/O]9M6\*O')HVNVLL8O;:5 R[]Y3RVRK,K*
M4*D'!% CS73?VHO$=SHM]I\6G:?JGBE]=LM$TK56TZ\L=,N_M(+"=H9CYJ^6
M$D#('.2%PW/&W\(?^$IC_:0^)$?BV?3;O44T;20EUI44D$$T>ZYPWE.[F,YR
M"-[=,YYP.@?]GFQU/PUJ5AK'B+7=6U2_OH=3;7[JY3[;!<PX\EX B)%%LQPJ
MQ[3DY#9K:^'GP3M_!/BC7/$T_B77?$>MZS!!!?7FK2P!66'?LV)#%&J<.1A1
MC@'&226%SS*_?QZ/VE?B2?!4NA0>7H&E2S-K<$TZR,IN=D2+')'LW?-F0EL8
M'RG/&CX=_:G5ETC6M>LK73?#FL>$YM=M&!8RQW5L3]JMV8G#84JR8 ) /6NM
M\:_L]:=K_C35/$UEXN\2^'-1U:PATZ^&F3VYCEMTWX4"6&0JQWGYP0P_A(YS
MP_Q9^"MCXI_X5O\ #[2?#+VWA/0;J"\FUD7<2Q0VT2LKVNW?YLCRC:&^7:0Q
M).>* /2_#WB'Q+XA^#L&K:D;#2/%5[I;71C2-VAMI'0LBE?,#':"H/S#)!QB
MOF#X1W_Q#U;Q%\&GT_6=$N-=N_ ]X[:AJMM/+''";BW(,D8G#32YX+;T'.<<
M8/VI'!;W<;P-"WD,I1PL3 ;<=,XKS7X=? /0/ACJNC7UAK&O:J^CZ?<:58IJ
M1A98;662-_+^2)2=AB 4DYP3G/&!@>7WG[6VL0>&?!UM+#I&D^*=8N]2M;Z^
MDLKN_L;1;*8Q/(EO"1*^]MNU2X R<L<<^N?L]_%;4?BKH6J7&K6BQ7VF7TEF
MUW;VL]M;7J!59)XHYQO12&P58G!4C)K%F_9R\.VVFZ;'I>K:[HNKZ7J%YJ-C
MK=IY374+W4C/-&0T+1O&2V-CH>%'.1FNU^&_@#3O &B7EJNH:CK%Y=3O=76I
MZS)NN)Y7QEB0JHH   5%50!P* T/CK4O^$1TKQ;\:-?\4_!C4?B!%9>)9R^N
M6D=LRVL8@A^1B\RRJ%R6+*A"@YSUQW6A_$_7_@7\-?AKX5GU+3CJWB$7E_!J
M-VEUK5MINGJWF11@6Y$ERP66- 0RKP3NP!GZ)\)_#G0/!5QXIEL;JXO&\1ZC
M)J5ZEU,KQJ[QI&R( H^3"#ALGD\UPME^R[H>BZ/I%GH/B7Q#HMSH=W<W6BW\
M$T$DNFI/_K+:,/"5>#_8D5\<<\# ,YG1?VF?%GBS1-(T33M-TV+Q?JOB";1H
M-4O+*ZATUX(H#.UVD$A24@IA1&7'S9^? S65JGQ7\47OB=/#WC+1O#NH7FB>
M.='TV"YLH[B.-A/"T@N54RDK(,\*2P'(.[K73?$;X,WWASP)HZ:3;>(/&NKV
M^M'6)]8AU:&#6HI60JT]N95%N>,(82%0J3@$UA?"+X"7MY/K>N>+XO$&GSW?
MB>S\0V46HWMO<WS-;0A$-RT0:,;V+'RX\!1M (Z4TKB=B?P_^T+XKO/BPOAO
M6)O#GAN2;59K&+P]K-C>6E[);J6$=Q!>,WD7);"MY:*.#C=D5R/@#XF_%/0]
M%TC2+&^\/ZUJWB3QIK.F176J6UR$M%A:=V<XG)908_E08PN%S_%7L$?[/6DW
M.M6CW7BSQ%>Z%::J-:MO#5U/ UK#=;S(K;S%YY17.X(9-H/;'%7M*_9ST'PY
MXNMM7@UK6IH['6KK7;/3II83;V]Q<1R),JXB#E&\UFP6)! P<9!.H'F?Q>_:
M-\6_#B[UV%=6\'"]T*QCN)-'BT^]U"ZOW$0>4DP28LD)W!?-#\ ,QQ7:>!?B
MEXY^(?Q>U+2=,M]!L/"6DP:;=7<EU%-)>S+=6PE\N,JX12IS\Q!&,#'>I_$_
M[,VD^);OQ>%\4^(]*T;Q8QEUC1M.FMT@N)3&(RX=H6E3*JN55PIQR,$@]1X3
M^"VF>%V\1'3=8UBUNM<L+2QFO5FB$UN+:W\B.2(^7A7V_,20PW= !Q0Q'?S-
MF:0^YINZJNG6IL-/MK5KF:[:&)8S<7+!I92 !N<@ %CC)( Y/2K&1ZU5A%BV
M^\[>BFH<9-31$""5O8#]:A##GFI -IJ5#MMF]V%1;AC@YJ1R!;1CU)-,"(KS
MFBE)&,9II]*: L3_ .IA'^SG]:K+5FY.-B^B 576DAL<HRP%27IS._X4V%=T
MR#KR*2X8-+(1ZT/<$,'2IK3_ %ZU"#Q4]IQ(S9^ZI--["1&W>FTI( QFFYI1
MV!BT4F:,U0@KBOC%#-<?#KQ*MN[1S-HM_L8$@ ^4,9*D-_WR0?>NU)%<-\:F
M5/AGXG>4^7;KH>H%YBQ78/*'.X!L>N=IZ=#6M+^)'U1E5_AR]#\Y--G6^5$-
M\?+D:.8QW;@G#;2@W2&8@_*@'3&QLXKTK4]8/PLM=-L4M))_$4-S:B\GU6S>
M[T^UC>%S&L; J=YRQ+;3C(P<\UYW<W\?A^RT75M.E@%V7:X_?*WF+&DCX$<<
M>2ORW+,"ZKA=A YP.V\,_#F#7=.L]=\06^J6']JZO-#/J-EJ[:<J6899!=D7
M4?[PY;"D8&T*,"OTO$.-E*?P]N[/SJBIZQAOW[">#;72[_0K'Q;XNN?%'B.)
M;6[GN;6'_2M+DDM)'F$=S<."T>[<5"[2R[OO<UE75QIESJ]_JG@:;3?!^LW$
M\MM9F\G6V.QUWE(I(V,4V[>JAFP5#*&!^\L'C[XA2^(]9M((+&30]$L+M7M]
M)-LMO,2=JW"LRKY4YD&V0LY&X-[FI]'^$OV"QM[KQ>\6BQ+.J0Z59R1M<%@3
M'Y\\;EXXR$C)&%;)(!P,XS4>5>TJNS>T=UZ6ZFCES/DIJZ77;\2A/J_B[2EE
MTW6_"-QJ"VMI' [W^FO!<27<WS[9+B,9<A99C\W)4OGYCFI'TB[\<ZE)I7AK
M3M>M(8(6DG'G^>))5EVSE]J94QCSBF6QE,JH+8KK_P"U?%/PKM-&2V\2WGC#
MPCJFIRWR-=M,KPF"-OM"R%<,KK("0$?#>6>NZDC^*6E)I]HFJZ3JFLZ<((Y;
MR+49@[QSK")0/M$6V1MT;W2^7)G.1G&21/M*EN:E!/T_R?4KDA>TY->O^9Q4
M.OPI8V\UQX>U75-5M9%-XNHW)9);<M)&9)(T56#E@RN#R4#[B<YJ:RO?B)=1
M)J$A/@^VTXS6FH75W9_V98S0D;PLC<,\LF]@!G=SD$$LU=3JWQ9OX]*N3!;:
MK+KT]G<17$,[_9[:"<013 +#  692K%3*3N(D'4G$OB/P]=>*3!K_P 0?&&I
M7$VO6]M=6^AP8(M[4QDI+(LB[%D&R8*J*,MSN4,11[1IKGBE?O=OY+[P4$T^
M63=ODOFREX,3X?VSW_AZ\T)KK[?&J0ZEI,2-/$1"UQNMC)NDN'+(%#%47E0
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
M]*KM<JIP5D)]HV/]*\(^ 'QUU_XB^)IM+U?5O#-U=1V0N9M,M[*\TK4M/EW
M-%);7)=I$&<>:NT9'3D5+\5[OQ:G[3?@FTL=3LK?1)M!U.>6QDCE?S IAWDD
M2*N_# (Q4[?FSNW<2M&-GN0O(5/S.$_W_E_G5J*XCDBE E0\9'S"OCWX#?$K
MQU\/_A?\'9-5AT.X\'ZXRZ5'!;Q2B_@'ERNDS3&38^?+.4\L8!'S&KW@C]L#
M6?$VJ^'M5-G87>AZUJ*69T*TT6_-]9VTDA1+AKLY@D(^5F0(H /#$BAZB/J[
M<#SU'KVH0[B&&"#W!KP7]LZTO+SX-RVFG3V5I'=:KI]K=I>VLC^=%)=1(4&U
MT(4DC<.<KN'&<CB/B#\9]8^"-IJFB:%J'@K3K?PMI\;Q>'[#3;R\FNP(@[_+
M!*181DY"B0/@#<3@T[@CZZ?Y[13_ '&Q^=5Z\$T[XM_$;XCZWXCM?A_;Z!':
M:%:V;RPZ[#++)?7,UNL_DI)')&L*JCJ-[+)EC]W KG?%_P"T/XW\.?$271M5
M7PYX-MDN+:*TL]>MKM5U5)%0R-%J0/V=&5F90A0DE>>O G8+'TWYJQ@%F"^Y
M/%275P9&1HHG<,H^9OE7/U/^%?*D_P 7M:\,>+->T[PIH.AP:KJ?CT:&\]XL
M\@<-IZR_:)-LF2XV@87:I5<<$[JFN_C_ /%;3?#?C/5;J'P?-:^!]7BT_4?*
MMKD2:FCF(EX 9B+<JDR_>,N6!Z#J/N%CZ?V3./F=8Q_TS&2?Q--0V\4Z%SYK
M _=8ER/P[?A7R9J^MP:E\5M/C^Q6UE]D^*'DR26^_==?\2DMYD@+$%OF ^4
M84<9SDT7]L+6]7O+35K&RL)]"N-6^PIH%OHU^;];8S>3]H^UC]P6'WS&$P%R
M-^: L?6\CLDC+% P'8L0H_S^%)^^?.Z15'^PN3^9_P *X'X]>-O$G@'X?+K>
M@V"W]X+F"WF9;.6[6TA9L27#0Q$22A!SL0@GUX->,+\9?^$S\.>%KS4)_"WC
M4IXVL+".]TM+J)(U96(D>VD?=;SJ<@([.#UQV""Q]2P>2&=)+EF+CIYN,G\,
M5$HMP3MMR6]1'U_&OFQ/CY\2G\)Z)X_L-.\,+X1U?7;?3;?39H)_ML-M)=B
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
MFQN.U??K^%#$1[6E? RS&K$KQVZA 0Y'4#IFB:5(E,<(^8\,U4UC=V  +&A
M2/,TC DYJQ#&4B,QPN1@9_G1%;Q0Q[Y3DCHH[U7FD:5LGCT':C<1)YNP%8N
M>K'J:C5"[JH'6G10M*0%!XXJ9G^Q\(0TI'+>E Q)4'!=ML:C"KW-1O)YHP!M
M3LHJ-BSG<3DGN:5(GD/!(4=3V HL(EAS&C28Y/RI]:KLX1MH7>_=0>!]33KB
MY\]Q';G;&@VF7U/HO^-)&JQKM  % #7B,P'FG>!R$ ^4?A_C4\["!$CX 49;
MTR:;$X1@3\Y_A4=S_@*9M&\O(1++G/\ LK]!W^II#&K*" 1&7'O\HIZ1RW<R
MAY=D8YV1#  ^O6F[]Q)+=^N>E/6222/; FYGZNW  _K3 B>"%I2Y3<>Q;YC^
MM.5X(_OR #M&G+'\!2_9HT_UA-Q)_M?<'T'>D9UC&6*J/4\"@5R9;UO)=E@D
M" ;5  '\S57S92.(A_P-P/Y9J22YW".**-Y,=3C )_&E*31\R"(-_<Y;'UZ4
M -C2X=-S1HB^N\__ !-22S2QP(ODA01N.V3G]0*:%GNY5#SA1Z(F !^)-),C
M22$B=P!P/E7I^5/<-BL9-V=]NWXA6_D:11;[O]68B?X@A3_QZGE9NTJ$?[4>
M?ZBI[43HYD_=N(^<'(S_ #JGL)$=P$:0B&Z9@H"C:X?^>:C'GJ>L<GH""I_K
M1-EP3-:AR>ZX8?KC^51 PJ2 [PGT8D _0'C\J([ RW RO*HF@;:.3\N\?IFH
M"L,CGRI=ISRJ-]W_ (#T%6(A/%;LZO'*&^49!!([\C_"JTS(Q_?0D8YR5W ?
MB/\ ZU);CZ#U\^,C!20#^\=IJQ#=JB2-(C0\;07'&3[CBJL:;L&"8[?0G</\
M_C4LM[]F@2.4*2QW8B.3_P!\]?RS1($.#AL$'(/>C^(51$D,[GR8Y ^>=@\L
M_B#_ %%2*+T=!$X[9)W#^A_2JV$:9^6T _OL?TJO_GK44TA9EC>=HV0 ;-H4
M$_CG]#4;1PI]^4\?WI"*40985@N=Q"_7BI+RZAC\I3*@"K_>%5K<6K2((T5\
MG[T:;OU I\UP#*Q2%QD\84"EU'T&K=Q'E6+_ .XI;^5/2X5W50LF2<8\MO\
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
MVKEN[*]KGJOQML;/4/AUJ$5]>Q64"R028N(&N(IV652L#Q)\TBR$!"BY)W<
M]*^?M6&G^.M9U^?Q9H4/A36(M,M[&RG&B3>58+YA,=R\K('C'5 P554 @MZ?
M2_Q$TA-;\)W5L^E7>L-NCDCMK"Y2WN ZN&5XY'90K*0&!+#I7AWC+4O#.@^%
M?$%SKJ^)XO$<\")]F\4S&%KV*-B1:I-#^Y="68LD;%F[Y%&%E:-EO?I\A<.5
M^6@J<%)S<M.6UU=PU2[.WO.2MHDOM'M'Q0L+34/AIKUK?ZHNE6<EDRRWS*66
M-<=2HY8'H5')!P.M?.>JRZ?XOU=H/%WA:WT&/3] N+733;>';@Q1HY4+=8>,
M/&D1 ("+\F\Y89KZ<\6Z7!K?@W4+*;2Y-6AGMMIL()1$\O'"HY90IZ8.1@@<
MUXCX@NM T+1-<N_$[>,--UH:9-;VK>);D*A0#>;>*YMR8@9"BJ?G\QAP#2PT
MK*W6_0RX=KJ%)PBI.?,[<MN9723:6^WQ-JR6VMSV*XTRRE^%[Z??7$E[IYT?
MR)[BSR[RQ^3AFCQDDD9(QG.17S-\/[/P0?B9X5M9/$GB*>1)K7[!IMWX9>Q$
MUQ;PF.-WE,8X"DDA=H/4YKZ:MI[V7X7PS:!;0VVHMHZM86^?W<<AA!C7GL#@
M<U\[^$-%^*7C+Q?X0U'7K'6CI6CZA:H+?7(+=3E8G:ZNY,#=G>P6(IV'UJL/
MI&=Y6^:_R?Z'3D4N6AC/:5E!>]O**=[/9.$KW=OA<?70^L:***\L_-PHHHH
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
M0/[TGRC\NM'E.PR\I'L@P/\ &D-QN.V)3(W<@_*/J?Z4>0TF3+(0/[J?*/\
M&@1PNE?!_P ,^'_BSK'Q"A>Y;7=5LX[.6&60/ @7;ET3;N#L$0,=QR$' K/T
M/]GOPMIGA_XC:)8C5$M_'4D\NH.TT8:$RJ04@RGRJ-SD AL%CUKTMC#;850%
M8_PJ,D_A2I-,'5D0( <@R<_I2:3'<\B\7?LU:/XQN+J276M8TV&]T%/#M[;6
M<T)2YMTW>6S;XB1(I8D%2!Z@CBNH\0?![1/%.O6NJZM)<7)@T>YT-K3Y1!+;
M3E/,W@J3N_=@ @CJ>*[BXMBLI+SL5//RG:,>W?\ 6JV+7)POG$=P-^/Q-%DP
M/,O#_P"SYINFK:QZCXU\4Z_IFEVDMGIVF:C?PK#:12)Y;<PQQO(P4[5:5G*C
MISS5'3_V<]$2ZMI=;\8^(_%*6%A<:9IT>I7D"FQ@F0))LDABC=GV@#>[,0/?
MFO8K:0I*"ML%!X)<@ _EFB9;A'92L:L#C[Q/]!2L%V>8^#?@K8>%_%5CXCU+
MQAKWBO4].LGT_3Y-9FML6D#E2RCR8HR['8H+ON)QUZUN^+_ACIGC/Q/X;\4#
M7-1T[5-#6>W4V,L.RX@FVF2*57C;*G8O*[6&.#77;I@O+1 ^Y-.CGPCK*8"K
M#&2V #^1H:&><6/P*T&Q\*>!?#\&H7\EAX/NXKRP:5XG>5D1T E(0!EQ(V<!
M>W-96B?L[V/AF\TV.V\5^(!X7TR]-_9>&#=Q)8PR[BP4,L?G-&K$D1M(5'IC
MBO4'$LHQ]D11G&2 3^ ./UH\F"WR[K,C#^)B3M^@''Y4[(3,;XE>#K;XG^'$
MTG48[JWM&NK:[,MK(JMO@F251\ZG@L@!&.A.".M>=^*?V:="\27GBQIO$_B3
M2='\4N9M7TBRDMX[>>4QB,R!VA:1,JJY D"DCD8)!]B@F:Y1HX)]F.1YX&?R
MZ_F13&C>W^>8QS$'AG.#^ YHL,\DO?V=-'O&N!HGBCQ)HD&H6$&G:O'IMS $
MU.&*/RU,A>%RK[/E+P^62./3#_$O[,.F:FNH:>/%?B"Q\*:EY+7WAJ">'[%<
M"-455W/$TL:E44,L;J#C/!R:]7>7[0!NMC&/[TB9(]^,_KBGI#;R0@I<R33I
MRJ[_ ##CV!SBE8$>9P_ OP_!X@75X3J@G7Q"/$JHDL?DBX%M]F" &/=Y>SG'
M)S_%CBK&I? WPSK>C^-M+U#4=0AM_%]^FH7^R2-'BD58E B+1G"_N5ZANK<^
MGH9:["9;8B=\'#8_4"HUGA.#Y+,3_P M)^G_ 'UT_*JL),\]'P \/P>)?[8M
M[C51=KXA_P"$C&^6,1?:?LWV?;@Q[C'LYQUS_%CBLJS_ &=K'1KV*&'Q7X@M
M_#$>H?VHGA6UNHH[,3E_,(!$?G&/?EO*\W9D],<5ZV\*3P[TF<E?E9+;A5]/
M8'\JKI-+",((F4'#"$?-^9^7/UH2&V8WC;PA9_$'1(],DN]3T*YBN([RUU.R
MG6&>"=#E6#.'5NX*.K*0>17&67[.VBPW7VW5/$6KZQK<FM6FNW.IW#0">XGM
MD*0HRQQ+&(P&(VHBGWKTU;J%FQ(R(1SBY?\ H.*M2PQR@2P7,4);[PMP%P?I
MD@_E2LDQ7/D.Z^"WBG7-;TGP_;^&_%6A:19>)X]8DC?6+63P_#$ESYQDMT7%
MRSR<XB<!$9R1C ->^W?P(\-ZKX(\9>&))-5^R^)-2EU:[EWQF:.21T9EB)3
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
M7Z5&4G+[U/F?[:GBBP'E"?LZZ;J6GZS9Z_XT\6^)!J&D3:'#+J5S;K]CMI0
MY18H45I" /WDBNW'USU/BCX3)X@B\//IWBG6_"VIZ% ;>TU/2)(29(F159)8
MYHY(I =JG)3((R"*[,M#QYH#/WV#C\:1Y)@,KAX?11Q^5 '&>!O@GI/@2RT.
MWT?6]92'3[JZO;D-<1D:I/.29'NAY?/S,6 38 >V.*[:[2=B0@RAXRG.?J:C
MAC\P;U)MSZG[IJP9_LS=#@_\M%Y!_"@"K#9MUD(B7T8X-2R3Q0C;'\WT[_6I
M_-CG&7B$@_O+UIILXNJ@%??.:+]P,]G:=\GD^@%68K8J,ODXZJ.WUI^3$W[E
M8T]R>?UJ-X;B3[P)'ID8H; 22\5%VQCGVZ"JXD+MC:2Q]*F%DPP9"L8/J?\
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
M79*T3$[ N'_><%MV,<5Z:@O8<UNG]>?_  ?+?]%IX:DLE>(]FOA?O>[OKO\
M;U=N_O*WNPOS=M\5O&>H^&=4T:TCU6#PSI-TDSSZW<V372K(NW9 !D*I;<QR
MW79@<FN/^'?Q"\1^,/&>A#6--L;N8&=70>'[FUFL(@AV70N)6*XFPO[L '$@
M&3M:MWX[ZG=^&YM'UI-3BAMX8[B%+!M1^R2/<.H$<T:D[9V3#?NWX^;/45PW
MP,OX]=\3Z$UB7T34K2WD;68[S7GNI]4RFW=Y!8Y&\A_,X*_=&0:(07L.:W1_
MK\PP>&I?V/+$>S5^67O>[O[^^G-VVOK9:+FOZO\ %GQ;J/A:#1A;7T.B6%W<
MM%>ZW/:FY2S4(67*@@#>P"[F^4?4BO.O#'Q(\2>)_%FC6VH6NGZU%'J9BMU/
MARZBDDM@#C4H[AV,<8_V<<\X/S"NY^-M[-HNGZ)K)OX(;'3[WS;BPGU(V/VP
ME2(U5Q]]E;#"-OE?&#TKR'X0ZL?$7B3P]''++I7B:*[:?4=1O]>:275(1N+(
MMMN*MN!''2,#(/ R48)T7*W]:_/[A97A:4LJE7=--I2U]W1^]O?WMK7Y6]&K
M*_,SW3XK^)]1\*^'K:YT^6.R2:\C@NM3FMFN$L(6SNF,:D9P0%R3@;LG@5Y-
M#\3_ !'KFLP6$HTWQ380ZC;I8;_#=S_Q-8RZ[[B.;<8H3#EOFP0=A/ (KT_X
MU>=#X0BO%U&"QM;*\BN+N*YU!K!+N($YA\]>4))4@=&*A3P37A7@SQ$?%WB6
MWC\R72?%<^K_ &B+7+_7ROFV_F[_ "([<,5D_=YC$8&T_>X-&'@G3<K?U^?W
M?+4>286E4P$J\J:?*W=^[IYNZYK);\KT3]U<VL?HCXG>(=2\+^#KO4-*B5KI
M'B1I7A:=;>-I%5YC&I#.$4EMH/.*\5U7XJ>(K][W3HKK3/&6D)Y;6<LGABYE
M36921NME9&\J,IP?,((^8<#8U>R?%RVN;GP#J7V;4X=*\ORY99KB\:SC>)75
MI(VG7F(.H*[QR-U?.5GXLC\7ZWJ43>9IFNWEX@T?7;OQ(8H;*/"A(XU5B) N
M#A<?O,_-U-&&@G!MK;_@"X=PM*KA9594U+E;N_=NOAMOK;?X7=*[2<K-?3OC
MG6M2\/>"=5U/2K'[9J5M;&2&UV%_F_W5Y;')P.3C ZUX9K'Q9U^<76GVVN:7
MXJT5[3S#?R>%;JXBN+CG_0"D3[06'.3DKT()KW'Q_97M]X%UFWLM432+UK1@
MNH22F%8B!DL7'*# /S#E<Y'2OEZ7QK9:_J^I0W5NT9D@AMM%U.3Q8T=IIK*@
M3*3*WSC?\_F$;FS@CIE86"E%MJ]O3]?Z_ CAO"TJ]&<Y4U)Q?]VZ^&WQ?-JS
MZ2NF^5'UMH3R2Z'ISS68TZ5K>,O9KC$#;1F,8X^7I^%7JIZ/#<6VD6,5W<B]
MNHX$26Y P)7"@,^.V3D_C5RO.>Y\%4MSRMW_ *WU^\****1F%%%% !1110 4
M444 %%%% !1110 4444 %%%% !6!]CU?_A//M7G'^P?[-\KR=_'VGS<[MO\
MN<9K?KF_[)_XN/\ VG_:$7_()^S?V?N_>?Z[=YN,]/X<XZUT46ES7[/I?^O4
MX\2F^2R?Q+9V_P"'7D=)2&EI#7.=A\(?&#0;R;]O#PYJ,*6[6PGT])1++&'^
M[_"C<G&,DJ#C@\5XII82ZD-C;L)[F5MDL**':9OXC(L2[BW7E[9^Q.3N->O?
M&B!/^&_/#4C(]RAN--!&\[8G(^7H.OR^^>>G;S[P)&_A#2[_ ,2ZC%<)K&GF
MW?3M-N-TK6%Q\_GS1!B=T!@WR J2-P X*!J_2*$N6A3ZODA;\3X"O&]:?;GE
M?\"3Q[X-E\5_$G2/!ZP6ATJVM8[)=8LKMHO)9<R72N?F5G#;U"JI QPO&%ZW
MPGJZ?%#QYJ_BVWU^;7/#VFZ?!9Z3H^K2X\H$&(M=1E763;M+9/WC*F2 361X
M8T'2V^#=]/9:M>>'9;3;_:\%\?[.(2XDD>-RY+*[RH(8LK]Q'88 8BN=T"_\
M0?#[QI;7"W\RZYH.HR_:FMT>:U4NBB6%Y6,<0CB@CS@  $H#P*7\6$HIZQ32
M_5_/37I\Q7]G)2:TD[_Y+Y:Z'J.N:AJ/B":WU*6]<7[JJ)&3($MMH/\ J;?)
M"#&Y]JC+"W<#&:V?%7P@3XJ:MIGB_P -ZI;:9X[LF21Y&N@L&IIN_=PS.@.Y
MMJM&'4MN"_,!VKS:?I/Q M;C4O#5YY\4\2SW=A-,C7ML-B3 #>2DF"ZC<-P0
M$8PQ)/2Z%XW3X.Z2GBCQ##<:A9F0Z;%$8AYD[R/%MEWN?EBCVR*22.PQG->5
M*<XV='22TMZ]/0]&,(NZJZQ>M_U]3YWDN?C=\.=:MX[SPA?W6F0N^1:Z8MU%
M-'(Q,BK<(K_>WG!SQZ5:T.7XZ?$'Q5'>+X1N$M#?"[*ZCIJV%NH&X*C3,JD@
M*Q'<X-=3+\=/&ESJ%MJL-Q+I$M@RVD-MIUMOMK:4/+ Z$O'PC+''(Q)8_NI
M".S_  _\=?%=MK;ZC=_:;VVUF9!/8Z]&(D$C2F.0?*B@&*.UE .4 RN[<<BO
M6<JW*Y>QAS6_K3_@GGKV/,H^TER_U_6QU7A7X/P?!?3M5U34->MM7\>7Z$7F
ML27'F):CG,,;'G!/#L<,4W!5]*>DWEYH=S>36UZZ//YD%W!<!I87!C&3<6Y^
M1F"D%B5R&2489N1UOB'Q.GQ:TFS\;^'X[S3M*U5?LTD/E+%/;2))Y0\UU;HS
MG"GY@0)!QDXQ VB_"R.UU7Q+?".\A@^TP:3;R(ERWEE642!7$<8Q*LF&*C#'
M R6+>5&4ZE_;:S>C7FNGE8]"48PM[/2*V?ZG)^)-3M_ 7Q!N+_4_$5YHWACQ
M1I'V34M!L+CS)8II2T(:%"B^6BG$F5''3G<N>5^'7A.\TC7_ !AX-N+&P@@D
MC^S+>W%P9S>7$)=HDC9E*$E5E!4QE>/NE@$.+>P:UXT\4YN[\W&MZG?37$IU
M O;PW"K'BXB$N7B:/RD21.,!3QC KL?&=E8Z=\-O#NHZEK>HZ_K!$6IV<MFG
M]H>7!#*RFY5R0H8JT*.IY;R-Q'&1ZO+[.,:3=Y2LOFMG\MKO?Y'FI\[=1+W8
MW_'='$-.J7=K#/(HOXY (XV!BEC</CY%<22J<'JD,1&>-N>/TJMX/.MYC*IP
M+@E0W0C8G/7FOSQ\<:;)K']F>(]+MITN]1+S7NE0NR1?;6FW23W)!4)$(O*9
M-Q7)=>/O"OT1LY6>WN W\,^!R.GEH>WXUX6<RYHTWUUO^![641Y95%Z?J.W"
M-"Q( 'K405[OELQQ=EZ%OK_A21 73[SS$/NC^][U:X%?-'T@T*L*\ *H';@"
MH=[W)RA,<?\ >[M]/\::#]L.3GR0?E']_P!_I5H$8_QH C2!(1\H'/4GK^)J
M(S/-_J0-O3S'Z?AZTG_'X3DY@';^_P#_ %OYU87:!C@=O2@ %HLUMN=C-)&>
M=_(QZXZ5#Y_58D\PCN.%'XTL$AGE!)(M^AQP7'^%69($MFV* JXXQP,5)3*O
MDRL,O)M'I&/ZG_ZU+<"W:(,VZ9UX=2V['IGL*KO<F[)2/<5'93@M[D]A^IJS
M:Q10_P"O*B,CE0,(OO[_ %-,2937=."MO9QQI_?E _0#K^=-,,5J2\S0;AR6
M<?TXQ4TLCO(413@=AQGW)[?3K0+:*W7S)0K-GH%XS[>I^M,$0SR&?$D$"J#U
MD6)U /MCK46];8>9*TOR_P#+0L3C_OL "KT$\ETQCSL1N.&PJGW/K["H9K6"
MRD8RHLLYZE^W_P!;WIAN00ZD]PP\IH]@Z/.O7\LC\_RJ>:.WMF618W#2#(:$
M[\GO@#_ 5$=/6[;?(@C7KN"[3^'<?4U7738I9G6RDFB>3@RF0MD]LDG('X_A
M0(NH\\R9$\8C'\).'Q[D=/RI([B-6RMKM /S3,"5^NX<_CQ6+>VUS9W)CN0;
MV4#@%F95'J0.1_GFHGN4.V.260RD\122;HAZ<]/PY/UIV W+HQ1'S([M;A<9
MS*P\I?7G/'YFJS:IYDGE&*2Z.,_N5)B ]^Y_'BJT%BMU,G]IH;:,XVR(N,'T
M)Z*/\\5K)I[Z8NRV"A5.=@XS_3\>*0%*")I9"S.MM$?O+&IP?J!@?GGZU>;3
MI;8ADD2YC(RK,N3C_/;BG130W;8=3%<#JI^5Q_B/TIP2: _NF$B9SL<X_+MF
MDQIC!<,@V2(I']T#:3^!R#^!J:!8G7]V2(VX*XRH_P" G_ZU"S17 5&&"?X)
M%Y/^-03VYM6,T#$8^^C<J1[?YZ4 2S6\UBV5&4Z@IDJ1]#T_"G0W$5ZC8P2/
ME9#U!]"*FM[]501W*[(SR''*CWS4&H6BQRI. #@8,B'&5/?(]/\ &EZCW'&S
M &$=E&> >=OT]/Y4B7#0,8YTVE<'S$'R,/7VH!FC&,B9/?A_\#^E O8]ZO\
M>4';(C#! /?GISBF(F)65".&4^G.:2SG,#-;R?/'C(SUQ_B*)K$*?,A<@'G*
M]/Q%4[B9HC$\J8VN 77[N#P<^G7/X4EJ!I2Q%!N7YHST(ZCZ^E58QY,Q0?<?
MYU^O<?UJS'-L&48,#U[@U'=HD@1XV",'7Y3TY../SH FAF,/;<IZBE=5>Y1B
M2R2C:<?>#=1]>,_E43*RD!@5/O4-RQC16!Y1E;([<C^F:5A[%I[4JNY?G3^\
MO;ZU6:1K:>*1.YV,#T(/_P!<#\ZNK>$??7)_O#@_CZU%?);SVSNK^6Z?/\W
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
MF"18F)*G[C'^1]ZG(5P0<$'@@T -90ZX(# ]NQKC/B[:LGPR\4-'*RE='O\
M:>K+F+L0CGM_=/T/2NLC8P2>4QS&Q^1CV]JX_P"-'VF3X9^*(K2!;FX?1=0\
MN-V90S^5\JY!&,GW!]#6E+^)'U1E5_AR]#X1\(Z;'XFU2RTO3VADBEF4-$B*
M\,0R/G(C#QH1QDM#".P=>#6A<6T&M_&#5==U.'[%X=\/%=375=%O'1KFSM@H
MA\M6+;Y&PF6XY8<@'+16H@\'^ KV^E74+O5=1>?3\RP^=?V-A)&BO;LLG\7G
M$(I/!#%APV#UE[X1CO\ X>>'X_#VK/:K/<QZ8^D7\OV%?[1CBCQ:A) ^X&4R
M3,?F5V11V%?H,ZBC+FO9/W;_ )L^$A!M);M:_P"1?\!7VHZM<^*_'MUK$7BF
M\O\ 4-MDE\/,BM(E5)4_T<H564G:@&X8*-R2*UO[0O1XCMM774YY+EY4N9II
MKJ1I54$9 WD^4O0#H$^TQ$DA:\P^&OC6X\":[;ZL;N]U#3%LY=.U3RU=8KR'
MS"TC^?,ZJSF:78A4= ^!G%>MWGAJTU9)=0T'4DU/2HIC(\\+C[1#(KF(>8K?
M,,[6&]1N;80IVX4<->FJ53WMFK)^78ZJ,W4@K;K5KS[E?Q=\![W6=9NO&_P[
MOK&WUZ6"2/5-'EN?(MM0=H6W3(!P'^=9-IRI."&[UY-I/BGXU_#35XX-2\$Z
MG<VT%LEND:Z+N4^6%,1$R1MN"E!QDY&?7-?0-S\27^$_A5H-1TYM2UOQ/;O;
MZ?!<0!526-9<2W#ALD2[H@H5BQR,8&*\O'[0'C>'57\06MYJ!NK]&\BVL[57
M@,)B2?R49HOX6D,:?+DF>/); RL-.O.+C*$9PV3EY>:-*\:$)*49.,NJ1S7@
MCPS\=_'FJKOT5]*1H;F!-3U6U&F)"TR!6E!"JS,I"N-H/*5ZKI?PVTOX.^#Y
MM'T?4AJ.KW\JOJ>J*^ZXOW)!$46.=N"=JC<Q=T9L '/.>!OV@-8\%:A#/J\=
MQKVA%VU-TU&,1W/EB'[0TL0PJ^9(]Q&,%B"1@*.M=SXPLKKQ<MOJ^F-=+H_B
M-$O;=(;=(\&0,PAD!^5G" 95@004YX4&<34KRJ*$TH0?;9V[_P"0Z$:2@YQ;
ME/SW7H<_X>U.[T6)X;>:+4K.Z;S)K*<&XL7=9."B-O6,LR_*R+TEC*J .>1O
M]/ATSQ#XP^'5[XKU"33/%4L/]D:8EUO-I>%$F432%,I$"!%PN#GD94X[G4]=
ML/A4ERYU:)O&DD:Q6UE;3JT=I/(KQ*\Q9Q&2C1E"H8G@ #"J%\&T[3;W5KH.
M-8ELFM+634+ZYU":2RN$A:;>MSND#JTT5Q(PW*020.?F-;4(*?-4O9?JM4_E
M^)A6ER<L-W^CW7];&]X TV]U'P!XATMM.L;![*[_ +1M(<R7$]RRJJ3NI9)?
M,49@(*H6Q]S .X7_ (37,,GQ@\';)@]X-5M@3N"RA2XW@X,TH7_>>('&&&
M=CXC/%X&UKPGJ7VF]UKQ=8"*XN98[83P0&X@39#YQ.WR))/.;Y0VSSN/0P^%
M/#*:5\;_  -<:)%/)I$^H6$T5DTC+;:;&2OG"4Y"FY,Q=0F2<*>#E<;.HJE.
M<WM)-KU7]7,E!PJ0BMXM+^OR.N_9^T34(?VX/&6I7%DL5K)<ZO'#*L>,XN!U
MP, D'.3R>3SUK[N[U\!_L[PI_P -W^-7C#PQK<ZP,.Y)D;[0-QY ]?3'3D]_
MOQ:^7SF_MX7_ )(_D?395;V4[?S,6BBBO!/:"BBB@ HHHH **** ./\ $O@6
M\U'Q$FOZ)KCZ'J_V464K/:I<PRQ!BX!1L$$$GE6'7G/&(]"\!:A#XFM]?\0:
M^VN:C:V\EM:K#9I:PPK(5+G:"S,3L7JQ QP,\UVE%:>TE:W]?>>@L?B%3]G=
M6M:_+&]NW-;FM;3?;38Y3Q;X(GUW5]/UG3-7DT76K&*2"*X\A+B-HI"I='C;
MW13E2IXZXXJCIWP_U6Y\0:9J_B3Q(=:ETMGDL[>VL$M(D=T*%VY=F.UB,;@.
M>0>,=S10JDDK!''XB%/V2:LDU\,;I.]TI6YDM7UZLYGQGX+;Q1+I=Y::E+I&
MK:7*\MI=QQ)*JET*,&1QA@0>V".Q%8\?P\UO5M3TRY\3>*1JUOIUTMY!:6>G
M):*9ESM9VW.Q R3A2N>^1Q7?44*I)*R"GC\12@J<6K*Z7NQ;2=[V;5UN]GU.
M>\:^#T\86-G&+V;3;VQNDO;2[A5',4J@@$HX*L,,P(([\$'!KG;OX;Z_XB^S
MV_B7Q<-2TN*XBN6M++2X[4RM&X= SEG.-R@G;M)QUKT.BB-2459!1Q^(H14(
M-:;7C%M>C:;7?1K77<P_&?A.W\::$^FW$\UK^]CN(KB#:7BEC<.C ,"IPRC@
M@@URFJ?#;Q+XGT^;2M?\:B\T:X&RXM[328X)9DSRID+.!GN54'T(/->CT41J
M2BK(*&/KX:*C3:T=U>,6T]-4VFULMK;&/XI\+V?BWPS?:'>&1+2[B\IFB;#J
M.,$$@C((!Y!'J#7)WOP_\7:M83Z9?^.Q+I=Q&T$PAT:%+AXR,$;RQ0$CN(_P
MKT2BB-2459$T,;7P\>6#5KWUC&5GW7,G;9;=D5=+TZ'1],M+"V!6WM84@B#'
M)"JH49/?@5:HHK/<XY2<FY2W8444AZ4$BT5X9HUVOQ<\/:PMC\1];N[7RI%N
M=+DTBS2?RSN'"&#<RM@A6!()'!R*]$^$\UO)X%T^.VUR_P#$$<&ZW^UZI$(K
MH%&*F.5=JD.I&TY&>.<]:WG2Y%J]?1GLXO+)8.G)SG[T6DURS5KJZNY17;;K
MNKG7T445@>,%%%% !1110 4444 %%%% !1110 5S'V/3/^%E_:OMK?VQ_9'E
M?8MOR^1YV?,SCKNXQG\*Z>N8\W2?^%E^7Y,_]N_V1N\[/[K[/YWW>OWM_/3I
MWKIH7]^U]GM^OD<.*M^[O;XEO^GGV.GI#TI:*YCN/AOQWX_UZR_;OL_#EIJS
MQ:/<7>GM<V;.-I(@! ^8\9+=%ZG'!)Y\,DN4-G-I<EO)?Z7YC++!9!0A*31Q
MR-$$10C%5NL';]T]^M>P_$6^MD_X* Z1;2Z7#-<-?6+QWCM*&4?9AD8#[3R
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
M*D**B9@02'^\3DC\.U1?8W?)0^8OJM B6!MSR;6'\*')_.@!@GGWYWMN^M6
MHD7=.JQY_BZ$_A2#4AG'E CU_BIAB6X.4D))_A<\_G0!*(U49@ D;_:ZC\*K
MM/.')+,#Z&I/LCI@OB(#NU.-ZD8"[1-CN](!(U$^2\6T=W' IRQ1 $H5G8=
M3C_]=,>6.ZX+%#Z'E?\ ZU,^Q2$_* X]4.13]0'M=3!L.,#^Z1Q^5("D[8\I
ME/K'S^E2"86Z[9'\P_W!R/SI/MR.NPJ8E_Z9TK .6W2-C^]#$?PJ0#1+<3J<
M,FU?1ESG\:A^SJQ_=RJWL>#4J13QCYF,:#KO_P * (O-C/5"O^Z?Z5(MNNW?
MYGEK_MC!-*;U$(VQ*Q'\1&*B=X9VW,74^YS3 ==DI:D1,'Y!R7YZCMVJ0BZS
MG#G]15=[);B-TCE#%@1@YSS3[1 \"2EMS$#Y$:D!%>&Y>!@-YY';WJR2UN,2
M,\K?W03@?C4=T;B:!TVNJ$$8&:BMY[B2!#ND&1G )IV ;J+S7%JX*MM&#A<X
M'-/6UE_N[?=CBF7"RS0NA+_,"#UIMOOGA1]I.0.V:K83'74"K;OOD7 QD+\U
M2[X4^ZK2'MNX'Z5%+8RS0.FQAN4C)%,#8CC(VEW (C##/X^E "7UPSVL@(PN
M.0.!4?G-*?W(&WIO/3\!WI;JS22VD,TGFOM.V.,?*#CCKUJS]KBCCWHJA< [
MW.:8(K26&;=V^\V/ON>GT_\ K59EN(+5L#]]*>@QQ^7]35"]N)KJ%SN*(.2[
M=<>P[?4U9@B6,?+G)ZDGD_6CU KWGG74>93M5F5=BGG!8#D_X58 2%#P$0=<
M5%=YPJJ.1(F23POS#K5@(D;!O];(/XG' ^@_K0!!,'F$2@;(W;.]A]X#G@=^
M<>E2F-=RD_,1TW'I4-S/BYBW%I'PQ"CD]OTH$,DO^M.%_N)G'XGO3$127 DN
MD2)?-$8W-@_*#VR?SJS#9/=',IRHZ@<(/\?QI(4CMY)?-^7Y@JQ*/F;@'@=A
MSUIE_)+) P/[J/&%B0]2>!D]^:7DA@+I&=Q;IO4?(I P,#KSVY'Z"H[@,B_O
M'&YC@)G"CW/K4BNL:B&!0Q7 P.B_6H88A+,TTS"0Y*HN.!CK@?7^5-:"'PGR
MXML*A8QR9'&,^^!U_2HGE2W!D?,TPXRQ^5/;Z_3/]:2\O%VLTO$"<*B'YI&]
M_8?SID-@;]DFN4VH!A8!]T4Q$,!N-3DW$YB[LW^K_P" C^(^YX^M2SZ6;5A+
M K2NHQ\O+K_N^W^STK65 <!5YZ  5,2+7I@S=SU"_P#UZ5QHQH;I)XUV%([[
M;@3(?E<>GT/H>E/#1W\0BF3RW)QQP01Z&H=0L6C<W, &<_O(VZ-ZG_/UH21
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
MT_PI6NY7NE&]ML:[NIZG@?IFI99W>,AR&7'<"JEK=S6Z;G;<DAW!RO('8'\
M*0[EW[5+_??\ZA:XFFNQ\SD1KZGJ?_K#]:E>^E1"QD  &<@#I4-M<S[2[2,'
MD.X@'&,T6 L[;AQ]V1OP-0_9WEN_F*KY:_Q,!R?ZX'ZTLC2F-G9G*@9)Y-,M
MK*?RMSJ5=SN);C&>W-(+ER-T4;994D7TP2?SI52U8G8S,<\*QQFH/LVS[TL8
M^AS_ "H*P+U=W/L,"E88]YO)8J(A&?\ :&3^M(L\S,-K.<>E*+U0H41*R#^_
MR:D,WVC(CD\D_P!SH/P- #RBNO[\+&W][.#^5,%M"5RC-.1V7@_XU UI,&P4
M8^_44HMPAR\BH?8Y-%@'?:RF511']!R/SH2YE)P"9 >H(W4XW<. &B,V/XFP
M#2O-YO%O((@?X,;3^?>@![V\13+G[.Q_A/-,>-85W!&F'][/'Z55DB="=X(.
M,DGT]:\LU?\ :7\(:?JUQI7AXZEX\UR [9M/\(6;7YB/I+,I$$1]1)(I%&P'
MK#7LI  ;:/1> *D29KDD/'YI_O 8(_&O%'^(OQ>\33R1:;X*\)>#?*C$SMXG
MUQKRZ2,YP[6UJNT#@_\ +;'!YXKA-9^)WB?_ (5[:^.]0_: \):?X5NKM;&*
MZT#PB\\1F9R@0%[B1C\P.25X R3BD.Q]4K;0EL>< ?[G&?SILK-;<)%Y?^TP
MR3^-?-LS>/;'XE6_@)/CG9/XPGT\ZK'I=WX,1@]L'*%RT<J#[P(QNSP3C%6_
M#'Q(^*MUI&H:MH_B+X8_$+1M-NI+.\>":ZTETFCQOC+DW$88;EZ@#D=<B@+'
MT&+Z3IO)]0W(J1(TG&60Q#^\/N_K7C7_  TG'X4S_P +$^'GB/P.J\OJL, U
M;3%']XSVVXH/>1$QWKTSP[XGT?QWI$.K>'M:L-?TV;_5W-C<++&?;*DC/M3$
M;2P1 9C;SV],XJ*2XE!QS$!T4<5$+>3>%",'],<U:1S;\32!P/X,;C^?:C8"
M+[49#M=5E/N.?TJ5K>(*"Y: _P!UN3_C2+=1#.V,Q9YW)R?UJ-[<3MF.97;T
M<X- $VP1J#;A7)_BSD_EVJ$S31MDLZ_6FBRGW<(PQW[?G4RW M_OR&8_W!R/
MSH 8DS3-AHED/KCG]*E<6T6 ^0W=5.:8;\.NTQ*%_P!@E3^-0D0,>"Z'WY%%
M@++R1R+LAE6(>A!!/U-4K:W97EC5E<*VX88=#S_C3Q;ACA9(S]21_.HKBSEB
M=)0H*_=8J0>#T_7^=.PKEEHYXP?ED'TJO;R30M)%N<;6R 2>AY_GFI-LL79T
M_#%0RW$T,J2"5P#\C<GOT_7^=-#/#_$NC7?Q _:0U/0[SQ/XHTO2[+PQ:W<-
MMHFNW5@@F:YF5G*Q.H8D*HY!Z"N9;XV:M\*_A;\6;/5O$,FI77A/5/[(TC5M
M4F59)#<1Q-;B:3@%HVFPSG'"9/>O4O&7P=_X27QQ)XNL_&OB;PIJDNGQZ;-_
M8LEH$EA1W=01-;RD'<[<J1VJCIOP%\/Z7_PCI%QJDT6EZL^M2/=7 DEU&^=6
M43W3E<NPW$J 5 .WC  I6"Z/*?A!K5I\5?"?B?P5+\1=5\2W?A"Y-Q!XBT+Q
M',DU[;S1%XS)-!(#)M;S$(8D#8O%<[!9:CX>_8ZL_&5OXF\97?B'5K?3/M4W
M_"07<LI\R[B#^0&E_=NRDKE=O7&:^HM3^'=CJ7CZ#Q?]JO+75$TN72)4MW18
MKBW=@P$@*DDHP)4@C&XYSFN6U'X):3>_"2P^&D.J:M;Z+:QV\$=_#+%]J0P2
M++&V3&4+;D&?DQ[46&<'I<0TC0?%][I^F_%?1M0MM!O989_%VL7,ULK",X**
M]S(!(#@AL C!P:P?[%U3X:? WPA\3-/\9^);W5HTTN:]TW5]9FU"UO4G>))8
M_*F9]C$294I@@@=J]BL?@S>I#J-MJGQ'\8>(+"_M)K.>SU(Z?L*R(4+@Q6B-
MN4$D?-C/4'I6%HO[.&GZ//H5EJ7B[Q5XMTO2##+I^C:K<6PM4DA $3.L$$1?
M9A2-Y(R,X)%%B3VR8VBQ,'=G5OE)QC.:@M[N2ZA0A1;(1R%^^3WY[?A3TTZ8
MMYDB$MUR1@+],U&JK:M(DLJ+@[@H.2<\\ >^:=@N97C:=[3P7K<D#O#+%92R
M(Z'!1@A((/8@C.:\<N[J\\,:)X5GTC6M7EN]7TN9[V&\U.>[+ 6;2&=!*[&,
MK(%&5('SXQTKW::TM[ZWDCO(OM$,BE3;N/D*D8(8=\^E8FA^#_#/ARUF&E^'
M-&TGSXS!/]AT^*$S+T*MM4;@?0UT4JB@FFCWLOQ]+"4I0J)N[VTL]&M?1NZT
M>JZ;GG.E;_!4_P /;VVU+5[Z;6;1I-1L+F_GOWFC%J9#,B2.Q5@X4?+@'?C'
M2J^O_%"ZTCXHV^NI/J=AX9BTN.*\LKY&C"&228+-Y1X#;XT4-Z/7H^C>!/#W
MAF47&D>']+T4N55Q86<<#.O3#E%&1SG%:VH:#I>I/+]KTRUOI+A%B=9;=9&E
M56W*IR.0&R0#P#S6CJPO=JYWO-L)*LYU*;FG%Q;=DVG)M]]4G:+NVK+IHOFO
M2/%OBC1]?M-2U'6;]_L>J7EYJ-M)<,4: I:;XV7."L2S.5';;Q4NO^)O%7B2
M]UJ;3M:O[;^T=3TZ?3((YW54A;[1Y:J <!9!%&S#ONYKZ+M_!FDRW5Y/>Z;8
MF65G63=;HQ8.BAP>/FW *#GKM'I1)HFCF[MOL>E6<)A*8N!;IN7RP1'M..-F
M3M],G%:?68;J.O\ P;GH/B+"75189<R26RM\7-M;O\[:;'C^F_$ZYU3XAV.M
M6CW\^@-I,L,6EV2M('F4V[/(8QU96F*>HV-6IXDN=?M_$EEHVDZE<VNG^*XO
M,\Z]=DN=)\I09O+!Y3>F,+D;&R1UKT:/0=,L+FTBT_3K.UEA,C*\,"J8PY#/
M@@?Q-ACZD FD.EVNK:G#,\$,ZVNX13,@9P6X?#$<9Q@XZ@5FZL;W4>G_  QY
M%3-<,JD94:-DHN.MGM=Q;TW3Y6WULT]'8\U;1]:_X3R#PK%JUV=!O1_:\=W)
M<N;N*%&59( Y^;#.4*G/RJS@=JT]*L/$-YXZG\&S:M<MHNGD:O\ ;4NG%W-!
M(S".V=P=V%=7);.2JH/6O4_[(M5NX[Z>"(7:1F))M@\X(2"5#=0I(!QTX%-:
MVMA>274=K#%<R1K$\RH/,9 20I?&2 22!TY-1[:_3I^/<Q_M7W+<BORVO9?'
M?X_7ET]==]3S;P9_PD,_C"YT"_U>::P\*N"+N.=A-J/FKNA$Q[A$)##)WM@G
MI7IQ;)YJM#86UO<W%S%;Q17%QM\Z9$ >7:,+N/4X' STJPD;2MA1DUE.2D[G
MGXW%+%U%-1459:+37[3^<KOR3LM$D+][@9Y]*H7%G_95TQV;H[G@Q=E;MGTS
MV/K6MO2U7"_/+_>[#Z54N$^T(RN2VX<\UF>?L4H)_.MCN8R1-E']4/0_Y[5+
M:L8X4=?F0_>5>Q[D52M)WBN7\P9;I(H'7'\8^H(/X&K]J!8EV?YK??E5],@'
M/^[S5")((4,LUPCA<[67TDXQC'IQ2W=V+R&82C:^.4]![5!(T@O))$P5906C
M'U/(I+P+<6C.I.0#M8=O\^E*P$N6M\$9>+\RO^(IYABNV@=R1$&R'7KT/0TZ
MS!D;;*?+V\D]B/;UJ&]8BZB^SKB)=S&+/X9^O-+R&327C;PLOW<85\<?3V-0
M31"2Z0@E9 A^<=1R/SJ562>/^\I&"#UJHA-O=/R6B"A<]=OU]N:: LI<8?RY
M!M?J"!PU1O%OO&=6*.(P P^IZ^M3.B31X;#*1ZU4AD,4\GF$E,A Y_K^=,1:
M2X&[RY!LD_1OI2*<W+^FT?S-+)&LJ;6Y[\'FJMO*8[B02G()"*YX!('?WYI
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
MR9K9L;D_>)ZK_A40X_PJGJNO:?X;LGOM3U&VTNTC^]<W<ZPQK]68@"O-;_\
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
M,9;2^U"(VIAO89'>YOCJ+K')!<_:,S#[*(4/ E'!(&,\:4XVI47;633?=O\
MR[&-25ZE57TBK+LD<KJ,B^"_!WA[2+1$A-V#JLAM+@S13/,Q55@=&7@I&HV!
M_P"%\^9@[=#X.7C-\7?!L5N8W@EU:$B.#"HX250SD*J1L <8<)C<,*Y.17,Z
M8BZ7X5N;K5S%<6NHPP+IFG?.'\O8-DD41+;%\MKA#\YWD%0/E(.Y\#I+9/BS
MX-V(?WNJ6CE8V+[E#85R%XV@X (!52,;(3C'H5(I4*G5V>O<XJ<FZT/D>I?L
MMZM=W/[9_C^UD:W>%!JI9HK58V#?;$&"VT,>G>OO!>]?"'[+M];R?ME>.;9-
M)AM)D&K;KF-W9I,WJ'YLN0#UZ >E?>"U\5G2MB8Z6]V/Y'V&4N]"7^)BT445
MX)[04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!C^,;2UO_
M  EK=M?/-'9364T<[VREI50H0Q4 $EL9P .M>(_#KX-:WJ\'@2ZU#Q!IEQX5
M\.LE[I26FB-8W\^$*H)R['9P<L HW'K7O>K:I;Z)I5YJ-XYCM+2%[B9PI8JB
MJ68X')X!KR:/]K3X>S6RW,<VMO;LF\3+H5X4*XSD'R\8QWKLHNMRM4U?Y7/J
M\IGFCPU2GE]*4TWJU'FM=-:>ZVFTWJFM.FS7LE%9?A?Q+I_C+P[I^N:5,9]-
MOX5GMY60H60]#M(!'XUIMT/:N1IIV9\O.$J<W":LUHT]TT>;:G9^/]?T>]6V
M\3^%X;&>-T6\M+*Y5XUY&Y9%N<!AZ^HKKO!-KK-EX8L8->U2UUK4HXPLE_:0
MF%)QV;:6;DCK@X)Z =*\4^&GA&30O!<-WX1U*W\TM-;7UEJ-K*--ULY9C)"I
M 8OMX\Q 0^T@A@ 1Z/\  VUMK3X>VZVMS'.CW-Q(\$-L]M':.TK%K=8G^:,1
MDE=I /'05V5HVBTGL^UCZS-*"I4*D(23C&:7\-1>SW=M-MKM/R::7H%%%%<1
M\@%%%% !1110 4444 %%%% !1110 5S'V[3O^%E_8_L)_M;^R/.^V[N/)\['
MEX_WN<UT]<Y_:TG_  L7^S/L$?E?V5]I^W[/GSYVWRMWI_%BNF@K\_H^MO\
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
M'&?I7F7BS]F@>);OQGK).GGQ#>:M'JFD27#22VQ6.&%%ANH2-CHS1L"-K8#
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
MR'CH']?KZ&HX%:",M'EEW$,F?<\BIDF63*2+M?'*GO\ 3UJ"$O:RR)C?$,,
M.2,_S% "9*W#R1'(=0Q0'&['!_'I5:4O$SO#\R@[T4C&W/W@?;^6:M7*;=ES
M 02.H/W6!ILR^9^_B!\Z/[T1XW#N#0@+5M<)=0+*A^5AT/45+6-',E@PFBW&
MVE/SI_SS)Z?A6O&ZR*'4[E/((H8#J**:["-2S,% &232$*Q"@D\ =:RKF<WD
MD?EG<#GRDZ!CW8^P[4MS(^I$HF$M!]]V. ?:I+*,R;I(U:-#P'<?-CV!JMAB
MR*(6AA7$DIP2!QA1_(9Q4EP@AMY'D?+D8ST ]A38'7S93"/,.=N[/''7)^M.
MFA&^(RD.V[<<]%QZ?I2 DP]QP<QQ>G1F_P *;'(L#3+C^/"H!R?E'2G>:\W$
M0PO_ #T8<'Z"FVL:(9I,Y+.<LQST ']* $N(FE@=I#MPN0@Z?4U/),L8&3G/
M0#J?I4%Q*TL#^6/EVGYV''3MZU-#$L8!^\Q'WFZT 0/&TD\,DGR@DKL!Z]QD
M_A5IF6-220JBJUU. 4"#<P=>G09..?SJ5(,MND;S'[>@^@H @7?-=,!F*-U!
M_P!IL?RZBK<:+&H50%4#@"H;F18I823@Y(  R3QZ?A2['G^_^[0_P@_,?J:
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
M'![$UUU)/V=K=OZ_X<^GQ]>;P/LO9.UH^]KY:MNTI)]%))*ZY=D<%X\\6O\
M"OQ\VIV]G8>()=<$<;Z/I]MC6R$4+OC*Y\Z,8R0^P+S\W:M?X2^)9O'U_JOB
M2>WTC3I'5;3^SH(R=1MMI)VWCL%(;GB/;A><,V<USOC;4[OPG\4+J[\#Q?\
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
M)\.KIC;W-_.9FUO6%D9OOG[\-JS'!&%,F ,B.OIS I(!M%.P*,"F(;13L"C
MH KH?+G=#T?YA]>]34RXBW)N7 =>5)I8765-P_(]J (E/EW+(>C_ #+]>_\
M2IZ9/"73*<2*<J:6*194W#CL0>QH B4^7<LO:0;A]1U_3%3TRXB\R/Y>''*G
MWH@E$JDGAAPRGL: (T/EW++CB3YA]1U_I4U-GA\U,#AARI]#1!*)5^8;7'#+
MZ&@!B9CN'4_=?YE^O>IJ;/#YB<':P.0?0TD$@E!W#:X^\OH:!C$^2=T/ ?YE
M_K2& QDM$=I/5#]UO\*DFB$B@J=KC[K>]$$HDR&&UQU4]J (+68>9)"058'<
M%/H>N/7FGM"8SNB('JAX!_PI;NU%P@(.)%.5;TJ**Y=<K(I;'!XRR_4=_J*8
M!93*RFW9=KIQL;J5['W':EF@8(RQ$E2/NYY'T-+<6Z72I)&5+K]U@?TS217+
M)\L@+8ZG'S+]1_44 +!+'>P*2,,/O*>"K?TJ.=I+5DD8>8B\,X'('O\ CBG3
M0+(WVB$_,>I0C+?3_P"O2Q78Y$N#CJ0",?4=J %,(=-\)4AQRO57J*!A*3&Q
M:*XCX!)Y8>ON*3R&LSNAYB/( Y _#T^E$ABOPH)\N9/N,&Z?0]Q3$1N@64PR
MIL\S.QP/E_W34-O)-IMP8BI*'GRQSGW7^HI\^IQ6X:&[(<'C"_,?T_G5!M0F
MEAV(&FM3TD!!=1V^;H/KS3W"YNR7T2(K*WF%N52/EF_"LPM-JLGS?ZH'&R,X
M4?5O7UQ6>LLEJ3(\OVA&X**203Z.>N?IQ[5JVMT+X%7D6UA5?]2IVMCZ^GTH
MM8+CMD<CI&?WD:'B.,<$CV]!ZFK%QYDBB,OY9;("H>@]2::)UA3R;.#+ 8 (
MV@"I$M%4M)<2;V)R<\*/;Z5("I(BIY=NFX 8!Z*/J:9#%YTSRRD2!3M3/W1Z
MX_'^5+)<F4^5;#<_&7(PJC_/2I(K4;0';<!T4<+_ /7_ !H&))=A58Q@N%')
M[#\:;;VN8D,YWMUV_P ()YZ4VXF1I1;HI<]7"#/'8&I?+EE^^PC7^ZAY_/\
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
MZ5^6VF0O]H0LL8+RH98V('F'=A%&1Y;G."SR+U^X&/S5^I$)"PW&.<W![?\
M3-/;^=>)Q"U>FEY_H>UD2?OW\OU(;8[7DC_NMD?0\_XU/5:8^0ZRC[OW7/H.
MQ_.K"G(KY$^K1#$=EQ*AZ'YU_K^M3U!<(0%D0$NO./4=Q4D4JRQAU.0: (E_
M=7)STEY'U'_UJL"HYXA*F.A'(([&FP3E\J_RR@<CU]Q0 V3]Q.'/"/\ *Q]#
MVI\ELDC;A\C_ -Y>#3W"R*5/((Z57$C6N%?)C[/UQ]:8#',UM()"/-0##!?O
M8]<>M3QW$5PH*L"/0]?RJ4,K@$$$>QJM-:#)9,#O@]/P/44 )+9%&\VW.R0=
M1_"P],4L5XQR'0DCKLY(_#K_ #I@FFBZASZAQN'X$?X4QKRVD/[W"/\ WL]/
MQZC\<4 2S117@#HPWK]UQU%,#36_RGD?[0)'YCD?B*81!)REP7/K'\Q_,#-#
M&X4#9)(R_P#3154?GB@!9+NVE \UA&?[Q(_GT_.JS7JQ-B!S*>GR+A?UX_*@
MR^:,2AW Z[<NI_'IC\*>EM"&#+((B>@@.YC_ )^E,"M="[NF7SU2%,8_<\R'
M\.#BDM=+@@*E;B2 J.K, Y_#&!^57HXKB-24"*O]^4?O#]<<4WSH6SNADG=>
M"SKN4?CT%.XB)-.&#MA1\]97R'/N,]_?BFF"S5L;9'D VXN/G7Z$G('T!JSY
M*NF?M.U/[L;_ "#ZY[4Y)9F4+#$DB#HS J/PZT@*K:1&X5Y8TV(/E6W8*H_
M\&HUA,9Q;2R0*/XI/E3\\$'\,5;:&%3OGC=6ZY P!_WSG]:<+@R,!;S<#J9<
M$#\.M%P(!$R_/*YG(Y#%L@?3D?RJ5)Y2H6*+R8\??\H_H*?]D'^LF2*<@?><
M8 _H*;EI ?)@DQ_>$AV?@,C- Q0B1?-++*YZ%MI _ETIRS.Z!;:W*(>=[C:!
M^'7\<4B08P9/M$A'<]!^%2X!_P"?@CZT@$CLWR3(X!/4J<D_C_A4@DA@&Q "
M?[J#)_2H]D1ZV\CGT?G^9J17<#"0"/V9@/Y9H /WL^./)4_]]?\ UJ>/+MDQ
MPBCN?\:85F?[SJ@_V!D_F?\ "D MX3N=P7]7;)I *9)+CB(;%_OL/Y"I8XA"
MN%QZDGJ?<U%Y[-_JXW.>[C:/\:#"\G,K$_[*<#_Z] "M.TORP@,>[_PC_$T^
M&%8E(ZDG)8]2:1I(X %XSV11R?H*9^]F)SF*/\V/^%,!TL_.R,!Y/3^[[FG0
M0>4"2=SGEF/>A5C@3C"CJ23_ #J,SO,<0CC_ )Z,./P]:0#YIPF%"[G/W5I(
M(2F68[G/4_T^E+#$D63G+'JS'DTV6XVMLC'F/Z#H/K0 ^698EYR2> HZDTV"
M(Y,CG,C>G0#T%$4)5][G>Y[]A]*FQB@ HHHH **** "BBB@#Q#QSX4UKX0^*
M-4\?>";*?5-%U-O-\4>%;,?O9FQ@W]F.URJ@;X^DH4?Q@$P_"GQ19>"O"WPZ
MT/P:WB7XI^&]=N+KS?%MU=BY;3QGS/\ 2F(!7YF*!2%(V$'YN#[K7D7BSX.Z
MMH'B2]\8_"_4+;0/$%VWFZGHMXI.E:TW]Z55YAF_Z;Q\_P!X.*0SUBVNX+Q7
M,$T<X1VC<QN&VN#@J<="#U%2U\K^&/$4/AC1Y_!'P_L++X/?$C5-;&K7NC>,
MS+-#>EV7[2UI-EDN P50OEG@ Y5"<CW:W^)<4OQ*UCPC-H>KV<6FZ:FI/KUS
M;[--D5C@QI,3RX')&/X6]*+A8[*N3\5^ / VMA[KQ+X;\/7X8X:;5;&"3)]S
M(IK5\*>,-$\<^'[77/#^J6NL:/=;A!>VD@>*0JQ1@"/1@1]15'XD^![3XD^!
M=:\,WRP&WU*V>W+W%NLZQEA@.$;@LO4>A -,#C?AUX(^#/BS2;?6_"?@[P>T
M$X9DEM-'M4?Y6*DD*F1R#7JD$$5K"D,,:0Q(-JQQJ%51Z #I7EO[/O[.WA[]
MG/0-2T?P_(UU;7=S]H%S=1)]JQM V22J!O (8KD#&XCWKU7/..]) PHKSOQ5
M\<_#VB> =;\5Z)'=>.;;2+S[!<V?A=%O+@3B14=-H(Y7>&// YK"^(_Q"NO
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
MI";O]3DG<^_=QMQQ7L7PLCUF/2]4&L17 7[?(+.>_ABBN[B !0))A$ N[(8
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
M]O\ ZU/59).87>-/5VW?IVH2YC@.U8&+]PB[R?J<_P Z8YCG/S".V)[,,/\
MAZ?AF@!YA:'#R2),>S2?T_\ K"AYIIA_QZ@X_B;D?@#@T^.QCX9)'9O[Q?<?
MUS4OERC[LJG_ 'TS_*D,JBV@R#)'*6]0A _):E#0#_EX:/V9\']:E G'\,;?
MB1_2E\R=>L((_P!AL_SQ0(C4JW2[/YJ?Z4X;@>+G(]P*1F!^];,#[A3_ %I"
M\8&/L['/;8*0Q0N23]JQ] O'Z4':#\UR3[Y4?R% >)?^79O^^!2AT_AMV^NT
M4 1DVQ',YE/H),_IFG(\:_ZN%L>H3'\\4\2OV@<?[S#'\S1F;_GG&OU8G^E
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
MHZX_W?\ Z]'E.>LI^BJ!_C2L@)/-E8?\LU^@)I"2.9)V ^H45"RQ*/GF./\
M:DQ2*85)*1ECZJA.?QIV <)+;LK3GU +C\^E2K</T2((/]L_T%1^9*WW8@!_
MMG'\LT;)6X,@0>B#'Z\T6 DRYSOD*^R#:/US3%G@1CM4R-ZJ-Q_.@6L8^]F0
M^KG-2 !>@Q]*- $-Q*_W4$8_VSD_D*/+#?ZPM)ZC.!^0IU%(!Z.L8PJX'H*5
MI0P.5S]:CHHL -'"W6%,^NT4GEI_"9%/LY_E2UGS:_I]M,\4MU%'(IPRL3D&
MBP%_##I(_P"A_F*-TR_=D7'^TF?Y8K-_X2;2_P#G]A_.C_A)M+_Y_8?SH T0
M\P_B1CZE2/ZTIEFS]V,CWS6;_P )-I?_ #^P_G1_PDVE_P#/[#^= &D99<=$
M/US0))O2,'OC-9O_  DVE_\ /[#^='_"3:7_ ,_L/YT :1>8_P :#Z*?\:/G
M/65Q_NA1_2LW_A)M+_Y_8?SH_P"$FTO_ )_8?SH T=@/5I#]7/\ 2G+'"O2)
M<^N 369_PDVE_P#/[#^='_"3:7_S^P_G0!KB7';]:7S_ &K'_P"$FTO_ )_8
M?SH_X2;2_P#G]A_.BP&QY_M1Y_M6/_PDVE_\_L/YT?\ "3:7_P _L/YT6 V/
M/]J//]JQ_P#A)M+_ .?V'\Z/^$FTO_G]A_.BP&QY_M1Y_M6/_P )-I?_ #^P
M_G1_PDVE_P#/[#^=%@-CS_:CS_:L?_A)M+_Y_8?SH/B;2P,F]AQ]:+ ;'G^U
M'G^U9'_"2Z7_ ,_L/YTG_"3:7_S^P_G18#8\_P!J//\ :L?_ (2;2_\ G]A_
M.C_A)M+_ .?V'\Z+ ;'G^U'G^U8__"3:7_S^P_G1_P )-I?_ #^P_G18#8\_
MVH\_VK'_ .$FTO\ Y_8?SI?^$ETL_P#+[#^=%@-?S_:CS_:L?_A)M+_Y_8?S
MH_X2;2Q_R^P_F:+ ;'G^U'G^U8__  DNE_\ /[#^9H_X2;2S_P OL'YT6 V/
M/]J//]JQ_P#A)M+_ .?V'\Z#XFTL=;V$?B:+ ;'G^U'G^U8X\3:6?^7V'TZF
MC_A)M+/_ "^P_G18#8\_VH\_VK'_ .$FTL?\OL/IUH'B;2STO83^-%@-CS_:
MCS_:L?\ X2;2_P#G]A_.C_A)M+_Y_8?SHL!L>?[4>?[5CCQ-I9Z7L)_&C_A)
MM+_Y_8?SHL!L>?[4>?[5CCQ-I9Z7L)_&E_X272_^?V'\Z+ :_G^U'G^U8_\
MPDVE_P#/[#^='_"3:7_S^P_G18#8\_VIB>5'+)*L*K))C>X !;'3)[UE?\)-
MI?\ S^P_G1_PDVE_\_L/YT6 V//]J//]JQ_^$FTO_G]A_.C_ (2;2_\ G]A_
M.BP&LT@88*Y'OS49CA)R(]I]4^4_I6;_ ,)-I?\ S^P_G1_PDVE_\_L/YT6
MT=F/NR2#_@6?YT?O!TE)/^T ?Y8K._X2;2_^?V'\Z/\ A)M+_P"?V'\Z -(2
M3#^),?[I_P :0R3>D9/?.:SO^$FTO_G]A_.C_A)M+_Y_8?SH \*\5?'#Q3I^
ML^)+FW6:W\.2^=::1>&UC:$3VQ4RLK<LV\+<\,, 0#'4UJ^)O'VM^(SKM_X:
M\8-;Z1:ZMI=C:W.D1VEQ!*)VA68;Y(I Q'F'H>">?2O8/^$FTO\ Y_8?SH'B
M72@,"\@ ]C2L.Z/%=3^)7Q!T47D-K''JL%KXC?38KV5X_/N56#<(3$L2CYF
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
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
MKU[_ (4UI7_/W>?]]K_\31_PIK2O^?N\_P"^U_\ B:.9!8\AHKU[_A36E?\
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
M^G4Z:BBBN<[!BJ5%*![TZB@!,4FVG44 -"^M&WUIU%*P#=M+CZ4M%,!NSV%
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
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 5S'V?2O^%E^?\ :I?[<_LC9]EV_N_L_G9WYQ][=QC/3M73US'VG2O^
M%E^1]EE_MS^R-_VK<?+^S^=C9C/7=SG'3O730O[]K[/;]?(X<5;]W>WQ+>_X
M6Z]NAT]%%%<QW!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% 'SY^T1H&JZO\</V?[RQTR\O;/3M
M>O);RXMX&DCMD-J0&D8#" G@$XYXKT7XZ>*=;\%_"'Q9K7AK3KC5O$%II\KV
M%G:P--)).1M3"+RV"02!V!KO<"DVCTH&?#_[/OQR\/?!7P1!9GX1?%R^\2WX
M%YKVLR>$GDFU"]8 RR-(7!*ALA0>@QQG->[_ +2&J>-X/A[X>\4> X-4ENM)
MU>RU;4=%LXQ]JU#3USY]KL(.6*L#M'.5P#7M6!2;%]*0'QOX]\;O^UG\1/A3
MI'A#PQXDLM,\,>)K?Q)K&MZSI4MC%:K;JV+96D W2,6P0.F <G%>V_%/]E[P
M1\8_%5IXC\0+J\>K6MI]ABGTS59[/$.\OM(C89Y/?T'I7KFT48Q18#X__9H_
M9RLOAO\ M-_%#4X;/Q!!I]A]DBTBZU&[N)(;I9(#YI+.<3%3W))7VKNOB'\:
M?$_P3^-5]-XGTG6=7^%VIZ9"VGWFB:4UV=/O49A*DWEC<%<;2"<\\<<U]#8%
M!4&BP7/FC]E_0]9\3_$_XH_%O5="O_#=GXJFM;32;#5(3!=O9V\9"S21GE-Y
M;@'L*Y;P[XPD_9-^+7Q1LO$7A?Q%J'AKQ;JQ\1:1JVA:7+?1O/*H$ULYC'R2
M;QD \8/6OK_8/2EVCTHL%SY\_8X\$Z[X?\)^,?$_B33)]#U3QMXFO?$0TJY&
MV:S@E*^5'(O\+@#)'N,\U4^%>B:SKG[7WQ;\6ZMI5[:6-CIUAX?TBYNK=DCE
MA&9I3"S##J9#DD<9KZ.VCTH  HL #I2T44Q"4444 +1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !7"?\US_P"Y<_\ ;JBBN["?\O/\+/*S#_ES_CC^IW=%
M%%<)ZH4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5Y
A%^T9_P @31_^OE__ $ T44#1X.W^K/\ N_THHHJ"C__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>csiq-20221231xex2d1g002.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 csiq-20221231xex2d1g002.jpg
M_]C_X  02D9)1@ ! 0   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" 5X U$# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]4Z*** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **XZ#_A/_L%UYW_  C?VW*?9_+^T>7C)W[\\],8Q[YJ
M9O\ A./,TW'_  C_ )>T?;L^?G=O.?*]MFW&[OGM76\/;[<?O/.6,NK^RG]W
MG;_@^AU=%<FO_"<[]1W?\(]MVG[#CS\YWC'F^VS=]WOCM4<__"?_ &&T\G_A
M&_MF7^T[_M'EXR-FS'/3.<^V*/J_]^/W@\997]E+[O.W_!]#L**YB3_A,O[3
MO]G]A?V?LD^Q[O.\W?C]WYG;&>N/PJJ?^$__ ++3'_"-_P!I><V[/VCR?*VC
M&.^[=NSVQBA8>_VX_>-XRU_W<NO3M_6AV-%<Q_Q67]L+_P @+^RO+&[_ %WG
M[_+YQ_#CS/QV^]54_P"$_P#[,FW_ /"-_P!H^:GE[?M'E>7AMV[ONSMQCC&?
M:A8>_P!N/3KW_K4'C+7_ '<NO3M_GT.QHKEU_P"$T^WZ=N_L'[%MC^VX\_S-
MV?WGE=L8Z;OQJ"+_ (3W[+?>9_PCGVCY?LFW[1L^]\WF=_N],=Z/J_\ ?C]X
M?7/^G<NO3RO_ ,!>9U]%<D__  G?EZ?L_P"$=\S!^V[O/QG><>7_ , Q][OG
MM3_^*W^UZE_R /LVU_L/^OW[MPV>;VQMSG;WQCBCZO\ WX_>'US_ *=R^[RO
M_P #U.JHKCIO^$__ +.MO*_X1O[?O?S]_P!H\K9\NS;WS][.?;'>K3_\)E_:
MUSM_L+^S/+?R,^=YV_9\F[MC?C..WO1]7_OQZ]>W]: L9?\ Y=RZ=._^74Z>
MBN._XK_^R_\ F6_[1\[_ *>/)\K;^>[=^&*M)_PF7]JVN[^PO[,\M/M&/.\[
M?L^?9VQNSC/..O-#P]OMQ^\%C+V_=RZ=._\ EU.GHKCH?^$__LZZ\[_A&_M^
M^/[/L^T>5M^;?OSSG[N,>^>U3_\ %;_:M-_Y 'V?:GV[_7[]V\[_ "NV-N,;
MN^<\4/#V^W'[Q+&72?LI?=YV_P"#Z'545R2?\)ULU'=_PCN_'^A8\_&=X_UO
M_ ,_=[X[4V7_ (3W[+9>5_PCGVGYOM6_[1L^]\OE]_N]<]Z/J_\ ?C]_E?\
MKS#ZY_TZE]WG;_@^AU]%<NW_  FG]H:AM_L'[#LD^Q9\[S=W_+/S.V/7;^%5
MG_X3_P#LR+9_PC?]H^:WF;OM'D^7A=N.^[.[/;&/>A8>_P!N/WC>,M?]W+[C
ML:*YC_BLO[9/_("_LKRSC_7>?O\ +X_V<>9^.WWJJO\ PG_]EOG_ (1O^T?.
M7;C[1Y/E;3NSWW;MN.V,T+#W^W'IU[_UJ#QEK_NY=>G;_/H=C17,1_\ "9_V
ME8;_ .PO[/V1_;-OG>;OQ^\\OMC/3/XU6A_X3_[%>>=_PC?VS*?9MGVCR\9.
M_?GGIC&.]'U?^_'[P>,M_P NY=>G97_'IYG845R;?\)SG3MO_"/8VC[;GS^N
M\Y\KVV8^]WSVI1_PG'G:EG_A'_*VM]AQY^[=O&WS?;9NSM[X[4?5_P"_'[P^
MN?\ 3N7W>5_^!ZG5T5QT_P#PG_\ 9]KY/_"-_;MS_:/,^T>7CC9LQSG[V<^V
M*M2?\)E_:E[Y?]A?V=Y<GV3=YWG;]O[OS.V-V,XYQTH^K_WX]>O]?(%C+_\
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
M_P S=G]YY7;&.F[\:AB_X3W[-?>9_P (Y]H^7[)M^T;/O?-YG?[O3'>CZO\
MWX_>'US_ *=R^[RO_P #U.OHKDG_ .$[\K3]G_".^9@_;=WGXSO./+_X!C[W
M?/:G_P#%;?:]2_Y 'V7:_P!A_P!?OW;AL\WMC;G.WOC'%'U?^_'[P^N?].Y?
M=Y7_ .!ZG545QTW_  G_ /9UMY7_  C?V_>_G[_M'E;/EV;>^?O9S[8[U:;_
M (3+^UKC;_87]F>6_DY\[SM^SY=W;&_&<<X]Z/J_]^/7KV_K0%C+_P#+N73I
MW_RZG3T5QW_%?_V7_P RW_:/G?\ 3QY/E;?SW;OPQ5I/^$R_M6UW_P!A?V;Y
M:?:,>=YV_9\^SMC=G&><=>:'A[?;C]X+&7M^[ETZ=_\ +J=/17'0?\)__9UU
MYW_"-_;]\?V?9]H\K;\V_?GG/W<8]\]JG/\ PF_VG3<?V!]GVI]N_P!?OW;S
MO\KMC;C&[OG/%#P]OMQ^\%C+I/V4ON\[?\'T.JHKDD_X3K9J.[_A'MV/]"QY
M^,[Q_K?^ 9^[WQVILW_">_9++RO^$<^T_-]JW_:-GWOE\OO]WKGO1]7_ +\?
MO\K_ ->8OKFE_93^[SM_P?0Z^BN7?_A-/[0U#;_8/V'9)]BSYWF[O^6?F=L>
MNW\*K/\ \)__ &9%M_X1O^T?-;S,_:/)\O"[<=]V=V>V,>]"P]_MQ^\;QEK_
M +N7W'8T5S'_ !67]LG_ ) 7]E>6<?Z[S]_E\?[./,_';[U57_A/_P"RWW?\
M(W_:7G+LQ]H\GRMIW9[[MVW';&:%A[_;CTZ]_P"M0>,M?]W+KT[?Y]#L:*YA
M/^$S_M*PW_V%_9^R/[9M\[S=V/WGE]L>F?QJM#_PGWV*\\[_ (1O[7E/LVS[
M1Y>,G?OSSTQC'>CZO_?C]X/&6_Y=RZ].RO\ CT\SL**Y-O\ A.<Z=M_X1[&T
M?;<^?UWG/E>VS'WN^>U*/^$X\[4L_P#"/^5M;[#CS]V[>-OF^VS=G;WQVH^K
M_P!^/WA]<_Z=R^[RO_P/4ZNBN.G_ .$__L^U\G_A&_MVY_M'F?:/*QQLV8YS
M][.?;%6I/^$R_M2]V?V%_9WER?9=WG>=OV_N_,[8W8SCG'2CZO\ WX_>"QE_
M^7<NG3NK_AU\SIZ*XX_\)_\ V6N/^$;_ +2\XY_X^/)\K:,>^[=GVQBK0_X3
M+^UXL_V%_9?EKYF/.\_?L^;'\.-^<9YV^]#P]OMQ^\%C+V_=RZ=._P#EU.GH
MKCHO^$__ +-G\S_A&_[0\Q/)V_:/*V8;?N[YSMQCCKGM5@?\)K]MTW/]@?8]
ML?V['G^9NW?O/*[8VXQN[]:'A[?;C]X+&7M^[E]WG;^O(ZFBN1C_ .$\\B_W
M_P#".^=Q]CV^?M^\,^9_P'.,=_:B3_A//(L-G_".^=S]LW>?M^^<>7_P'&<]
M_:CZO_?C]_E?^O,7US_IU/[O.W_!]#KJ*Y8_\)K]MU+']@?8]LGV'/G^9NW?
M)YO;&W.=O?I5>7_A/_[-@\O_ (1O^T/,?SMWVCRMF%V;>^<[LYXZ8[T+#W^W
M'[QO&6O^ZE]WG;^O([&BN8;_ (3+^UYL?V%_9?EMY>?.\_?L^7=_#C?C..=O
MO54?\)__ &6<_P#"-_VCYPQ_Q\>3Y6TY]]V['MC-"P]_MQZ=?Z^8/&6O^[EU
MZ=O\^AV-%<)_Q<W_ *E/_P FJ*OZI_T\C]YE_:'_ $YG_P" _P#!.[HHHKA/
M5"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "F+/&TSQ"13
M*@#,@8;E!S@D=LX/Y&GUYQ\7?B-JWA*[\+^'O#-G:7GBKQ->/:61U$L+6V2.
M,R33RA,,P51PJD%BP&1UH ]'HKSSP9J7Q#TG7-2L?',6B:AH\5H+NW\2:+$U
MG&&!(>"6VEFE<$#Y@ZL5(SG!Z\=\#?C_ *M\2]0\06VM:9:Z67M1K?AX0AP;
MO2G>2..23<QRX,8+;<#$B<"@#W2BOE?P3^U[K7B3]G[Q3XFU#2+#2_'FAV"Z
ME_9K*YM;JVE;]Q<1C?N*$94C=D.A!/2NT^-'[0.I_#;Q/H-EIFG6E_IUO:IJ
MWB>:4.7LM/>>.!7CVL &W.[_ #9&V%^.] ['NE%>,>.?'OCZ[^,UCX)\$W7A
MFRMW\/G6I+O7+"XNBY^T"((GE3Q@#!!R0:Y^;]HCQ/I6FW>F:KI.E6_B[2/%
MFF>'M2%N9)+.:WNW0K<0Y(924<X5B=K*<[A0(^AZ*\.\5_M :AX?^.5CX:AL
M+27P;!/:Z7J^JN&\ZVU"[61K9%(;:%^2,-D$YG3D=XD_:)O=+_:4U?X?ZWIM
MO;>&-MI;:;K488$7TT)E%O,2Q'SJK;" .4(.210![M17!?!GQ]?_ !%\-:IJ
M.HP6T$UKK>HZ:BVJLJF.WN7B0G<Q^8JH)[9Z =*\ATC]H/QQXJ\2ZU;Z-=^"
MQJ>EZK)9-\/M0,EOKDMNDVSS1/).J!G0>8H\DH00-W>@#Z;HKQJZ\?>._'_C
MSQ-H/@)] T73O#,D=I?:KK]I->M<7;QK*88HHIHMJJKIN<N>6P%XS6)X=_:)
MU[4_%'A+PUJ&DZ?8ZY)XCO/#NOQ1L\L:/#9O<)+;-D';(/+8;P2 Q'49H ^@
M**X3XU?$"\^'/@2>_P!)MX+SQ!=W$&G:3:7(8QS7<T@2,,%()49+-@@[5->;
M>(OVB=:A_9]T?QC81Z1IGB2;5K70]2CU2.22TL+DW0MKG<HD1MJ-N89<<8R:
M /H2BO!/!/QJ\13?%_1?!FI:]X,\:V^J65S=/=^$8Y8I-.,04@SHT\XV/NV@
M[E.[L:ZSXH?%#5/!/COPCHEE;VDUKK%GJMQ.]PC%U:VMQ+&%(8  DX.0>.F*
M /3Z*^7?"'[6^L>(OV>]0\4W>D6&F>/-+%@]YI,BN;=X;J6(17$8W[C&\<A(
M^8X96!SCGN?^$]^(7Q&\6>*[+P%)X<T?1O#5X=,DO-?LY[R2_O%17D1%BFB$
M4:[U7>2Y)S\O'(,]IHK"\#ZGK>L>%-.N_$FC+H&NR1_Z9IZ7"SI%("0=KJ2&
M4XR.^",@'-;M @HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH *\V^,/PZUGQ9<^%_$/A:ZLK;Q5X8O7N[)-3WBUN4DC,4T$K("R!E;A@"0
M5'!KTFO//C5\0O$7PP\*3^(='\/:9K]C9INNTOM7DL95RZJOEA;:8/RW.2N,
M=Z .%\6^ OC'\3-$\1PZGJ>@^%H]3L$TF#1M,OIKF&**21?M-T\[0(S3>5N6
M-%0*,\MW#IOV7K3P=XL\&Z_X N;NTN-)\S3KZ#7-=O[V*73)(BKQ1+,\H1E9
M8W55"J=N"1Q72VOQT@T'QF_ACQ[_ ,(_X/U!=+CU)9AKPE@DWS21B-&FA@+$
M",,3M_BQCC)XO3OVKKOQ#-HZ:9H_A:Q2_P!(75O.\2>+#I\>UKB6$)$RVDOF
M']UN)^7AA]:!G/>-OV0M<\1? +PCX=TW5M.TOQ[H>G#2Y+\/(;2[M78>?;NV
MS<4. ZG9D.H.!DUUR_LLV'C77/&^L>/[B\N[S7I!9V\.B:[?VD$>FQQ".&*1
M(GB61LF1V#JPRY )%>TVNM>7X9CU;4C:P!;3[5<&SN#<0( FYBDA52ZXSAMJ
MY'.!7GGAKXO>)M8L]*\07W@F.P\%:I"UU#J46J^=>6L'EF1);FV,*JBLH'W)
M9"I901UP >>^&/A'\8? WB'PMK5G_P (CXCO]+\,MX:G?4]6N[;S46YWPS I
M:298QJ@8''S;L$CFM"Y_9X\4ZMIEWJFJ:GI$_B_5_%FF>(-1\@RQV<-O:.@2
MWA)4NQ"(<,P&YF.=HKI=.^.FN'3_  ]XCU;P=%IG@G7KB""TU!=5\V]A%PP6
MWDN+;R55%<L@^25RN\9'7'.1_M>VS?!/Q'XZ?PQ(FI:1J#Z>N@B^!:X(.4<2
M^7PK19D/RG 5ASC- &?+^QY!XF\!>)SXEU.]_P"$_P!>NKG4Y;W3M>U!-/AN
MRY:U86XD2)Q$%A&6BR=GTKH-._9_U3Q7%X]'CV;3Y)/%-CI2&72)I&>UO+6
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
MLK@H./FXPX/VH]5U!P;?PYX<TV-=%MM;?_A(?%1L&:*<R[%C'V1PQV1!CDJ
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
MQ1XLUCX[>*K'Q)8C18H-!T^6#3+?5&O8%+3W(:4?(@5FV@'"YPHY] #6\)_
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
M-8II%,8)>15^56/4XXZXXH$<1X8^#GB?P[:Z/X>'C:-O VD2@VUA;Z:T5_-
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
M^A_$.MR?%GX1>+M(\*Q:SI^L2:3+:0MJ^C7NE'S7B8*$-S%'NYX++G&1G'%
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
M7:&VM@D?P]: /3+#Q+X$;2K+Q99:KX=.FM&NG6NN07$'DE#(%6!)P<8,@ "
MXW #&:R?B/I_PHT7P[96'CNW\(:=H?GO):VVOK:Q6_G,2SM&LN%W$LS$CD[B
M3U->5?$+P_XG^.5KX9\-6$%SJVD6UE=7VHZIXHTRZT5;B=P]O HC,"L)$WR2
M ;1]V-NXS'X$\1ZWX<\5V7BCXA^&M<EGE\.QZ$UQ9Z+=7QAO+>>9;C$<4;.(
M[@&*19-NQP ,\ 4 ?0?AZ[\/6MO:Z/H4VF0P0VD<]O8:>\:JELV0CI&G C."
M 0,'!Q6#J_A/X<>+7M_&FIZ1X7UAK2/S8O$%U;6\_E(A)W"X8' 4@G.< CM7
MD?A3P+XCUCXD17^A0:K\*-*/A:WCCM(;""=%/VRY80L98V17"LKE%Y7?@]*9
M8>"M>C_96\%Z?<Z/?WUSI6H6E[JFCO;%;F[MHKTR2IY) W,5 ?9CYL8 .0*
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
MQ/K_ (6UCPYKGBCPEIOA.XM-,U'3C^_GM)+RV=+<2,"#<P+&^%.3(L:<')H
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
M5>SU""26$::L2*+91$LNV0QNIDRW5F/ JCXQ_9=3QQX,\5:7?^)&BUS6;_\
MM*WUNULMC64K6L=M*!&9#O1U1PR[AD28Z@-0!/<_'[Q*D?BW5K7P197GA?PQ
M,([^X37&%^4%O%/(\=L;;8P59>AF!.T^PK5U[X\&#Q+#H/A_1%U[4+YK:#3M
M]W]GBEED@>XD,C[&,<<<(C<L%9B9% 6LFY^ 7B9XO%NDVOC>PL_#'BB827]N
MFA.U^J&WB@D2.X-UL7<L74PDC<?8UJS? >2VLK.ZT?6TTOQ)IVKS:I8Z@]IY
MT**\?D"WDBWJ7C\@)&<.IR@8$=* ,?Q%^T7JWA)+G2M7\+Z;8^++?4+"T:UF
MUQETYH;LNL=R+O[/N" Q.&!A!!7N,$]9\*?BW+\1-7\1Z3=6&G6]]HC0"6XT
M35?[2L91*I90LWE1D.-OS(4!&5/.:YV]_9XN/%6HG6/%FO6FL:W/J>GWESY.
ME^79_9K0NR6L<+RN0"97)=G<DMTQ@#L? 'PPB^&^N>(&T:\2W\,ZG*MW#H*6
MP6.QN3GSFB8-@))\K>7M #;B#\V* /-K/]J2\DGMY[C0="73)]>;0DM[7Q+Y
MNK%A=-;"3[&;901E=Y42DA<GG%;EC\?-1\37EMH_AOPQ!?>(I[O4HS;WVIFW
MM8+:SN3;M/),L+L-[;=J+&QR3DX&:99_LUV.D:?I]SI6I6^G>+M/UFYU:W\0
MQ:<OF,D]P\DMM*H<&2-DD,9!<=%88( ID/[/=_H<D>I:!XDM+?7EN=3,CZEI
M1N;*ZM;VY,[VTT F1CM;;AUD'0Y!!Q0!I3_'@>&K[PU9^,M)M?"4FJWEY93W
M-YJL?V6$P1>8LD<K*OFI)D ;A&PYRN1BL/7_ -H_4_\ A$/%/BCPIX>T3Q+H
M?A[5)-.GN'\0M#]H 6 K)"8[656!,Y!!88V=3G =X$_9<T_P?JND:A)=Z9(;
M;4[O5+G3]/T6.SL'>>V2W"0P!V\I5"*W)<DYY&:WM0^!,-WX*\>>'8-42SA\
M4:J=262.S&VTRL"^6$#C?_J,YROW^G'(!E^,?CGXB\%:IH6A:EX?\,V7B'4[
M>:Y"W_BA[:P<(X40P7+V8,L[ Y\ORU '.XUZQX=U2;6]"L+^YL)]*N+F!)9+
M*Y*F2!B,E&*D@D'C(.*XWXC_  \U_P 6WJRZ5K^F06$UJ;2\T7Q#HQU2PG&[
M(E$8FB*R#)&22", CC-:GPV\"W7PZ\.Z7X?CU5=0T?3K"*U@62V*S^8I;>Y?
M>5V$%0L84;0OWCQ@$=?1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %,,,9F$IC4RA2H? W '&1GTX'Y4^B@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBO'/&?A:W\=?'BSTC4]0UN'3
M(/#3W:VVE:Y>Z<AE^U*N]OLTL>X[>/FSB@#V.BO-/^&>?"7_ #^>,/\ PM]:
M_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\
MY+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z
M/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_A
MGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\
M)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_
M #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _
MGC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP
M_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\
MPM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?
M6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_
M .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#D
MN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H
M]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z
M*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-
M/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_A
MGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\
M)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_
M #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _
MGC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP
M_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\
MPM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?
M6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_
M .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#D
MNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_
MX9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>
M?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE
M_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\
M/YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>
M,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_
M ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"
MWUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:
M_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\
MY+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z
M /2Z*\T_X9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#T
MNBO-/^&>?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HK
MS3_AGGPE_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_
MX9Y\)?\ /YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>
M?"7_ #^>,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE
M_P _GC#_ ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\
M/YXP_P#"WUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>
M,/\ PM]:_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_
M ,+?6O\ Y+H_X9Y\)?\ /YXP_P#"WUK_ .2Z /2Z*\T_X9Y\)?\ /YXP_P#"
MWUK_ .2Z/^&>?"7_ #^>,/\ PM]:_P#DN@#TNBO-/^&>?"7_ #^>,/\ PM]:
M_P#DNC_AGGPE_P _GC#_ ,+?6O\ Y+H ]+HKS3_AGGPE_P _GC#_ ,+?6O\
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
M/S".,'UV+G[HJJ_PZ\*/XF'B-O#.CMXA#;QJIL(OM6[;MSYNW=G:-N<]..E
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
M<5D:?\ ? VE7MC<6FCS0K9&W>*U&H7)MC) @2&5X#)Y<DB*J@.ZEOE4YR!@
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
M"%=VL7A.V%]Z9)ER3D_,QY<?*Y8<4 =)4-Y<?9+2>?89/*1GV+U; S@5B_\
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
MA"^?F#*1QR",=:Z%?%^@O87E\NMZ<UE9SFUN;D7<?EP3!@IC=LX5PQ VGG)
MKYZT[4=9\)_%SQ^9M7\7:'8WFOQW,5KIW@B[U*VO(OLMNI<7,=M(H!*LIPW&
MT]*XCQ+\,O%_AWPOXLU70="U*\A\2^*+B'6-'2V?S2HU(/;:A''C) 0;7(',
M95OX*!GUIXN^('A?X?VUO<>*/$FD>&X+AS'#+J]]%:K*P&2JF1@"<<X%,T#X
MC>$_%9LQHGB?1M9-ZDDEM_9^H13^>L9 D9-C'<%) 8C."1FO+OVBH]5MO&/P
MVU33Y];TZ&RN;[[1J6B:#-K$EN'MMJ[H8HI#ACQDK7'Z_P""M<^)_C7PCK>E
MWVM3ZUHFC:A-I_B+6-!GTK9?"YMRD4L,D49"21[XR-OS(6(R1D CV_7?C7\/
M/"\ZPZSX\\,:3,Q<+'?:Q;PL2CE' #./NLK*?0@@\BNFT37=-\3:5;:IH^H6
MNJZ;<KO@O+&=9H95SC*NI(89!Y!KYK\/:-XFUGX$Z:]]X7U32M8N/'J:E/I4
MMNYF@C.KB1F( Y0+EM_W2OS9Q7U%0 45@H_B;_A+I%>+2?\ A%_*^2199?MO
MF8'5=NS;G/?/2OF636OB%=_$ZZFLH?&FGV\TNL6UTAAO;L1(L,OV61%D2.S7
MYU0QB+).5#R$GD ^N*BM;J&]@2>WFCGA<962)@RL/8C@UXE^SE-X@U+0?$UA
MKL>N20*8EM[_ %*34(OM!:(B3RDO56XA((&X!W0,WR,,$#P^TLOB%X=\$^%=
M*TM/%FD6-EH)BMHX[3599UU83N) ZI]X >7L$Y^SE2Q!QR 9]Q45\S:;9?$'
M3-0MO$-Q+XLOM2?Q+J5K<6"R2_9S8"UF:+9 V8E4RJFR4@\L%W%<"N%\,3?$
MK6M7ALXW\;V6D:B=(:Z>0ZF9('-WMNU\^YC0JWE-\_E)'& ,J!C( /LY[J&*
MXB@>:-)Y03'$S ,X'7 ZG&1GZU(S*BEF(50,DDX %?(VO>&/%-GKMG<R'QJ9
MM,;Q+INE:G;QWE[<0QMY36K,"P$H($FUY6^?8HW%@M>H_L^WFOWO@_Q+;ZQ;
M:N5BN"MI=:D]Z1=*T*EC$EZBW* -D%7+C=G:Q' !'L&G:C::O8P7MA=0WME<
M()(;BWD$D<B'D,K#((/J*FGGCMH9)II%BBC4L\CL J@<DDGH*^-/ MEXR\._
M#W2V\/R^,=-;0?#*:AK%KX@2ZMX?MMO+%(EM")P%VO$MPC+%\FTH6^;FO7_[
M.UWQW^S)XJN=074;G5O$^FWVH6]@LKK- DR,UO;(%((PGE@J.K%NN30,]DL=
M7L=3DN8[.]M[M[9Q'.L$JN8F*APK 'Y2596P>S ]ZMU\E^#/!_B+1[BY\1Z&
MGBZTE?Q%HL4-I=&\2.:R-G:Q7#S02C,@'SAI) 2ACX*X-;?[/ES\19O'T'_"
M3W&M>8UE<G6K>]M+T6JW'FKY7EO.1 N/F"BU!5DY;G!(!],U%=74-E;O/<31
MV\"#+R2L%51[D\"OF+Q;=?$K_A=FH+%<:U;P#5[5=,CL[2^ELWT[RD\W<4(M
M.3YNYI3YJG;M_A!YG7_!?C:]^%B6NH-XTUB35?!R7VJV]Q/>2R#4([JW8*B
MYCD\LRCRD W!<E21F@#Z^L=4L]469K*[@NU@E:"4P2*XCD4X9&P>&!Z@\BI;
MFZALXP\\T<"%E0-(P4%F.%&3W)( 'J:^5K+2OB-K&OZY+IL_BNUM[*TUJ\T6
M&Z>YMX;BX$T8LEF\S!<;"V$D/S#.0<&N;AT?QAXB\*SC6/\ A+M2TJRO]"O9
MX&MM62X2=+H&Y>,RD3OA.62%3&I4%,$< 'V1IVIV>L6HNK"[@OK8LR":VD61
M"RL589!(R&!!'8@BK5?%E_<_%N.6-9)?$UB!%*=',-EJ$K-<G4+C/FI%B,_N
M_(P+HB/RSD=R/2_ -]XO@^/U[;W_ /PD6HZ;/->"66ZCO+:ULXP 8@4</:2I
MD;8W@=)#N^=3AL CZ(HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **\3^-WB3Q)X8\27,NG6_B&ZL+SPKJ%M:
M)HEE<70&I[D,!(B5O+?;NVNV!P>:XK0M,^(L<EKKINO%3ZP/$L-FMG>2W'V0
M6+6";R\!^0IYQ),I&58$!AR* /I=M3LUU)-/-W -0>(SK:F1?-:,$*7"9R5!
M(!.,9(]:M5\1WMIX],]IJNAP>-W\0KX;BM_$%UJMI?'R9VOK8W:VI*YSY8D(
M6VR-J@QC=S7>_#_2?&_B37O"EKJ6J>*XO#*:EJ4QD47UF6A2* P1RR3GSVC,
MOF[3-AF&5^9>H!]*G5+(:F--^V0?VB8?M M/-7S3%NV[]F<[<G&<8SQ1INJ6
M>LVBW5A=P7UJS.@GMI%D0LK%6&X$C(964CL01VKRGQQJ;^!?CAIGBJ_TO5[S
M0I_#TVF-=:1I=QJ!AG%PDBJ\<".ZAESAMN,C!(R*\ATSP=X\A\&7HC'BS19+
M/PQ?:QIUAITL\'_$QEU"ZGA1UCXDE$;Q@PMD'=AE.!@ ^H;OQWX:L+R"TN?$
M&EV]W/>?V?%!)>QK))<[0WDJI;)DPRG8.<$''-;M?('BOPS\0=5\9:AK]C9>
M(3K=C_;1TN8-<1PQ[K.Q\H*F1&=S^=M# AF4CG;@:XL/%>NZQ;:7X?OO'UOX
M)N=4TM)KO46OH+]"8[G[8%DG F2'BWRW"*Y.PCL >V>(_A;#XD\1:E>RW<EM
M!?06;>;;,%N+:ZM96DAFC+*R_P 9R&!'RC(()K$\0_!+3;NVDU#7/&NOL8TD
M-]?W=S;*LL!>*0HP,.R*-3 G^K"?Q$DEB:\RL/ _C._U.P-YK'CJ."\OM?BO
M$74+N)4@B=OL !!!C!PI5U(,@."64XKL/&&D>)O%O[.GA%M1TV\U?58/[)U#
M6])DBVW-Y'$\<ES$8VQES@DH<;B-O?% %#POX0^'K6^J>(O!GQ'LM1DM99&\
MV+4K)[""::-X@LJPQA5WF0$MP[E5RQ[^L> =3\-6FEV_A?1-=T_5)]"A33YH
M+>ZCDFB:)%4B15)*L,KD'ID5X#XP\1>+/&/B37-3\+Z)>RZ?_9\$$>HCPG?Z
M1J-OB^MR+7?.X:X79Y[,4B 7'49-<[HGPWU?PAJJWUK:>,]/OI;'Q3%;7=L+
MZ]:&9[X/ WEO)LR\89UWE1(0""7VF@9]EU%:W4-[ D]O-'/"XRLD3!E8>Q'!
MKQW]GF?7=4\)^(K+6X-8$2W/EVUYJ$]\IN$:%=QA%XBW,0#9!#,X#9V/C@>&
M> [+QEX=\$1:;;V_CRPUVPM+&'PW9K#J'V3SQ*1="YW#RRN[(/G'8(]IC]:!
M'V5J/B'2M(OM/LK_ %.SLKS49#%96]Q<)')=.!N*QJ2"Y Y(7/%5YO&6@6VJ
M3:;-KFFQ:C T*2V;W<8FC:8D0AD)R"Y!"@CYL<9KQG]ISP7K?BK7? E]HNGW
M-W?Z&U]JEO+!"SK'<Q1))$C,!A?,9#&,]=Q%><Z7X>\;+XVU7Q=#H>N:=?\
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
M06DTD<5O=)$!%;>;<.\8C:%6&]I =SC ! 76F^ GB&\\76WC6Z\7Z?)XSLS
MEK/'HKI8K!'%/&4>#[279F^TR,6$JX(7 P#GVVB@#Y[7]EO5K;2[>.V\<F*^
M2W$$\L=A)#%= WTUVZN(KA'$;>=L*JX/R@Y()6M/P#^S0?!4PE?Q!!<GRM6C
M$=OII@C7[<T+':#,Y 0Q' ))8-R<C)]QHH \J\2_#>^TCX:^"-.TQCJ]]X/N
M=/N$54$9NU@41284D@,8V<@9/.!FN=\2?LVZKX@O+^W'B^WMM GU34-7BL_[
M)+W"37=M+"ZM-YX#(IF9P BGL3WKW>B@#QSQ#^S]/JDBW%GXABM+R&RT:V@:
M;3S+&KZ?<-,KLHE4LK[MI4$%<9W&M3X3_!4_##6M2U ZS_:9O+86YC%KY.S%
MW=7&[.]L_P#'UMQ_L9[X'I]% 'S-XW_92U/7[K4]7O\ Q(^OS)_:4T$"VKB^
MG6XBD5(//FN6B01[U"A8T0[!N'.13TSX&^+/BWJ&NZWXOD72[P7.FS:8;_2U
MACD-M%.CB6VBNW;81<,,^<K;LD   'ZEHH&<'\//AQ>?#KP;9Z-8:C8"X%\U
MY=SQZ:8X95>4O(D<8ERA(.T.SN1U;>:VI-.\4FU54UW2UN/)N%,C:2Y4RLV8
M'V_:!\J+PRYRYY#)TKHJ*!&(ECXA%ZKOJ^GM:"Y5VA&FN','E8,>_P [ 8R?
M/OVX"_+M)^>JHTWQ9]E"G7]*-QY"J9!I$FTR^;EGV_:?NF/Y0N<AOFW$?+72
MT4 8?V'Q%YN?[8T_R_/G;;_9KY\DJ1"F?/\ O(V"S8PX! 5,Y#(=/\3+Y7FZ
MWIKX^R^9MTMUW;<_:<?OSCS.-G7R\<^96_10!SDNG>*FCE$>NZ6CE+D(S:2[
M!69@;<D?:!D1KD,./,/(,?2K L?$/G[CJ^GF'[5&^S^SGW?9P@#QY\[[[/E@
M^,*/EV-]ZMNB@#FAIOBS[*%.OZ4;CR%4R#2)-IE\W+/M^T_=,?RA<Y#?-N(^
M6K3V/B$W3LNKZ>MN9Y66,Z:Y81&+$:%O.Y99/F+8PR_*%4_-6W10!SQT_P 4
M;(P-<TP.(;97)TI\-*K9N' ^T<*Z\*O/EGDF3I2_V?XG^?\ XG>F\I<A?^)6
M_#,W^CD_O^1&,AQQYAY!CZ5T%% &"ECXD69&?6=.>$2PLZ+ICAFC5,3*#YYP
MSOAE;!V#Y2'^]6'\(O#E]H>BZQ>:G ;2_P!;U>ZU:2U8@F!9& C0XXW"-$S[
MDUW5% 'FGCG_ )+7\,/^N>J_^B(Z]+KS3QS_ ,EK^&'_ %SU7_T1'7I= !11
M10 4444 %%%% !7FC_\ )R47_8I/_P"EBUZ77FC_ /)R47_8I/\ ^EBT >ET
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 UG5,;F"Y.!D]3Z4S[3#C/FIC&<[ATSC/YU#J&
MD6.K&U-]96]X;69;FW-Q$K^3*H(61,CY6 )PPYY-9(^'GA5;<6X\,Z.(!"ML
M(A81;1$LGFK'C;C:)/G"] W/7F@#>\Z/./,7.2,9'7&2/RI/M$6,^8F.#G<.
M_3\ZRW\&Z ]PUPVAZ:T[327+2FTC+&62/RI)"<9W-'\C-U*\'CBHU\">&D@,
M*^'M*6$K;(8Q91;=MN<VXQMZ1'E!_!_#B@#8\^+_ )Z)W_B';K^5'GQ$X\Q,
MY ^\._2O)/C!<Z7X$TP?V3X8T&6_GL=6N2UWIZ-%Y0@::X4A=I/G2>7O&?FY
M)R17GVB_%^QNM:T??X0T"W2&RM9]3DATY6EAU6*[MK/RXR6&T113L%8Y90Z8
MR 58 ^G/M,6W/FIC&[.X=/6E\Z/=MWKNSC&><XSBOGJ#XJ>$+G25M3\+X5==
M*:?^S6@L]BZ4T:73C.=N#E28>A<9/3-='X9\::1XE\3Z+>V_A"RL].U+5M0M
MH+Z:WB-S+=I"RO<@KDKOCADC8M\Q&T$XXH ]A%Q$1GS4Q@'[P[]*//B'_+1.
M_P#$.W7\JPX_A]X6BACB3PUHZ11QP0HBV$054A??"H&WA8W)91T4G(P:D;P+
MX:=-C>'M*9/](.TV41'^D?\ 'Q_#_P M<G?_ 'N^: -CSXB<>8F<@?>'?I7(
M_%?QS-X"\"WNN62V]S/!+;H$G)*;7N(XG)P0> Y/U%;$?@GP[%,DR:!I:3)+
M#,LBV<899(DV1.#MX9$)53U4<# J)_A_X7DM9+9O#>D-;R02VKQ&QBV-#*_F
M2QD;<%'?YV7HS<G)H \LU?XS>*;_ .(<_A+P_'HD,O\ ;\FD)>WT,LZQ(FG)
M=EF1)$W-N8KC<O&.XY\^USX^>,_'WP\O[W3Y=,\-+IHTC[?L>9;F>2XNE5S;
MR!QY:84J RN7RRY&,GZ1T/X=>%/#"VXT?PSH^E"WD::'[%810^7(4\MG7:HP
MQ3Y2>I''2JUY\)_!&H36,MUX.T"YDL5"6C2Z9"QMP&W )E?E&XEN.YSUH&>#
M:I^U3XMM(M<U2#PW;'2(6U>WLX[F!HBDEFDI5FF,W[W>82&C2-2@8'<V#7H'
MQ5U_Q-H_P'75]3U&WL=96[T^:YNM&\RWBBA:\AWC+.6VB,D,2<$;N #BN]E^
M%_@V?5[_ %63PGHDFIZA$\-Y>/IT)EN$<8=9&*Y8,  0<Y &:WKS3;/4-/EL
M+JU@N;&6,PR6TT8>)T(P5*D8(QQCI0(\'^*WQ.U[P=\6;X:#<17P31-,A6PN
MYG-I'-=:GY E9%(PVPD@]2%]*XWXK?%_QG_86O::+VTT[Q#I46NV9U33!<PP
MOY%K;S)*L GX?;-@%F?8PW*>HKZ*T+X5^"_"^GS6&C^$M#TNQFG2YDMK/3H8
MHWE1@T;E54 LI *GJ"!C&*NW?@7PWJ#W#W7A[2KE[@RF9IK*)S*9%5)2V5YW
MJB*V>H4 Y % SPVP^+7B;P9ILD:_V;?:)X?U:P\-W,%T;F34;R6=(<W"RRSN
M0 TZD(_F,RJQ\P<5EI^T!\3'\)V&L&U\*J]QX6N?%C0_9[DA88C$%MP?-^^V
M]OWG1>/D;'/T%<_#[PM>>((M>G\-Z3/K<*!(]2DL8FN$4 @ 2%=P !('/0GU
MJ;_A"O#HM4MO[!TS[,EFVG+#]CCV+:MC= !MP(S@93[IP.*!'(_"WQOKWBG5
MO$VC>(TT_P"TZ>EG/'-I220J8KF'S A#.QW(01O!&[@[5Z5Y'JT+_#'Q+\6]
M<TW4/$6J2>$[*PN]+T[5_%6J7-H))8G+B2-[A@ZDX.&#8QQBOIBST>PT^YGN
M;6QMK:XN%1)IH851Y @P@8@9(4<#/0=*KW?A;1;_ /M'[5I%A<_VDB1WOG6R
M/]J5!A%ER/G"@G ;.* /!_%'QZ\8^#?$MGI]V-#U5+74-.T[5AI^F72HDEU(
MB_\ 'Q)*$B95D0B,"8L.3LS@0:;^T'X[.@V6IW6G>'KEM9T.]U/3;2%GMC#+
M;SQ1!))99=C[Q*"!^[P1MR<[J]MU/X8^#];US^VM1\*:)?ZO\G^GW6GQ23_(
M<I\[*3\I QSQCBK,O@3PU/8Q64GA[2I+.*WDM([=K*(QI!(09(@NW 1BHW+T
M.!GI0!\QZU\9?%&K^(="U'4+_P N+PU%K%]J>A65C?:9/<26L$$L<<T9N."5
ME&%)FB(.[YL@+MZ?^T3\0M0FTS2AHVD6^JZM<Z>EK=WMI)##%'<K,6S"+AGD
M"^4"L@9%D!(PI%>^Z'\._"OAF&WATCPUI&F16XE$*VEC%$(_,P)-NU1C?M7=
MZ[1G.*AT3X7^#O#0QI/A/1-,_P!(6[_T/3H8OWR@A9/E4?, S 'J 3CK0,\\
M^&_QB\1Z]\2)O#OB*#3K*&87@L/LMK+MN?(D"EXKI9)(I>#EHSY3QGC#8)K"
MG^)7C;3OB_XD\-VNIZ7*NHZ];Z;ICZA92M#IR#3A<OE5F4REMI 4%,L2<X^6
MO:-*\ >&-"UZ\US3?#NE6&M7N?M.HVUE''<39.3OD"AFR0"<GG%1:U\-?"/B
M.XO9]5\+Z-J<]\(UNI;NPBE><1Y\O>64EMN3MSTSQ0(\M\6_$;5O%O[+/C+7
MDF;1=;MK74+,WFDSO&%F@E>$S0/G<H)3<O.1G&3C->9R?$[Q5J^K?#'1?[;O
MH;GPSJJZ;XE:*X=#?W!$\42S$'+!XX&F(/\ ST0^E?5X\+Z,OA_^PAI-B-#\
MKR/[,%LGV;R_[GE8V[?;&*A/@SP^US+<'0M--Q+<I>22FSCWO.B;$E)QDNJ?
M*&Z@<9Q0,^=O WQ\\8W/ARQU".UTDZ'I[:%:W45R;F>\N/MRQ!F6=Y3@QF4'
M+AR_0X(R9?$7[37B[0/"5MXF&GZ'=6>M0ZDVF::%E6XLWM2V/M+[R) P4AMJ
MIL9E'S=:^@;;P+X;L[1K2W\/:5!:LT+-!'91*A,./))4+C*;5V_W=HQC%5!\
M+_!HOM2O1X3T/[9J:LM]/_9T.^Z!(+"1MN7!(!.<Y(% 'ET/QA\::)\2=-\/
M^(X]%739+JVL);^PL9WAEGF3<$\U)I#;299%6.:/#@@B0;@*P?VC?B;X@TSQ
MS:VOA@:[*/"=FFN7\.C6TTL5U(T@V6MP8Q@(8$N&PW&6C/:O=[GX?^%[SQ/#
MXCG\.:5-X@A4+%JLEE&UT@ (&)2NX8!('/&3ZUI6^BZ?:7-]<06-M#/?L'NY
M8X55K@A0H,A RY"@+SG@ 4 >+K\9]>\7R:WJ'AW4O#.F^&[2YBT^!M5$GVFZ
M>:T2>.:)@X7.94"P[<O@_.M=S\#=6U35_@UX-U+7M0CU'5+O2[>>>[6,Q^8S
MH""06;YN1DYY.3@9P-2T^%O@RPU2RU*U\):';:A91""UNH=.A26", @(C!<J
MH!(P.Q([U=M?!'AVQT*'1;?0-,@T:"59HM.CLXUMXY _F*ZQ@;0P?Y@0,AN>
MM C7-Q$,YE3C/\0[=?RI?/CSCS%SD#&1U/2L.7X?^%YHY$D\-Z1(DB7$;JUC
M$0RSL&G4C;R)& +C^(C)S6%X_L]'\,Z?!J%KX?TF75KO4[&"":>S0[;@NL$4
MS$ $F-'8*<@@?*",T =Q]IBQGS4QC=G<.GK2^='G'F+G)&,CKC)'Y5\Q'QJ^
ME17EM>^"_"4UM=1+9V%A#I:)!<61OXHR([E))8IXAY^\H1$5<Y,9R<6M4^/G
MA:#Q$Y7P%;M;PW%QJ%Y?/;PR-+$UI<AYX64%9)'6U:-B&8%2%+'D  ^DOM$6
M/]8G(!^\.AZ?G1Y\7_/1._\ $.W7\J\7\+^)] \4WWAU'\!6VD6MY<'17M=1
MTI8IHGM81=6FS<HS"@W;1M 5_NXP<^H?\(+X:^?_ (I[2OG2XC;_ $*+YEG.
MZX4_+R)" 7'\1Y.: -CSXB<>8F<@?>'?I4E8L?@GP[%,DR:!I:3)+#,LBV<8
M99(DV1.#MX9$)53U4<# K:H \T\<_P#):_AA_P!<]5_]$1UZ77FGCG_DM?PP
M_P"N>J_^B(Z]+H **** "BBB@ HHHH *\T?_ ).2B_[%)_\ TL6O2Z\T?_DY
M*+_L4G_]+%H ]+HHHH *Y[Q/X_\ #_@S4=#L=9U)+&[UNZ^Q6$;H[>=+C[N5
M!"CH,M@9*C.2 >AKY]^+WP7\8?%WQCX@NXM2@\/:?8Z7'8:*\]LERTTQ=;B2
M=")082)8X%!(S^[)Q@\@'M_B'Q)IOA6P2]U6Y^RVKW$-JLFQGS)+(L<:X4$\
MNZC/09YP*J:]XXT;PUJ$-A?W,JWLUK->1V\%K+.[Q1,BR,%C5B<&1..ISP#@
MX^;_ !-\,O&_C+4DU/6_ <MWXDO=0T2_M]46^M"FC10& W4&3,&P'25]L899
M-XR<C Q9?@5XQDL6CM?!$]GX@C\-:AIVHZX=0M<:O?23P.DH(F+MN$;MOD"D
M A>, 4#/JW3/&6D:S??9+&Z:[EWSQ%HH)&C1X7"2HTFW:K!F VD@G!QG!QMU
M\BS? CQG:3>([;0/#@T-97UUA<VUS;VZ7RW-U;2Q*IC?>I>))8]S*I0CL,$Z
M^E? F^U[X@:?-/X&_L#X<_VAYS>%[R:V:*(BQEC>5X(I7CVR2M$-BELE-[ 9
MS0!]1UF>'O$NF^*K&6\TNY^U6\5S-:.^QDQ+%(T<BX8 \.K#/0XXR*^0/%OP
M5^).I>%-&TQ?"3W6IZ9HL,&GZBEQ:S3V]PEQ(VWSIKD"WVIY>&AC+/G#. H
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
M<TNPENM*FMV\F6*61)8V>:<R'"/$Y^9P1&0&8JH/T'0 4444 %%%% !1110
M4444 %%%% &/XA\)Z;XH>R;48!/]DD=T5@&5U>-HWC=2"&1E<@J>O'I3!X'\
M.!Y''A_2PTDAE=OL4>6<M&Q8_+R2T41SZQH?X1C;HH YZ^^'7A34XHHKSPSH
M]U'%Y?EI-81.$V+L3 *\;5)4>@.!Q4R^#]*CU:POXK5+=[$SO!#"JI$LDQ!D
ME*@<N?F^;_;;UK;HH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ K-\0^'[7Q-I;V%YO$1>.57B;:\<
MB.'1U/8AE!'TK2HH YE/ACX/CEU&5?"NBK)J/_'ZXT^'-S\P;]X=OS?, W/<
M9ZTR'X5^"[>5I(O"&A1R,^]G73802V&&2=O7#O\ ]]MZFNIHH YO3?AWX>T2
M]TZ?3-+MM+BT_P XV]I8PI# CR!5>38H W[5VY]"?6NDHHH **** /-/'/\
MR6OX8?\ 7/5?_1$=>EUYIXY_Y+7\,/\ KGJO_HB.O2Z "BBB@ HHHH ****
M"O)_&:>*/#WQCL_$ND>#K[Q5IKZ"^G2&PO+2%X9?M"R#(GECR"H/(STKUBB@
M#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_
MX6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_
M *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_
M  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!
MII/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\
M\ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO
M&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T
M1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\
M$G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@T
MTG_Y+KTNB@#S _$;Q<TZSGX->(3,JE!(=2TG<%/49^UYQP*D_P"%G>,_^B/^
M)/\ P::3_P#)=>ET4 >:?\+.\9_]$?\ $G_@TTG_ .2Z/^%G>,_^B/\ B3_P
M::3_ /)=>ET4 >:?\+.\9_\ 1'_$G_@TTG_Y+H_X6=XS_P"B/^)/_!II/_R7
M7I=% 'FG_"SO&?\ T1_Q)_X--)_^2Z/^%G>,_P#HC_B3_P &FD__ "77I=%
M'FG_  L[QG_T1_Q)_P"#32?_ )+H_P"%G>,_^B/^)/\ P::3_P#)=>ET4 >:
M?\+.\9_]$?\ $G_@TTG_ .2Z/^%G>,_^B/\ B3_P::3_ /)=>ET4 >7W7Q$\
M6WL#P7'P9\03PN,-'+J6D,K#W!N^:>GQ+\8QHJ)\'?$:JHP%74])  _\"Z]-
MHH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@
M#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_
MX6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_
M *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_
M  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!
MII/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\
M\ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO
M&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T
M1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\
M$G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@T
MTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+
MHH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@
M#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_
MX6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_
M *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_
M  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!
MII/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\
M\ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO
M&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T
M1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\
M$G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@T
MTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+
MHH \T_X6=XS_ .B/^)/_  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@
M#S3_ (6=XS_Z(_XD_P#!II/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_
MX6=XS_Z(_P")/_!II/\ \ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_
M *(_XD_\&FD__)='_"SO&?\ T1_Q)_X--)_^2Z]+HH \T_X6=XS_ .B/^)/_
M  ::3_\ )='_  L[QG_T1_Q)_P"#32?_ )+KTNB@#S3_ (6=XS_Z(_XD_P#!
MII/_ ,ET?\+.\9_]$?\ $G_@TTG_ .2Z]+HH \T_X6=XS_Z(_P")/_!II/\
M\ET?\+.\9_\ 1'_$G_@TTG_Y+KTNB@#S3_A9WC/_ *(_XD_\&FD__)='_"SO
M&?\ T1_Q)_X--)_^2Z]+HH \>@F\7>-?BSX-U2^\!:GX8TK1X;\SW>H7]C*&
M:6-%156">1B<@\D "O8:** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH *Y#Q/\6/#/@[7$TG5KN[@NS#'<.T6FW,T$$;N41YIHXVCB
M4LK#+LO2NOKY \4_M!_L^^+?B7=ZSK?Q/L7TO^SK:R_L^WO;V!99(IY9&$\<
M:JLB?.F Q(.&!&.H!]'ZE\6/#6EZ)I.JO<WEU::M*T%D-/TRZNYIW569@(H8
MVDX$;DDKCBK2_$?P]_:=KILM^UIJ%SISZJEK>6TL$BVRD!G=74%""?NMAN#Q
MP<?%%S^T?X#N_#/A72)_''@UX_#M_+<1O9>*M5T^2[C>.=,F6"Q#PL/-0[5+
M!OF!/K=N?CU\,-1\0Q^*&^,F@V.L0RV\$.E2S3ZA9"S6W,,BRS2VJW$SYFG;
MEE5CMW<Y(!V/JM/C_P""Y;:*6.ZU:22698(K2/0-0:ZD+1M(C+ (/,9&1'82
M!=I"GGBMOQ)\3O#?@_PY;:[K=]+I6FW$;R(]U9SI( L3RMNC*;T(2-R0R@\8
MQGBOAL?''X>"'3"GQ#\,V]EI]\EQ#H-KXOUFWBB MIXI'@NTM?.@5FEC(@4;
M $//S$5WGQ0_:9^$/Q"\":#I4/Q+\.6-]9B3SX[F]O+I!NM)H0!.\'F2_-(I
M+.H) )//! L?3FM?&7PCH1"SZC/<R%8W6+3K"XO)&1XS(KA88W)38"Q8# '4
MC(J ?'+P>\M\(KO4;FWL83/<WUMHM[+9QH(1/DW"PF+_ %;*V-V3D#J<5\;W
MOQB^%&E7VL#3/B3X3U?2FO$DTF";4-0TR\T^$1,%$=U! S(8W=E"@$-'@'&W
MET/QW^'B#Q7;W?Q/\.ZI+KEH\+:NWB;5K=?,:PCMV9].2U-NQ,B$[MV<$'J
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
M.5\.>&;)O'/AX3:-=),Z?\+"U]C<*+66$E+@VGF6^"ZGRXQM89!Q@9 L??\
MIU_%JEA;WD*S)%.@D1;F!X) ",C=&X5D/LP!'<59KR+X*?M&_#OXJFU\.^&?
M%6GZOK]K8_:)[&SN[B[,<:%49O/FC1Y0"ZC<P#'.2*]=H$%%%% !1110 444
M4 %<MXW^)>@_#V33(M8DOS<:G(\5G;:;I=UJ$TS(N]\1V\4C8"\DD8KJ:\K^
M+WPVU'Q_XX^'L]M/J%CINF7%[+>W^EWHMIX ]L43!SN(9L A0?? H ]#T#7;
M;Q+I%OJ5I'>0V\X)1-0L9K.<88@[H9D21.0?O*,C!'!!K1KYL^*OP@\0WVL:
MK'9Z)J'BZ671;:R\.ZY<:A#YNB7B/(7G=Y9%=6):-S)$K,PCVD= ?0?@U\,G
M\)7'C#4]8T]%UO6-8NW:]=UD>>T+YB&03M3DD)Q@L<@$T >I5F7'B73;3Q%9
M:%+<[-5O;>6Z@M]C'?%$461MV-HP9$X)R<\9P:^;+SX0>/+7P_XDM)M'CURV
MTL1:)H%I+=*_VG3#=B>69D\Z(,XC\J/RY)%#_9R&RK8/+:7\ _B&ND:];1:!
M)80M::S'ID$EQ9P",3FP>&)8X9"D(9H9_E4[5/4\@D&?9]%?)7CKX;_$+Q[X
MHU#7I_"FHVOAZXU*":7P_</IUY/<1K8B)7:%Y_(8)*"=K/GY@PR1@>B:C\-/
M$NH?LP6O@^6*[N==:*VCD@GO8S,D8ND=D,RE5RD0(X/\. 6ZD ]QHKY4N?@1
MXGTGXOFXTK2Y[?2HM6LYM)U*P%G'#IVGQQH'M][OYZ+E9 8DC*R>9DD$DKEZ
MA\%O&%QX1MM.M/!%S9Z] T1\1:V-1MG/B)%N0[HL1FVS[A\^;GR\ >6.&8
M^LY=5MX=4M]/;SOM,\;RIM@<Q[4*ALR ;5/S# )!/. <'%ROD_2?@/XSO-*L
MX/LMYI<<%IJTU@EU<6R&PN&GM9K)!% Q2-2\#ML0NJ D;AD"JOB[X+^/]>L-
M$UC5M'GU.ZU$:A?:QH5HUG=&UO9C&+?'VB5(B(HHQ$)$8LA^91R30(^I]>\2
M:;X8AM)=3N?LT=W=PV,)V,V^:5@D:_*#C+$#)X'<BM.ODVT^"OBZ+6M".L>%
M[KQ#KMMKNCWZ^+)=0MG-M8P10K- S,ZR$ATD8JD>URV_[W%?26F>-+&Z\-+K
M>H@^'[3S9(F_M62.+9LE:,$MN*X;;N4YY#"@#H**Y?\ X6EX,_Z&[0?_  9P
M_P#Q5(/BIX*8D#Q?H)(.#C4X./\ QZ@#J:*Y<_%/P6HR?%^@CMSJ<'_Q5+_P
MM'P9_P!#=H7_ (,H?_BJ .GHKEA\5/!18@>,-!)'4?VG!Q_X]0WQ4\%(I9O%
M^@A1R2=3@Q_Z%0!U-%<O_P +2\&?]#=H7_@SA_\ BJ/^%I^"RQ'_  E^@Y')
M']IP?_%4 =117+GXI>"U&3XOT$#KDZG#_P#%4#XI^"V (\7Z"0>A&IP__%4
M=117+?\ "U/!6X+_ ,)?H.XC./[3@S_Z%2_\+2\&?]#=H7_@SA_^*H ZBBN7
M7XI^"W *^+]!8'H1J<//_CU(?BIX*! /C#003T']IP<_^/4 =317+_\ "TO!
MG_0W:#_X,X?_ (JD7XJ>"G&5\7Z"1ZC4X/\ XJ@#J:*Y<_%/P6" ?%^@@G@?
M\3.#G_QZE_X6CX,Q_P C=H7_ (,H?_BJ .GHKEA\5/!39QXPT$X.#C4X./\
MQZAOBIX*7KXOT$<XYU.#_P"*H ZFLQ?$FFMXE?0!<YU=+1;YK;8W$)<H'W8V
M_>4C&<\=*RO^%I>#/^ANT+_P9P__ !5>.?%CX9P_&/Q#XEU_1K2Q\2I%X3>P
MT>^MKV%Q#J@E>1-A#_)(H:,ASC;NZC)H ^BZ*^2-0^"_Q!NOB-J&I7%G?W5[
M/?M<PZU#)9(BV?V;;]F:9I#/C.4,(382=^X'D5/$_P"SKXDL/#/@NRT[P]/>
M6EOX=,%[I]D;.66'6'$>^Y9KB55#G;CSXRSH5R 0:!GU?HOB73?$,VIQ:?<_
M:)-,NVL;L;&7RI@JL4Y S\KJ<C(YZUIU\H^&_@IXCLO%SR:AX4GCU23Q##?W
M/C*>^MG673EM(H[B%ML@E/F%74IY84EMYQ@5V7[,.E7]X^LZM>WR:IIVD9\,
M:'>PS>;'<V=O*Y,X8<$L61"?6"@1[Y7-^,_B)X>^'T$$WB#4!I\<R3R1L89)
M-RPQ-+*?D4]$5C[XP,GBOE^7X*?$14\:VNBZ'<:8-1@D\V]O9[47=V?MB2F%
M+B&8?:%>+S5#W,4;H"J[\%JBU#X">.+[PC=6NG^'[JVMY)M4:VTNYEL;86XE
MTQX$V0PR&*)7E(^57;DECMR:!GV-#,EQ"DL9W1NH93C&0>13ZYOPYK%QJ>D:
ME;)IUQ:76F2&Q473*JW#K$C;T9&/R$OMSP05;CBODO3?@;X]E_M&6X\&7VF6
M]]I,<>H6FF3:?#Y]VEY#)]V2>;[6-@DRUTX,B[E)3<*!'VQ5/3M4M]56X:W\
M[$$[V[^= \7SJ<'&\#<OHPRI[$U\B:O\'/'MQX;\-A/!8DU#3UNTLK-#:&RB
M#7 >)IH&NMUHY49\RSG;8,J$QA:R/BSH\_@V;Q;+XVTRVU1-0M-;N='T^75K
M:)K29Y@T=Y%YLJY)!508]TRX "?/0,^WJ*^8/ 7P3URRN-#\22:*8]>3Q-:7
M9OWN$\]-+^P1QR+DMD(7W9BZDC.WO5K]J7X;>+_B%JLL>A>%QJJ)HSII^HQ&
MW:6"]+DC!N+A%M\ (1+%&TAY&Y0!0!]*UF+XDTUO$KZ +G.KI:+?-;;&XA+E
M ^[&W[RD8SGCI7SIJ7P+\57=SJ.NV6G?8/&%QXF,]OK#749F@L&L!$QW!R1'
MYN28QR2-VT\&MWX"?#74O"GC^74Y? \WA&U_X1JUTVZFEN[>7[=?)*S2R@12
MN3N!!\QP&;N,B@#W+2]=L-;:]6QNDN397+6EQL_Y9S* 60^X##\ZOU\PZ=\
M[N3XK75U=>"K==%CUW5=7^T&6".WO&EA@-JS*C^82LB2?>3Y6^8>M<1I7P+^
M(5U%JZGPE+HJZIH\-M?0VT]K;)+=+?V\C$.MS)+,1$)L3S/O;D?+D @'VK6%
M8^-=)U/Q9J7ANUFGFU738HY;M5M)?)AW@%%,VWR]Y!#; V[!SC%?,OQ#^ >O
M07FLVN@^$II]!75IKG2=.M#9362"2SMU):TFEB"J9DEQ)')')&V64$.34?B?
MX >++K4-0U>/PQ:)]MU+3[G5++3TM;AM0B33A'(N+B15F5+G+;9F&[&[YCC(
M!]=T5\\?!WX*ZMIGB_P]JWBG2YY8M)T,Q6)U"ZBF>RN&O)G5 L;;0R0NJ@KD
M*"5#M@DR?$'P?XUN/&?B:VTOP[=ZCI^M:QH>HPZG#>V\<%O%;/#]H5U>59-V
M(B0%0A@W7/% 'NVM:U8^'-(N]4U*Y2ST^TB::>XD.%C0#))JVCK(BNIRK#(/
MJ*^1;S]FK7A\/8;*W\,0OJU_X5U2SUA9+B%C=7K3126BRL7(<C:^QB2$'&5&
M*W] ^%7B.#Q;IUU%X,GTC5$\00:A'XC-S:JEII C4'3]L<I<;5!B\I5,6?G#
M=Z /IVOG3]@C3;23]DWP,S6L+,QOR6,8))^WW'M7T77S[^P+_P FE^!/^W__
M -+[B@.A[Q_95E_SYV__ 'Z7_"C^RK+_ )\[?_OTO^%6J*!%7^RK+_GSM_\
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
MP=OUP: +-%<(WB;Q^'4#P-IQ4YR?^$@''_D"G?\ "2^/?^A(T_\ \'X_^,4
M=S17")XF\?E<MX&T]3D\?V^#]/\ EA2MXF\? KCP/IQ!/)_M\<#'_7"@#NJ*
MX;_A)?'G/_%$:?\ ^#[_ .T4U?$WC\[MW@;3EP<#_BH <CU_U% '=T5PC^)O
M'X V^!M/8Y&1_;X&!W/^HIW_  DOCW_H2-/_ /!__P#:* .YHKA5\3>/B6SX
M'TX '@_V^.1C_KA22>)O'RH2G@;3W;'W?[? _P#:% '=T5PW_"2^/?\ H2-/
M_P#!^/\ XQ31XF\?%V!\#:<% &&_M\<_^0* .[HKA7\3>/@C%? VGLP!PO\
M;X&?_(%+_P )+X\S_P B1I__ (/O_M% '<T5PG_"3>/_ #,?\(-IVW&=W_"0
M#KZ8\BG#Q+X]_P"A(T\?]Q__ .T4 =S17"MXF\?  CP-IY.1Q_;X'?G_ )84
MO_"2^//^A(T__P 'W_VB@#N:*X1?$WC\NP/@;3@HQAO^$@'/_D"A_$WC\1DK
MX&T]F X7_A( ,_\ D"@#NZ*X;_A)?'O_ $)&G_\ @_\ _M%(/$WC[>1_P@^G
M;<#!_M\<]?\ IA]/SH [JBN%;Q+X]"DCP/IY..G]O@?^T*%\3>/BJD^!]/!/
M4?V^./\ R!0!W5%<(?$WC[>!_P (-IVW!);^WQU]/]13O^$E\>_]"1I__@__
M /M% '<T5PJ>)O'S*I;P/IZD@9']O@X_\@4C>)O'X=0/ VG%3G)_X2 <?^0*
M .[HKAO^$E\>_P#0D:?_ .#\?_&*:GB;Q^5RW@;3U.3Q_;X/T_Y84 =W17"M
MXF\? KCP/IQ!/)_M\<#'_7"E_P"$E\><_P#%$:?_ .#[_P"T4 =S17"+XF\?
MG=N\#:<N#@?\5 #D>O\ J*'\3>/P!M\#:>QR,C^WP,#N?]10!W=%<-_PDOCW
M_H2-/_\ !_\ _:*1?$WCXEL^!]. !X/]OCD8_P"N% '=45PDGB;Q\J$IX&T]
MVQ]W^WP/_:%._P"$E\>_]"1I_P#X/Q_\8H [FBN$'B;Q\78'P-IP4 8;^WQS
M_P"0*5_$WCX(Q7P-I[, <+_;X&?_ "!0!W5%<-_PDOCS/_(D:?\ ^#[_ .T4
MW_A)O'_F8_X0;3MN,[O^$@'7TQY% '=T5PO_  DOCW!_XH?3_P#P?C_XQ2)X
MF\?%%+>!M/5B!E?[?!Q_Y H [NBN%/B;Q]O _P"$'T[;@Y/]OC@\?],/K^5+
M_P )+X\Q_P B1I^?^P]_]HH [FBN$3Q/X_9 6\#:<K?W?^$@!_\ :%#>)O'P
M90/ VG$$\G^WQQQ_UPH [NBN&_X27Q[_ -"1I_\ X/\ _P"T4C>)?'H4D>!]
M/)QT_M\#_P!H4 =U17"KXF\?%5)\#Z>">H_M\<?^0*0^)O'V\#_A!M.VX)+?
MV^.OI_J* .[HKAO^$E\>_P#0D:?_ .#_ /\ M%(GB;Q\RJ6\#Z>I(&1_;X./
M_(% '=45PC>)O'X=0/ VG%3G)_X2 <?^0*=_PDOCW_H2-/\ _!^/_C% '<T5
MPB>)O'Y7+>!M/4Y/']O@_3_EA2MXF\? KCP/IQ!/)_M\<#'_ %PH [JBN&_X
M27QYS_Q1&G_^#[_[135\3>/SNW>!M.7!P/\ BH <CU_U% '=T5PC^)O'X V^
M!M/8Y&1_;X&!W/\ J*=_PDOCW_H2-/\ _!__ /:* .YHKA5\3>/B6SX'TX '
M@_V^.1C_ *X4DGB;Q\J$IX&T]VQ]W^WP/_:% '=T5PW_  DOCW_H2-/_ /!^
M/_C%-'B;Q\78'P-IP4 8;^WQS_Y H [NBN%?Q-X^",5\#:>S '"_V^!G_P @
M4O\ PDOCS/\ R)&G_P#@^_\ M% '<T5PG_"3>/\ S,?\(-IVW&=W_"0#KZ8\
MBE_X27Q[@_\ %#Z?_P"#\?\ QB@#NJ*X1/$WCXHI;P-IZL0,K_;X./\ R!2G
MQ-X^W@?\(/IVW!R?[?'!X_Z8?7\J .ZHKAO^$E\>8_Y$C3\_]A[_ .T4U/$_
MC]D!;P-IRM_=_P"$@!_]H4 =W17"-XF\?!E \#:<03R?[?'''_7"G?\ "2^/
M?^A(T_\ \'__ -HH [FBN$7Q-X^*DGP-IP.3Q_;X]>/^6%$GB;Q\I&SP-ISC
M.#_Q/P,#U_U% '=T5PW_  DOCW/_ ")&G_\ @_'_ ,8IJ^)O'Q+;O VG* <
M_P!O@Y'K_J* .[HKA6\3>/@ 1X&T\G(X_M\#OS_RPI?^$E\>?]"1I_\ X/O_
M +10!W-%<-_PDOCW_H2-/_\ !^/_ (Q34\3>/RN6\#:>IR>/[?!^G_+"@#NZ
M*X5O$WCX%<>!].()Y/\ ;XX&/^N%+_PDOCSG_BB-/_\ !]_]HH [FBN$7Q-X
M_.[=X&TY<' _XJ '(]?]10_B;Q^ -O@;3V.1D?V^!@=S_J* .[HKAO\ A)?'
MO_0D:?\ ^#__ .T4B^)O'Q+9\#Z< #P?[?'(Q_UPH [JBN$D\3>/E0E/ VGN
MV/N_V^!_[0IW_"2^/?\ H2-/_P#!^/\ XQ0!W-%<(/$WCXNP/@;3@H PW]OC
MG_R!2OXF\?!&*^!M/9@#A?[? S_Y H [JBN&_P"$E\>9_P"1(T__ ,'W_P!H
MIO\ PDWC_P S'_"#:=MQG=_PD Z^F/(H [NBN%_X27Q[@_\ %#Z?_P"#\?\
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
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH ***K:C;SW=A/#;736-PZ%4N417:,]F 8$''N,4 6:*X1O!'BXNI
M'Q&U$*,Y']EV7/\ Y"IW_"$^+/\ HHFH?^"RR_\ C5 '<T5PB>"/%RKAOB-J
M#')Y_LNR_#_EE2MX(\6DJ1\1M1 !Y']F67/'_7*@#NJ*X;_A"O%G/_%Q-0_\
M%EE_\:IJ^"/%PW9^(^HMDY'_ !*[+@>G^JH [NBN$?P1XN8#'Q&U!3D$G^R[
M+D=Q_JJ=_P (3XL_Z*)J'_@LLO\ XU0!W-%<*O@CQ:"V?B-J)!.0/[,LN!CI
M_JO\YI)/!'BYD(7XC:@C8^]_9=D?_:5 '=T5PW_"$^+/^BB:A_X+++_XU31X
M(\7!V)^(VHE2!A?[,LN/_(5 '=T5PK^"/%K(P7XC:@K$'#?V99<?^0J7_A"O
M%F?^2B:A_P""RS_^-4 =S17"?\(1XN\S/_"QM1VXQM_LNRZ^O^JIP\$^+/\
MHHFH?^"RR_\ C5 '<T5PK>"/%I Q\1M04Y&3_9EEZ\_\LJ7_ (0KQ9_T434/
M_!99?_&J .YHKA%\$>+@[$_$;42IQA?[+LN/_(5#^"/%S1D+\1M05B.&_LNR
M./\ R%0!W=%<-_PA/BS_ **)J'_@LLO_ (U2#P1XMWD_\+&U':0,#^S++CK_
M -,OI^5 '=45PK>"?%I4@?$74%..O]F67_QJA?!'BT*H/Q&U D=3_9EES_Y"
MH [JBN$/@CQ=O!_X6-J.W!!7^S++D^O^JIW_  A/BS_HHFH?^"RR_P#C5 '<
MT5PJ>"?%JJH;XBZ@Y &3_9ED,_\ D*D;P1XN+J1\1M1"C.1_9=ES_P"0J .[
MHKAO^$)\6?\ 11-0_P#!99?_ !JFIX(\7*N&^(VH,<GG^R[+\/\ EE0!W=%<
M*W@CQ:2I'Q&U$ 'D?V99<\?]<J7_ (0KQ9S_ ,7$U#_P667_ ,:H [FBN$7P
M1XN&[/Q'U%LG(_XE=EP/3_54/X(\7,!CXC:@IR"3_9=ER.X_U5 '=T5PW_"$
M^+/^BB:A_P""RR_^-4B^"/%H+9^(VHD$Y _LRRX&.G^J_P YH [JBN$D\$>+
MF0A?B-J"-C[W]EV1_P#:5._X0GQ9_P!%$U#_ ,%EE_\ &J .YHKA!X(\7!V)
M^(VHE2!A?[,LN/\ R%2OX(\6LC!?B-J"L0<-_9EEQ_Y"H [JBN&_X0KQ9G_D
MHFH?^"RS_P#C5-_X0CQ=YF?^%C:CMQC;_9=EU]?]50!W=%<+_P (3XMP?^+B
MZA_X+++_ .-4B>"/%JHH;XC:@S #+?V99#/_ )"H [NBN%/@CQ;O!_X6-J.W
M!!7^S++D\<_ZKZ_G2_\ "%>+,?\ )1-0_P#!99?_ !J@#N:*X1/!'BY4 ;XC
MZBS?WO[+LA_[2H;P1XN+*1\1M1 !Y']F67/'_7*@#NZ*X;_A"?%G_11-0_\
M!99?_&J1O!/BTJ0/B+J"G'7^S++_ .-4 =U17"KX(\6A5!^(VH$CJ?[,LN?_
M "%2'P1XNW@_\+&U';@@K_9EER?7_54 =W17#?\ "$^+/^BB:A_X+++_ .-4
MB>"?%JJH;XBZ@Y &3_9ED,_^0J .ZHKA&\$>+BZD?$;40HSD?V79<_\ D*G?
M\(3XL_Z*)J'_ (+++_XU0!W-%<(G@CQ<JX;XC:@QR>?[+LOP_P"65*W@CQ:2
MI'Q&U$ 'D?V99<\?]<J .ZHKAO\ A"O%G/\ Q<34/_!99?\ QJFKX(\7#=GX
MCZBV3D?\2NRX'I_JJ .[HKA'\$>+F Q\1M04Y!)_LNRY'<?ZJG?\(3XL_P"B
MB:A_X+++_P"-4 =S17"KX(\6@MGXC:B03D#^S++@8Z?ZK_.:23P1XN9"%^(V
MH(V/O?V79'_VE0!W=%<-_P (3XL_Z*)J'_@LLO\ XU31X(\7!V)^(VHE2!A?
M[,LN/_(5 '=T5PK^"/%K(P7XC:@K$'#?V99<?^0J7_A"O%F?^2B:A_X++/\
M^-4 =S17"?\ "$>+O,S_ ,+&U';C&W^R[+KZ_P"JI?\ A"?%N#_Q<74/_!99
M?_&J .ZHKA$\$>+510WQ&U!F &6_LRR&?_(5*?!'BW>#_P +&U';@@K_ &99
M<GCG_5?7\Z .ZHKAO^$*\68_Y*)J'_@LLO\ XU34\$>+E0!OB/J+-_>_LNR'
M_M*@#NZ*X1O!'BXLI'Q&U$ 'D?V99<\?]<J=_P (3XL_Z*)J'_@LLO\ XU0!
MW-%<(O@CQ:%(/Q&U%CD\_P!F67KQ_P LJ)/!'BUB-OQ&U%.<G_B661R/3_54
M =W17#?\(3XLS_R434/_  667_QJFKX(\6@MGXC:BP)R!_9EEP/3_54 =W17
M"MX(\6D#'Q&U!3D9/]F67KS_ ,LJ7_A"O%G_ $434/\ P667_P :H [FBN&_
MX0GQ9_T434/_  667_QJFIX(\7*N&^(VH,<GG^R[+\/^65 '=T5PK>"/%I*D
M?$;40 >1_9EESQ_URI?^$*\6<_\ %Q-0_P#!99?_ !J@#N:*X1?!'BX;L_$?
M46R<C_B5V7 ]/]50_@CQ<P&/B-J"G()/]EV7([C_ %5 '=T5PW_"$^+/^BB:
MA_X+++_XU2+X(\6@MGXC:B03D#^S++@8Z?ZK_.: .ZHKA)/!'BYD(7XC:@C8
M^]_9=D?_ &E3O^$)\6?]%$U#_P %EE_\:H [FBN$'@CQ<'8GXC:B5(&%_LRR
MX_\ (5*_@CQ:R,%^(VH*Q!PW]F67'_D*@#NJ*X;_ (0KQ9G_ )*)J'_@LL__
M (U3?^$(\7>9G_A8VH[<8V_V79=?7_54 =W17"_\(3XMP?\ BXNH?^"RR_\
MC5">"/%JHH;XC:@S #+?V99#/_D*@#NJ*YSPWX>UO2+R274_%-UKL+1[5@GM
M+>$(V0=V8T4DX!&#QS71T %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %0WEY;Z=:RW-U/';6T2EY)IG"(BCJ23P!4
MU,EB2>-HY462-AAD<9!'H10!S)^*G@H$ ^,-!!/0?VG!S_X]2_\ "TO!G_0W
M:#_X,X?_ (JM4^&=')!.E6)(Z'[,G'Z4O_"-:1_T"K+_ ,!T_P * ,A?BIX*
M<97Q?H)'J-3@_P#BJ4_%/P6" ?%^@@G@?\3.#G_QZM4>&=' P-)L0/06R?X4
MI\-:02"=*LB1R/\ 1T_PH RO^%H^#,?\C=H7_@RA_P#BJ:/BIX*;./&&@G!P
M<:G!Q_X]6O\ \(WI'_0+LO\ P'3_  I!X9T=<XTFQ&>3BV3G]* ,EOBIX*7K
MXOT$<XYU.#_XJE_X6EX,_P"ANT+_ ,&</_Q5:I\,Z.0 =)L2!SS;)_A2_P#"
M-Z1_T"K+_P !T_PH R1\4_!9) \7Z"2#@_\ $S@X_P#'J'^*G@N,9;Q?H*CU
M.IP#_P!FK6'AK2!G&E60SR?]'3G]*1O#.CLN#I5B1Z&V3_"@#*_X6EX,_P"A
MNT'_ ,&</_Q5(/BIX*+%?^$OT'(Y(_M.#C_QZM?_ (1K2/\ H%67_@.G^%'_
M  C.C@D_V58Y/4_9D_PH R6^*?@M%);Q?H( Y).IP<?^/4O_  M'P8?^9NT+
M_P &4/\ \56J?#.CD$'2K$@]0;9/\*/^$;TC_H%V7_@.G^% &1_PM3P5NV_\
M)AH.[&<?VG!G'_?5+_PM+P9_T-V@_P#@SA_^*K5_X1G1]V[^RK'=C&?LR9_E
M2_\ "-:0/^859?\ @.G^% &2?BGX+49/B_01VYU.#_XJE_X6CX,_Z&[0O_!E
M#_\ %5JGPSHY !TJQP.WV9/\*/\ A&](_P"@79?^ Z?X4 9 ^*G@HL0/&&@D
MCJ/[3@X_\>H;XJ>"D4LWB_00HY).IP8_]"K6'AG1P21I5B">I^S)S^E!\,Z.
MRE3I-B5/4&V3_"@#*_X6EX,_Z&[0O_!G#_\ %4?\+3\%EB/^$OT'(Y(_M.#_
M .*K6_X1O2/^@59?^ Z?X4?\(UI&2?[*LLGO]G3_  H R3\4O!:C)\7Z"!UR
M=3A_^*H'Q3\%L 1XOT$@]"-3A_\ BJUCX:T@C!TJR(]/LZ?X4#PSHX  TJQ
M'0?9D_PH R/^%J>"MP7_ (2_0=Q&<?VG!G_T*E_X6EX,_P"ANT+_ ,&</_Q5
M:W_",Z/NS_95CGIG[,G^%'_"-Z1_T"K+_P !T_PH R5^*?@MP"OB_06!Z$:G
M#S_X]2'XJ>"@0#XPT$$]!_:<'/\ X]6N/#6D* !I5D .@%NG'Z4A\,Z.2"=*
ML21T/V9./TH RO\ A:7@S_H;M!_\&</_ ,52+\5/!3C*^+]!(]1J<'_Q5:__
M  C6D?\ 0*LO_ =/\*0>&=' P-)L0/06R?X4 91^*?@L$ ^+]!!/ _XF<'/_
M (]2_P#"T?!F/^1NT+_P90__ !5:I\-:02"=*LB1R/\ 1T_PH_X1O2/^@79?
M^ Z?X4 9 ^*G@ILX\8:"<'!QJ<''_CU#?%3P4O7Q?H(YQSJ<'_Q5:P\,Z.N<
M:38C/)Q;)S^E!\,Z.0 =)L2!SS;)_A0!E?\ "TO!G_0W:%_X,X?_ (J@?%/P
M620/%^@D@X/_ !,X./\ QZM;_A&](_Z!5E_X#I_A0/#6D#.-*LAGD_Z.G/Z4
M 9+_ !4\%QC+>+]!4>IU. ?^S4?\+2\&?]#=H/\ X,X?_BJU6\,Z.RX.E6)'
MH;9/\*7_ (1K2/\ H%67_@.G^% &0/BIX*+%?^$OT'(Y(_M.#C_QZE;XI^"T
M4EO%^@@#DDZG!Q_X]6M_PC.C@D_V58Y/4_9D_P *#X9T<@@Z58D'J#;)_A0!
ME?\ "T?!A_YF[0O_  90_P#Q5-_X6IX*W;?^$PT'=C./[3@SC_OJM?\ X1O2
M/^@79?\ @.G^%)_PC.C[MW]E6.[&,_9DS_*@#*_X6EX+_P"AOT'_ ,&</_Q5
M"_%/P6Z@KXOT$@\@C4X.?_'JUO\ A&M(_P"@59?^ Z?X4#PSHZ@ :58@#H!;
M)Q^E &3_ ,+3\%[@/^$OT')&<?VG!_\ %4O_  M'P9C/_"7:%_X,H?\ XJM7
M_A&M(SG^RK+/3/V=/\*/^$;TC_H%V7_@.G^% &0OQ4\%. 5\8:"P/<:G!_\
M%4'XJ>"@0#XOT$$\ '4X.?\ QZM8>&='5<#2;$#T%LG^%*?#.CD@G2K$D=/]
M&3C]* ,G_A:7@S_H;M"_\&</_P 50?BEX+49/B_00.N3J</_ ,56M_PC>D?]
M JR_\!T_PH/AK2",'2K(CT^SI_A0!DCXI^"V (\7Z"0>A&IP_P#Q5)_PM3P5
MN"_\)?H.XC./[3@S_P"A5KCPSHX  TJQ '0?9D_PH_X1G1]V?[*L<],_9D_P
MH R?^%I>#/\ H;M"_P#!G#_\50OQ3\%N 5\7Z"P/0C4X>?\ QZM;_A&](_Z!
M5E_X#I_A0/#6D* !I5D .@%NG'Z4 9!^*G@H$ ^,-!!/0?VG!S_X]2_\+2\&
M?]#=H/\ X,X?_BJU3X9T<D$Z58DCH?LR<?I2_P#"-:1_T"K+_P !T_PH R%^
M*G@IQE?%^@D>HU.#_P"*I3\4_!8(!\7Z"">!_P 3.#G_ ,>K5'AG1P,#2;$#
MT%LG^%*?#6D$@G2K(D<C_1T_PH RO^%H^#,?\C=H7_@RA_\ BJ:/BIX*;./&
M&@G!P<:G!Q_X]6O_ ,(WI'_0+LO_  '3_"D'AG1USC2;$9Y.+9.?TH R6^*G
M@I>OB_01SCG4X/\ XJE_X6EX,_Z&[0O_  9P_P#Q5:I\,Z.0 =)L2!SS;)_A
M2_\ "-Z1_P! JR_\!T_PH R1\4_!9) \7Z"2#@_\3.#C_P >H?XJ>"XQEO%^
M@J/4ZG /_9JUAX:T@9QI5D,\G_1TY_2D;PSH[+@Z58D>AMD_PH RO^%I>#/^
MANT'_P &</\ \52#XJ>"BQ7_ (2_0<CDC^TX./\ QZM?_A&M(_Z!5E_X#I_A
M1_PC.C@D_P!E6.3U/V9/\* ,EOBGX+126\7Z" .23J<''_CU+_PM'P8?^9NT
M+_P90_\ Q5:I\,Z.00=*L2#U!MD_PH_X1O2/^@79?^ Z?X4 9'_"U/!6[;_P
MF&@[L9Q_:<&<?]]4O_"TO!?_ $-^@_\ @SA_^*K5_P"$9T?=N_LJQW8QG[,F
M?Y4O_"-:1_T"K+_P'3_"@#)7XI^"W4%?%^@D'D$:G!S_ ./4?\+3\%[@/^$O
MT')&<?VG!_\ %5K#PSHZ@ :58@#H!;)Q^E'_  C6D9S_ &599Z9^SI_A0!E?
M\+1\&8S_ ,)=H7_@RA_^*IJ_%3P4X!7QAH+ ]QJ<'_Q5:_\ PC>D?] NR_\
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
M8DM+[Q++=:7Y$*BU$L<<5ZJ&U<,Q/S/$C#&PKN(8@6/HW_A)?'O_ $)&G_\
M@_'_ ,8IJ>)O'Y7+>!M/4Y/']O@_3_EA7@[?&'XB:EX9U+7/^$C@L6T7PO9:
MU]GLK*)X+^5[FX0EVDCW"-XXE.$VD%LJV.N(_P 5_$G@J&ZTVU\7/#!<>*-<
M&H:IJ%W8PO8M&X:WM]\T)CC\Q6+@.I9E7"%1C %CZ4;Q-X^!7'@?3B">3_;X
MX&/^N%+_ ,)+X\Y_XHC3_P#P??\ VBOFCQ_\5]?\6^#C;>)O$]IX=NVM]!N+
M318($":V9;B-II4\U!*0"N (RNS:2V017JW[0NKP:+\2_AK<77C&/P-;^3JP
M;5Y%@(7]U$0F9U:,9('W@<\@8)! !WZ^)O'YW;O VG+@X'_%0 Y'K_J*'\3>
M/P!M\#:>QR,C^WP,#N?]17DF@?%_X@W^H^"]%OE%OJ7C*TL;VSF%FJK:)$2=
M0RI'&Z-8V4-D@SX[<0_MAW,UG>V.[7[C3+6X\+Z_$MGOB6&ZF$$952&4LS8W
M$!6!PAQCYL@'L?\ PDOCW_H2-/\ _!__ /:*1?$WCXEL^!]. !X/]OCD8_ZX
M5X7XK^*?COX=)?:#_P )!_:,$4VC^9KMU%:6C:=!<Q3F3YS'Y*KO@15>5&V^
M9\Q8X->H?#KQ9XL\<_ G4-3AU&UF\2;+V/3=2MPDL<YC9Q!(<(L;DX )1=AY
M*\$4 =')XF\?*A*>!M/=L?=_M\#_ -H4[_A)?'O_ $)&G_\ @_'_ ,8KYMC_
M &B?&GCRTUFW2.*#2M6TN[UNP$]BC!-.M[>>&XBD#*0Q:Y2+KSMEQTJ%9-1U
M?Q;#81^+;FSU&?Q-X?F@MA';-]AA?2R?,AB,?"YWJN[<F5Z$@Y L?2P\3>/B
M[ ^!M."@##?V^.?_ "!2OXF\?!&*^!M/9@#A?[? S_Y KYW'Q7\8C5=05-5M
M?[=MA#HXUI].@,TB?V\]IO8!0,F/G: %W9( KWKX4Z[KVI6'C/3=2U-M9OM$
MUF?3K6_N(8HI)D$,4B>8(U5-P,I&5500!Q0!?'B;QWNV_P#"$Z=GKC^WQ_\
M&*;_ ,)-X_\ ,Q_P@VG;<9W?\) .OICR*\&^&5]\-;/1O"%U/;QWWQK2X/\
M:$-BP_MUK_#?:!=X(D^SYSG?^[V[-H^[6'H/[0_Q#U7POJERFOZ>VI/IMO<S
M1?Z-</I%U)>PP^7Y4<8,:[9)%,=PS293(/7 !]+CQ+X]_P"A(T\?]Q__ .T4
MT^)_'N,KX'TYCD C_A(!QZ_\L.U>$O=:GH?Q4U?1;[Q?<ZYJ;^+-(A U""S,
ML$;Z<W^DQ1B$",EPP# ;<J1C.[/&?"?Q#??#;PM:)I]];Z9'J.GZ//JGB26P
MM5FM$N;V[$]Q(XC57QM4!I0P4ON;/- 'U7_PDOCS_H2-/_\ !]_]HIJ^)O'Y
M=@? VG!1C#?\) .?_(%?._Q0_:*U?PUH9_X1[XB_VS/9:=<W]OJ#6-E9P:EL
MG=$!:4,;KA"I%I&@;[V]0P%)JGQ5\1>$=8\6BQ\3NG]H^+($O)[NYLX1I5K)
MIT<L;(\T12)9''EJ\H93MP/F)) /HE_$WC\1DKX&T]F X7_A( ,_^0*=_P )
M+X]_Z$C3_P#P?_\ VBJ'P0^(4_C+P3HK:UJ5A<^(+J">X5;609N;9)S&MPJX
M7*D;,LHV$M\O!%>4^/?CQK6C?&^#1M.\0;+2#7[#2;G1[A+.)6BF6/>RQG?<
MR']X")LQ1@_+AL9(![(/$WC[>1_P@^G;<#!_M\<]?^F'T_.AO$OCT*2/ ^GD
MXZ?V^!_[0KY_;XS?$/1?"OA_6)_$@O\ _A(=)N+N;S=.@$6E".^MX6N(PB L
M$AF=V$A893/RC(KTK]G+4X]0U+XI7-IXC7QE#_;Z"+5D\K%R!8VP',06,D8V
MDH #CI0!VR^)O'Q52? ^G@GJ/[?''_D"D/B;Q]O _P"$&T[;@DM_;XZ^G^HK
MYCF^+OB"?7-,\3P>)X=:\50>%M3GO-%%K$?[!E-U:*ZM'& ^(UW';*68^43G
M!P/?_@KXWO/$^L>+=/7Q,GC?0M-:V^Q>(HT@'G/)&6EA+0*L3F,A3E5&!( <
MD9H W_\ A)?'O_0D:?\ ^#__ .T4B>)O'S*I;P/IZD@9']O@X_\ (%?-GA;X
M@^.?A;\*M$ETK4SKR7WAG4M0MM-GLX@EB\%S$JNC(H=P$F=F#LV2G&T<5O>&
M/BSXZ\6W6E:-8^,K9[:]\0Q:>-=M/L=_-Y1L9YY(]\<*VY8-&A!520&PW(Y
M/=&\3>/PZ@>!M.*G.3_PD X_\@4[_A)?'O\ T)&G_P#@_'_QBOEK7OC3XS\6
M^%O&^F:MJ=H?/T77%OM%:6!IM-$*NL3"**,2QGA0WGN0^_*8X%=UI_QFUWP]
MI>IZM8^+$\;>#_#?]EWFHZI#;0']S*LB7=N&B4#,(\J8#[ZCY6+9H"Q[2GB;
MQ^5RW@;3U.3Q_;X/T_Y84K>)O'P*X\#Z<03R?[?' Q_UPKCO&.O:^/V7-7US
M74MYM:N--:^>VN+9'CA61]Z0M&1M;8C*IR#DJ2:Y(^,/B#K.OV\-MXT?3;74
MO&MYX?BAATVU?[+:00SR94NA+2,8U&6R  .,Y) /7_\ A)?'G/\ Q1&G_P#@
M^_\ M%-7Q-X_.[=X&TY<' _XJ '(]?\ 45X)X+^,GQ+\:>(+_2;76;*'7)[?
M5 =(E:VEDTV6!B+?]RD7F1Y(56,[$/YF4QP*UK;XZZ_XNM]%URX\0_\ " >"
M==U"6UCU:>W@5[,6]L-R%YT9%:6X\Y<N",0X7!;- 6/97\3>/P!M\#:>QR,C
M^WP,#N?]13O^$E\>_P#0D:?_ .#_ /\ M%>(:!\<_$.L-IC>(_&<'@DC3K:Y
MT\?V9'+_ ,)"[W<L3,L+ R.&CCA(C@*L#,#DC KA_&_QYUOQ3;>,-('B+^T-
M'U+0=?5[*X2S22T>W4^7MAAW2P\!AB>5F?!(5.@ L?4R^)O'Q+9\#Z< #P?[
M?'(Q_P!<*23Q-X^5"4\#:>[8^[_;X'_M"O XO&>H^*-=\+:1:^+4\7Z/9Z[I
M#VVOPPP 0W,MK=^;;YB4(WE[8V"D%E$@#$FO4_@3\0O%'Q!U358M9(@C\.P)
MH^HH(%07&JJ[>?(IQD($$1 ''[T^@P".K_X27Q[_ -"1I_\ X/Q_\8IH\3>/
MB[ ^!M."@##?V^.?_(%>*ZI\</$5EI_B2^A\8PGQ1;3:C"W@LZ8DYTZ"&?8E
MRVP"5-L6)2TK%)-P"@9%36?Q0\4ZWXKLO#.@>/O[;T.YURVLD\76UK9RR2(]
MC<3S0H4C\AG1HHR&"<;P&!(.09[*_B;Q\$8KX&T]F .%_M\#/_D"E_X27QYG
M_D2-/_\ !]_]HKYZU']H+Q=I,'A>:_\ $\*J!+%<6UI%:I>7SQZA+;^8+>95
M%P&1%!CMI$D5B3M(*BL?5]8U)=.\4:7#XDN;_5%N/&(:9TMWO; HBM&D;"+=
M&&4@X[AAC "X /IO_A)O'_F8_P"$&T[;C.[_ (2 =?3'D4O_  DOCW!_XH?3
M_P#P?C_XQ7B7A[X]W-M;6?A^+QC:W^HS:]HECIQ/V=[BYTZ>WMS+,H10'4NT
MP\P+@$8SQBN&L/C-XJ\&>"M TVR\8+% EOJMQ-JVIW5DC/?1WC*+-S)$0=JD
M.8E F8.-K "@+'U*GB;Q\44MX&T]6(&5_M\''_D"E/B;Q]O _P"$'T[;@Y/]
MOC@\?],/K^5<Q\6OB7J/A3X5^&]4GOV\/ZIJTUI!-<6R0!87DC+NOFW96*$9
M4@/*K=AL+$8\C\-?&7Q_XU\->;!XM6PFT_0M<U&2ZM+.VG-W+9W?E0;BT6S:
MR8W;%3=G*[: /H3_ (27QYC_ )$C3\_]A[_[134\3^/V0%O VG*W]W_A( ?_
M &A7S_XE^)NI>,_$/AZ'6?$\&E7<?BO0A:^%%AB!NK9U@E-T"1YIR[N P;8
MA4@MS7:?M2?&'5OAY=06.B>('T2_72+G4HT9;...X=" B&2X#M)SD>3!&7.X
M'>O&0#TQO$WCX,H'@;3B">3_ &^../\ KA3O^$E\>_\ 0D:?_P"#_P#^T5XA
MIOQW\0:EXMF$7BZUEU$:OH]K:^#XK>#-S:W-M;R7$N=OG'9YLKAU8*H0AL@C
M&+H_[0WC"3PE%J6F>*K;Q?J<^D7MUJEE'90D:"\5Q'''(4B4/C8TA*R$[_+)
M7 R* /HAO$OCT*2/ ^GDXZ?V^!_[0H7Q-X^*J3X'T\$]1_;XX_\ (%>&77Q4
MU2X\26=K9>([3QQH^GZNOV#Q,]K;2%I&TN[EDC5XD6(M&R)\R $+)M;/.<+Q
M1XY\83^'O#2Z]X[NDM+^R\.^(KF^CM[2U%FTM\B2H&\K:(<%6_>;B"O+%25H
M ^CSXF\?;P/^$&T[;@DM_;XZ^G^HIW_"2^/?^A(T_P#\'_\ ]HKMT(9%(;>"
M.&]?>G4".%3Q-X^95+>!]/4D#(_M\''_ ) I&\3>/PZ@>!M.*G.3_P ) ./_
M "!7=T4 <-_PDOCW_H2-/_\ !^/_ (Q34\3>/RN6\#:>IR>/[?!^G_+"N[HH
M X5O$WCX%<>!].()Y/\ ;XX&/^N%+_PDOCSG_BB-/_\ !]_]HKN:* .$7Q-X
M_.[=X&TY<' _XJ '(]?]10_B;Q^ -O@;3V.1D?V^!@=S_J*[NB@#AO\ A)?'
MO_0D:?\ ^#__ .T4B^)O'Q+9\#Z< #P?[?'(Q_UPKNJ* .$D\3>/E0E/ VGN
MV/N_V^!_[0IW_"2^/?\ H2-/_P#!^/\ XQ7<T4 <(/$WCXNP/@;3@H PW]OC
MG_R!2OXF\?!&*^!M/9@#A?[? S_Y KNJ* .&_P"$E\>9_P"1(T__ ,'W_P!H
MIO\ PDWC_P S'_"#:=MQG=_PD Z^F/(KNZ* .%_X27Q[@_\ %#Z?_P"#\?\
MQBD3Q-X^**6\#:>K$#*_V^#C_P @5W=% '"GQ-X^W@?\(/IVW!R?[?'!X_Z8
M?7\J7_A)?'F/^1(T_/\ V'O_ +17<T4 <(GB?Q^R MX&TY6_N_\ "0 _^T*&
M\3>/@R@>!M.()Y/]OCCC_KA7=T4 <-_PDOCW_H2-/_\ !_\ _:*:OB;Q\5)/
M@;3@<GC^WQZ\?\L*[NB@#A)/$WCY2-G@;3G&<'_B?@8'K_J*=_PDOCW/_(D:
M?_X/Q_\ &*[FB@#A%\3>/B6W>!M.4 X!_M\'(]?]12MXF\?  CP-IY.1Q_;X
M'?G_ )85W5% '#?\)+X\_P"A(T__ ,'W_P!HH_X27Q[_ -"1I_\ X/Q_\8KN
M:* .$3Q-X_*Y;P-IZG)X_M\'Z?\ +"E;Q-X^!7'@?3B">3_;XX&/^N%=U10!
MPW_"2^/.?^*(T_\ \'W_ -HIJ^)O'YW;O VG+@X'_%0 Y'K_ *BN[HH X1_$
MWC\ ;? VGL<C(_M\# [G_45M>&M5\1ZA<RIK7A^UT>%4RDD&I?:2[9Z$>6N.
M.^:Z&B@ HHHH \W\8_!2'Q;JFKW,7BOQ#H=IK4"V^JZ;ITENUO>($*<B:&1H
MF*?*6B9"1[X-+'\!O#D%D+2&;4(+9=:37$CCF4;)4@$"Q@[<^7L4=]V>=U>C
MT4 >&:%^R+X6T*2P9=:UJ=;&*&"WC(LX45(KF&Y3<(K=-[%X$#.V68%LG.".
MC_X9]T./QQ<>([?4M3M!<7QU.;3K?R$B>Y*;2_F^5YX!X8H)0NX9Q7J%% 'G
M?PX^"6E_#CQ#J>N0ZIJ.KZKJ%O':2W-^MNKF)&9EWF&*,ROECF27>Y_O=<^B
M444 %%%% !1110 4444 %%%% &1XG\*Z;XPT:?2M4@,UG.\;R(CE"QC=73D8
M/#(OY5K*H4    =A2T4 -"*&+!0&/4XY-)Y2>7LV+L_NXX_*GT4 %-9%<$,H
M(/4$=:=10 A4$@X&1T-#*&&" 1Z&EHH PAX,TT^,?^$GD%Q-JJVILXC+<.T4
M$9(+^7&3M0L57<P&3M'-;A ...E+10 A 8$$ @\$&@    8 ["EHH *3 SG'
M-+10 4444 -$:ARX4!R,%L<D4!%4D@ %N20.M.HH 3 SG'-! (((R#VI:* &
M^6HV_*/EX7CI]*&17!#*"",$$=:=10!5.F6IU%+\P*;Q(3 LQZK&2&*CT!*J
M3]!Z59VKN+8&XC&<<TM% !2!0H    Z 4M% "!0"2  3U]Z%4*,* !Z"EHH
M*:J*@PJA1Z 8IU% #0BABP4!CU..36)XO\%Z9XYT@:7JHN&T\RK++!;W#PK.
M <[)-A&]#W4\'O6[10 @ 4  8 Z 4M%% #0BABP4!CU..32LH888 CT-+10
MA4,02 2.02.E"JJDD  DY.!UI:* &-&K1L@RH8')4X/-8_A#P=IO@?2#I^F+
M.8WFDN99KJ=YYII7;+R22.2S,3W)Z  < 5MT4 (% 8M@;CP3CFA5"C"@ >@I
M:* &E%8J2H)7D$CI2X SQUI:* &A%!R% .,9QVH,:MU4'G/([^M.HH 1E5U*
ML P/8C-+110 FT;LX&>F:"JL02 2.A(Z4M% &1I'A73="U+6;^S@,=UJ]P+J
M[<N6WR"-(@0#]WY8T&!Z9I?"OA;3O!>@6>C:3";?3[1=D4;.7(&2>6/)Y)ZU
MK44 (JA1A0 /04$ C!&12T4 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !117@O[3J7WCJ;0?ASI>F76LG41)JFJ6]E<1P2):0C$9WR,JC,[Q$<\
M^6U 'O5%?#GC[Q]K?BKPQ97&H>)]1\-:_;>#-;TW4-.@E@4/J5I) LRC<C$L
M5#2?*<[,$$#=GO\ 2_C5KAURU2T\9PZI>_VY%I4'AGRK5VNM-,*M_:.Y$$A)
M4F;S%(BP-NW/- SZDHKY-TKQ[\2M1\*Z1>R^/)8[F[\%7?BN1HM+M !-'Y7E
MP &,_NOF;=_$<\,O&$\.?'KQUXF^)%EITFIV6EO=ZC#9)HC26^]K5[97-RD/
MEM<%LL7$F_RL+M(SDT ?6=%>-_ GXA>*/B#JFJQ:R1!'X=@31]100*@N-55V
M\^13C(0((B ./WI]!CV2@04444 %%%% !1110 5A^)KC3;HVNA7FI3:?=ZJ7
M2V%I.T,\AC&]]CKR, 9/M]:W*\?^.'P]U/Q7XK\%:MI&CQ7M[IW]H0+J.(?,
MTYYK9DAN/WC [4DVD[,L."%- '2GX1V9<-_PDGBS@$8_M^YQ_P"A52TKP%HF
MMM?+8^+?$]T;*Y:TN-FO7/[J90"R'YNH##\ZX_X$_#W6/"WBJ&\_X16;P;IL
M>@Q66I0S74$O]J:B) 3=?NI'W$ /F63:[^8,CCCG;7X!W-Y\0W6]\&0)H'_"
M7WVM7,X>W2"]ADLR(&94?>VV;@JZ\$Y (YH&>P)\)+-%4?\ "2>*VV@#+:]<
MDGZ_-2-\(K-G5O\ A)/%@VYX&OW.#]?FKYD7X(?$:^?7I8O",FC7&IZ#?V5X
MMI<6L"3W3SQ/%^]^TR33G:LF)IF!&<!4SBNQ\=_ ?5+9O$%CH?A>X;PV^KVE
M]9:?IQLI8"19F.9WL[EUCE4R8W*7C;=^\4DCD ]/_P"$;\._\)F?"R^*?&4N
MM"T%Z\,>IWSQQ1%F52\H_=H6*MA68$[3@'%;:?"*S1<?\)+XL/).3KUR3S_P
M*O =1^ 7C2^T75+Z/PW8:7K]UH>B6EQ]@DB>2Y6"XD:[M5>65B=T0B4B20HV
M I<@9&U\/_@1J\^O>%'U_0;A?#=CJ6I7RZ9?R6J):;HH!;XM[=S&BF2.1UC0
MN%/S':3@ 'HGBO0_"?@P.VM>-O%%B8;62_9/[<NW;R$*H[[5)) ,B#IU(KHE
M^$]F5R/$?BH@\_\ (>N?_BJ\P_:6^#^J^/O$*7ND^%TUJ:?PUJ&D"]1[>.2V
MFDDA>/+R.K %5E4%,X+<X!)KG?'7P%\26=_JEGX:T3R_!/\ ;5G?'0K,6LJ7
M<8LFCE9;>>18FQ-L=DD*[B-WS$#(![>OPBLTW?\ %2^+#DYYU^YX^GS4/\(K
M-P!_PDGBP8(.1KUR.G_ JY#2OA]K\/[,]UX6N[74Y=7EM9T2Q2_@CNXT:5F2
M%9<-""J$*%.Y, (6(^:O)Y?A'XXN?!UAHEQX MIM'&HWDJ0+;68FC5H8Q&[6
M37ILXR7\WYDW[=H98E9VH ]^@^'6F7.I75BGB/QA]HM41Y-VKWBIA\[=KD[6
M/RG(4DCC.,BJWAWP1H/BBSGO-+\6^*[NWCNIK5W_ +;NUVRQ.8Y%PQ!X9&&>
MAZC(KQC1?@]X^BTC1F\1>'[C7+*VM="35=$>^MY7U$6\%RD\?S2B-]LDD+D.
MP5]O4XQ7I_PM\ :MX?\ @3KGA^;0[C1+VZFU9[72X]0C6:*.>>9X4$Z&14;:
MZX8;MI^E &YJ_P /]$TIK&"^\7>*+62_G6TM@=?N0TLI4L%7#=<(Q_ UH?\
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
M &I$D6[8BIN)8[1C)/4TZBB@"-[>*66.5XD>6/.QV4%ESUP>V:DHHH ****
M"BBB@!" P((!!X(-(B+&BHBA$48"J, "G44 %%%% !117A>I?$OXJ>(?BMXV
M\,>"-%\'R:=X9>RCDN=?O[J&:5I[99N%BA<8&XCJ* /=**\7^V_M$?\ 0&^&
M/_@WU'_Y%H^V_M$?] ;X8_\ @WU'_P"1: /:**\7^V_M$?\ 0&^&/_@WU'_Y
M%H^V_M$?] ;X8_\ @WU'_P"1: /:**\7^V_M$?\ 0&^&/_@WU'_Y%H^V_M$?
M] ;X8_\ @WU'_P"1: /:**\7^V_M$?\ 0&^&/_@WU'_Y%H^V_M$?] ;X8_\
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
MX_M\'Z?\L*5O$WCX%<>!].()Y/\ ;XX&/^N% '=45PW_  DOCSG_ (HC3_\
MP??_ &BFKXF\?G=N\#:<N#@?\5 #D>O^HH [NBN$?Q-X_ &WP-I['(R/[? P
M.Y_U%._X27Q[_P!"1I__ (/_ /[10!W-%<*OB;Q\2V? ^G  \'^WQR,?]<*2
M3Q-X^5"4\#:>[8^[_;X'_M"@#NZ*X;_A)?'O_0D:?_X/Q_\ &*:/$WCXNP/@
M;3@H PW]OCG_ ,@4 =W17"OXF\?!&*^!M/9@#A?[? S_ .0*7_A)?'F?^1(T
M_P#\'W_VB@#N:\7^$O\ R<+\=O\ K[T;_P!-R5Z3X:U3Q#J$LXUO0;;1T4 Q
MM!J/VHN>X(\M,?K7FWPE_P"3A?CM_P!?>C?^FY* /:***\9U#XF^,/#GC>[L
M;N&PU[3$U=-.BL])TQXKS8]FUP&WR711BN I^49&3QTH ]FHKQ;X._%?Q9\1
M]<#7UG;VFD+#"SB#2WX=[6*4@W!N2%(:3&WRCP!\W>GWWQ>\0Z7XVOM/N8=/
M.G-?16M@([9W,R?:[>"0B=)F1G42ONC9(F1@O#C)H ]FHKYZN/C_ .)M/M]%
MNC!I>J-JB6^H#3K;3[N*6*S;<TJI,S-'/(J[1\NT[@04Y!%*U_:9U?Q$+J/2
M&TF'&CSWEM>S6,\\$EU&K3>5Q*@(:W"D8?<#D\CB@#Z2HKQ/6OB_XE\-^'=3
MEN1I-[J=G-:1AXK66**036QF)\LS,1@C ^;H#^'.Z1\<O'NLW-C906=F;B:X
M>*1UT"4S*%@BD(-J;X,HS*,2%_F!!"XY(!B?%>?0-,^/#:A+)HVJ:^+S38H=
M)U!&M];B7*@2Z9,K$R0?,QEBV!3MEW, <5A:%\;_ !%INF:#!%XEM-*N_*CA
M@\,Q6-NJRVO]E/<?:E&S>!YRE<J0F$VXSDUZTOQ9\2WGB'1O*CTN#1[R;R&G
M:S>>2-I+F2")9"D^Z#=L4JS1LC,2I9,9K(\82R-8^%OB'I5LTFN71^U36EQ-
M/=V]NRVSI)/%8BXCWL!\I9-S*I+!&- SA/%_QO\ &/@_1IK&[\92G5'MX-0M
M[U[2PMPS/9"9H"\B[ @D^ZBQO,X.T-P6J/2_CEJ/@^T\5:C>>+8XVODU*]CA
MO3 1#>?8K.6UBC&T'Y@\I5#G<%/7!KT"]_:*UDQP_9]$A:.:[N;>'4Y8S]B<
M*46)U/F!\#S-SY5<J#C;6K=_&#Q%HEWXOTV_72+V^T#3[FY6[M[>2**XE1;=
MT_=F5BN!<;67<3D @C.* /+O%/QJ^(.AZ=%J#>)X+:VOKW55@EN4M+:&%K64
M)!;;GB8R>8"S,H_>-LPA4YS<\0_%77?"-M'K1UF+1[G4=>O_ .T+2,0?:9Q
M\44,42W"A90(P,PH\<K;P4)P0?3[_P")?B?4/"_A2^T]]$L;K4=/O-1NFO[.
M6:$"!58*FV9"F<_>);'H:Q_'/Q$U/P.^C:OX?TJ%(=?LGU_5(;BSDN?*9%MD
M+96:/R1L?YG"R'Y0=AYR 2ZO-JL7PM^+EAHWVDBPU2ZBM/L6?.6%TBFG6+'.
MX&6<+CG. .E>?Z!\2?!W@;QT6\ P>%]'\%M)8+J6M:!J2R6:Q,[)B\C\E8K>
MX);EO,9RH&XBO6_@;K6L7EGKCWEHD&FK>WDL/E::\1F?[3+N;SVN)/-)QS^[
M3&>.,"LKPU\9=9O-5\-6UX^DO'X@^SW26T&FW4)MX9=Q*^>S&*9@3&I92I#$
M@IR, 'F-W^TIXA>[\)R6WB(>;=?9#/920VD45S'/<RQ[U# S2D*J\QB-$V_,
M7+8"77QU\8>'Y_!<-SXQ>_U*]M=+NKRUGM;&VBE6\9MVQ IFEV# !0(J;?G9
MRV!VE[^TSJ-O-(BV=B771KN<3?9IF3[:HFDACW!L;3%#DKN#$NN"!2V7[1VL
M6=_IEOJUI:,7U9K6\F&G36TD5J!"C,T/FRF$B6=2&D;#(A8 94T </??$7QI
M"_A*\U+Q5<:C=)#8ZS#$+>VMTGN+G3KYEM"%C^9&DA15'W\R$;B=N,W_ (:-
M\=_V! __  DVG?8I)"SZ[]KL<0S"V$@M6D\GR1EB3Y8!FV@INW8:O1[3X_\
MB[7=$U%+>'1-)US3+ 7\\=U9S7,4L;3A(F0">,A61ASDX=''.*O7OQ5\>V%E
MXDD:WT^Y&G:DFFP20^'I?)FD-U%"7!-]EV^=B(\+SCYSCD X_2OB/J/B;XDZ
M%<^(O&EKH.IVJ:H)])$,*+I,0MXO+N/WBA\."6S+D'<-H&TYZ']HS6Y?!GQ5
M\"^,8A),GA_3+^YGCCR?-@DEM8'&!UQYJM_P&NG@^)7C"TUF+[=_9?V."73;
M>[M)-+EMKN9[J5X\H?M,BQ[/E.PA\@-\PSPGB3XI^+[3XIWOAO3+;3_L&];2
MUGN["4I]H>T:= \ZSCJRA=GE#@D[\C! /!_"GQ!\8_"V"T\/6NHV]DW]I7MQ
M(UY-$HU*]>_VRP8='>3&[.R'#_O <X&#H7'QCU&W\22ZQ<^-C'K5UIL-G=0P
M0V49T69KV3=;,\P$<( 0#?.)&![-O0#WQ?BMJ1^$6H^-;O3H+*63/]E6$B-*
MX9B(HA+L)+%I23A,':0.N37(>%OVCM1U_P 0Z587&F64%IJEU96L$WER _:"
MF;N%E8\.IY3/9'R#MH \4U/QYJ7BA+/Q+J#VUYJ4NCQ/,SQ(\,KK9ZHI)0KM
M(.W)&T#V'2O0V^,?C#4=8M=.L?%D:W^H7_V74+&.SMW?P_\ \3**WC0#9D&2
M%W(\[=DIN7Y>*]'\9?%'Q7HGBKQ?!86ULVCZ%8_:%:32WE#O]F,N'G%RH3YL
M# B.1W&<BWXM^)NMV'C;_A'--6PM7FA@F6]N+*:[*YAN9)%\F.16E8B!0JJ0
M?O'YL 4 <[XCUW5=?_9Y:XUBZGOXX=5^QZS=P1^7)-I\.HF*X=EC  S"A+[
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
M;=1WELLTD!ECZ>9&Y1U_!E8?A0!?HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQ?X2_\ )POQV_Z^]&_]-R5[
M17B_PE_Y.%^.W_7WHW_IN2@#VBO ];^!?B;7_$&I?Z1IVF://<32J8;V:=B9
M'),D<<D>;=L'YD24H[?-A<5[Y10!\^7WP,\9>)[VWN=3O=(TQ]/BB_LT6<@F
M^S3102)'(K"VB?86=<Q.SX4N WS8J+3/V?/%]II]Q--K6G2:A>Z,^B7-JI86
MR0BUCCB9'\O>2)(@Q!& )'QSU^B** /#O&OP:\3^)[C5;"";3+?2I[R?48+P
MW4@N/,DM!;^68Q$0H!+-O#D]!MZFH++X+>+/#_C6'5+*\BU2W6>X:2ZGUZXM
M+NX21X&4S;;>19"JQ&/:"JE40\$G'O%% 'DGC7X:>*-7\4ZA+I-WI\&E:K=6
M=S=W%PZF:)85"M$(GMY ZD#<I$D3*S$Y]>5OO@)XN\6Z?#8ZMJ6FZ)!'9VMF
M7TV9KEY#;0S)#)^\A4+EYRY')7RUPQ)X^A:* /GJ+]G[Q;/:XO-<M'N-16ZB
MU &XDDBLDGNUFE-HAC"L9(PR,)!U"X.-P)IG[._B33=6TJ_&L6$D^GW5A;F1
MB^;O3;>X:14<! %E 6(KC(R'&0&S7T+10!XLOPH\4Z9JWA:[LI+29=.@NH;E
M8]9GL<^9="9?N6\GFKM&"K;>>_>G^%?A5XFL/AMXF\+:FUHQO[*:UMI3K,]W
M$2X<?ZI[=/)7##(4O^G/LU% 'S9:?L\^,='U6#4K>^L;RYBDAC'E:M<:?)Y$
M,5S!$/-2"0@B.2'(Q@G?ST)UKOX+>,M=MET^[FT;2;1);U3=VEY+=3S07=VD
MLJLKVZ*"$4K@E@Q8$XQS[[10!X#9?"'Q[HFCZIH\!T+5K::.SBM[V[U*:WEV
M6L[/$KQK;.O,>Q20W!S@'ONWWP]\7S:W?^($LM!FU&_%S!)IMQJ$S6\4<UM:
M1%Q+]GRS!K4Y4HNY7^\#Q7L-% 'AOPW^ 6K?#[QAI.I1ZG:SZ?%]J-]#E]\T
MI01PS+Q@,4^5P3_ F"<4V#]G*]72]!SXEOH-9M9")M0@N0&MH1%<!([8",#
M><$[QDC.6X%>Z44 > P? GQ&WAI_#+_V-9:==RVUU/J-K=3//;20VZ0[(D>/
MYE)C!W-("!(X(/4UKWX%>./$^I-<:CK-EH<,.F'3[:+2+G<01%L +"VB?R6[
MQLS%1G:XSQ]#T4 ?.>K?LX>)-:%_+-JFFPC6/+AOM/C=S#;0PRP&W$,GEAW*
M)"1\^.7.*[KX;^ O$7A30]?TS5OL5W>:Y)/J-QJ%M.Q07,D,$;)M9 <%ED(/
M957C)P/4J* /#O\ A1NM>'=(TJ?1[N#6_$ TY]-OYM9O6B38UN(E\MHX3\L9
M&0NP%@QRV:R;+]G77M%TY(X[VTUPK'<HEK?:C<VT=L6NTF1[=X5W1.RH-S8;
M:R(1N&X-]#T4 >#VGPE\=65M%$LNBSR7#VEU<7,]XX>&:VN99D0!+=1-N#1J
MTA"'(=BI)Q7-W7[+'B6*RNH+3Q%9SS16$[6%Y<@H\=[/'#'.KJB8,+K$V3DM
MF5C@D U].44 <MX0\+7>@:KK]S<20O'?O;-$(F)($=M'$V[('\2$C&>,?2O.
M6^#?B2VT1=*@;2;F._T>UTF^N9[B17L_)ED?S(%$1\PD2$@$QX9%.3V]OHH
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
M[L9Q_:<&<?\ ?5:__"-Z1_T"[+_P'3_"D_X1G1]V[^RK'=C&?LR9_E0!E?\
M"TO!?_0WZ#_X,X?_ (JA?BGX+=05\7Z"0>01J<'/_CU:W_"-:1_T"K+_ ,!T
M_P *!X9T=0 -*L0!T MDX_2@#)_X6GX+W ?\)?H.2,X_M.#_ .*I?^%H^#,9
M_P"$NT+_ ,&4/_Q5:O\ PC6D9S_95EGIG[.G^%'_  C>D?\ 0+LO_ =/\* ,
MA?BIX*< KXPT%@>XU.#_ .*H/Q4\% @'Q?H()X .IP<_^/5K#PSHZK@:38@>
M@MD_PI3X9T<D$Z58DCI_HR<?I0!D_P#"TO!G_0W:%_X,X?\ XJ@?%3P6PR/%
M^@D=.-3@_P#BJUO^$;TC_H%67_@.G^% \,Z.!@:58@>GV9/\* ,H_%'P8#@^
M+M"!_P"PE#_\53?^%J>"MP7_ (2_0=Q&<?VG!G_T*M<^&](/72K(_P#;NG^%
M'_",Z/NS_95CGIG[,G^% &3_ ,+2\&?]#=H7_@SA_P#BJ%^*?@MP"OB_06!Z
M$:G#S_X]6M_PC>D?] JR_P# =/\ "@>&M(4 #2K( = +=./TH R#\5/!0(!\
M8:"">@_M.#G_ ,>I?^%I>#/^ANT'_P &</\ \56J?#.CD@G2K$D=#]F3C]*7
M_A&M(_Z!5E_X#I_A0!D+\5/!3C*^+]!(]1J<'_Q5*?BGX+! /B_003P/^)G!
MS_X]6J/#.C@8&DV('H+9/\*4^&M()!.E61(Y'^CI_A0!E?\ "T?!F/\ D;M"
M_P#!E#_\531\5/!39QXPT$X.#C4X./\ QZM?_A&](_Z!=E_X#I_A2#PSHZYQ
MI-B,\G%LG/Z4 9+?%3P4O7Q?H(YQSJ<'_P 52_\ "TO!G_0W:%_X,X?_ (JM
M4^&='( .DV) YYMD_P *7_A&](_Z!5E_X#I_A0!DCXI^"R2!XOT$D'!_XF<'
M'_CU#_%3P7&,MXOT%1ZG4X!_[-6L/#6D#.-*LAGD_P"CIS^E(WAG1V7!TJQ(
M]#;)_A0!E?\ "TO!G_0W:#_X,X?_ (JD'Q4\%%BO_"7Z#D<D?VG!Q_X]6O\
M\(UI'_0*LO\ P'3_  H_X1G1P2?[*L<GJ?LR?X4 9+?%/P6BDMXOT$ <DG4X
M./\ QZE_X6CX,/\ S-VA?^#*'_XJM4^&='((.E6)!Z@VR?X4?\(WI'_0+LO_
M  '3_"@"/1?%FA^)'E32-9T_5'B ,BV5TDQ0'H3M)Q7EOPE_Y.%^.W_7WHW_
M *;DKUZTTNST]F-K:06Q;AC#&J9^N!7D/PE_Y.%^.W_7WHW_ *;DH ]HHHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \7^)_\
MR<K\$?\ KEKW_I+%7M%>+_$__DY7X(_]<M>_])8J]HH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH *\7^$O\ R<+\=O\ K[T;_P!-R5[17B_PE_Y.
M%^.W_7WHW_IN2@#VBBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@#Q?XG_\G*_!'_KEKW_I+%7M%>+_ !/_ .3E?@C_ -<M>_\
M26*O:* "BBB@ HHHH **** "BBO(/C[!JNJW?A/2M(U,+/<7$\LF@IK5QHTV
MK1I'RD5W "ZLA8/LR _<@"@#U^BOD_2/CA?^%K>"*S&IWUW9V=U9,GB6_:8V
MMS_:=O;!9GCD,<R1>=_KN9&5<%@2U=+;_&CXAWOCV[\%6[^%'U2VOKNV?5!:
M7#0%(;.WN ?($^X,3.4*^9QUR<8(!]%T5\OZM^U1XA71]#UG3['3)+9K/2KC
M5+);.XF,+7;JI5KDO'%#@,"BXE9NZKP3/X$^-_BG1M%UR/7KW3M7FM=,\0:S
M%=/ \!!M+YHHXFS*P* >F"!M'8D@'TS17S3JG[17C6VM]4OK?2])ELH]1TW1
MK2**VFFG-S=6\$QE8>:H*+YK*$&"QVC<O4^F?";QUXD\>::EQJEK8Z=)9WUW
M87L1B*23F/;Y<D:>:_D_>.^-RQ!&,]R >E4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !7B_PE_Y.%^.W_7WHW_IN2O:
M*\7^$O\ R<+\=O\ K[T;_P!-R4 >T4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 >+_$__ ).5^"/_ %RU[_TEBKVBO%_B?_R<
MK\$?^N6O?^DL5>T4 %%%% !1110 4444 %8WBKP7X?\ '6FC3O$>AZ=K]@'$
M@MM3M4N(PXZ,%<$ C/7K6S10!QNM_"?P[J7A6;0]/TZST"(V;6$$VG6-NIMX
M"P=HE1HV3RV91NC*E6[BL[X8? _PY\,+6?[);6]Y?3W$ERUVUC;P>4SQI&RP
MQQ1JL2%(T!51SC))->AT4 <C=?"#P)>W-M<7'@OP]/-;0I;P/+I<#&*)/N(N
M5X5<G ' SQ2:A\'_  'JK,;WP5X>O"UQ)>$SZ7 ^9Y,>9(<KR[8&6ZG STKK
MZ* ,.X\#>&[O3+[39_#^ERZ=?;3=VCV<9BN-JJJ^8NW#85$ ST"J.PHTCP-X
M<\/Q:='IF@:9IR:<)!9+:V<<?V82?ZSR\ ;-V!NQC/?-;E% '"^([#4I/$<5
MI#\17T.XU .UEI7V:S:1PBC>8Q(A=PN03UQFJNG^'/$.II-]C^*-S>_9Y6MY
MV@L+%]DJ\,C8C^5AW!Y%<?\ '?X9ZC\0_B;X'ETW[38WFEV&I75CK443-'8W
MH:V,)=AQA]KJ5)^92XKR[PK)XR:"ZN?%NB^,O"^EWVHZW=S6GAR&[,XU$R1"
M EK92[0D"4QL?W3'&[/ H&>^7.C:W9W<<,_Q7F@E>5;989+*P5FF8;D0 QYW
M%02%ZD<UH?\ "$^+/^BB:A_X+++_ .-5\Y:!H_Q'TF[OKH6&OIXVU'4M(O+R
M1TN7LY?^)6RN2W,  G7:X7&W"@X7;5W4+WQ?_P (9IPT"7XAM.SZ?_PE$NLP
M7^V-MLGG_9@JBY!\SR]_V7]V$QLQS0![^G@GQ:JJ&^(NH.0!D_V99#/_ )"K
MA]9\=Z+X?UN72=4_:'T;2]4MW\N?3[R;28IT<CA61E#*>1QCO6M\!Y=7ET;3
MSXBN=?N-4\F[^SG4+6ZAA-I]I'E^9YN<R@;0IE(E*9)7[U:?BO2;ZY^.W@#4
M(K.XEL+;3=5CGNDB8Q1,_P!FV*S 84MM; /7!QTH$3:9X>U_6;1;O3_BA<W]
MHS,JSVUC8R(2K%6 98R,A@0?0@BK">"/%RKAOB-J#')Y_LNR_#_EE7@&F^%?
MB-X(\)V]QX3'B-=9U&W\2&6QNVE>V@D$[O9E87_=Q,<DH0 7W<EJ]*_9LE\3
M27'B$:M=:Q<:2$M?LRZQ;7T;+/M;SMCWI\YA]S( V*V=IY( ,ZS4_#GB'2+4
MW=]\4;JPM(V >:YL+&-!N.U06:, 98J!ZG [U;_X0KQ9S_Q<34/_  667_QJ
MOGC6;[XBQ>)/%%K91^+]5,URY%P8;Z!;9!?PE$\EU>W<>5O"R6LBY0$R)U(S
M_&GB?QE%=K!8ZGXT'C.\G\0QS0VOVEM/E6.WN#9K:@#R690(B!#EMP._Y@*
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
MP^3Q ^E2Z_:6YAO+JPN+RXN88K>WFMUC+K([.-N?, 7CDAO2NXN_&WAVPO\
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
M:NP"DD <U?\  'Q0L?B,VL2:9IFIP6.FW4MG]ONX46&YDCD9)!#ARS %#R5
M.1C/.,SQQ\$M,\<ZMJ5[+K&K:5%J]G'I^K6>GO"(M1@0L523?&S+P[KNC9"5
M8C/3'0>$O .G>#?#MWHMA)<M9W-S=73&5QO5IY7D<*5 P 7('< #DGF@#@9?
MVH_#%F^L1W^DZYIUQIMHE\;:>WA,\\+3I &6))6=&WR)\DHC?!^[6GI_[0OA
MZ?49[#4[#5?#M[;-=)<PZI%$/(>"!+AE9HY'4EH9!(NTG(5LX((KG=%_9%\+
M:-;K -:UJ:%+)-/C3%G"$A6XBN!GRK==[[X5R[[F8$Y)."+'Q3^ 4?C6[^SV
MD9>UUC7H-7U:\N+O8ULD4*0M'"BQY82Q*T;!F& [')X% SM]7^*6GZ1X3T+6
MWT[4IY=<>&+3]*BB07DTLJ%UCVLX12%#$EG"@*<FN O/VE_['\6:C#J/A;7+
M?0;32;74+B1K$)<Z>7N)X9&N TH!0&)2/*#D@EAN7!KTOQQX"M/&]AI\+WEW
MI-YIMVE[87^G^6)K:95905$B.A!5F4JRD$,?8URS_L_Z/=:7KUI?ZYKVIS:Y
MIL>F7M[>74;SNBRRR[U/EX5BTSC &P *%50*!$6J?M&>'M#\376BZCINL6,D
M4%Y/#<3Q1*MT+:-I)?+C\WS0-JL59XU1\?*QR,P6G[2>AW12W_X1_P 0PZM<
M_9&T_29;>%;C4$N5D:%XOWVQ5*PRD^8R%=AW <5G)^R=X974KBZ.LZUY<LM_
M*(%^R* UY')',6D%OYDF!*VTR.VW '3(,WQ$^!LDQT[6O##W4GB+3H["VMW:
M^CMGABMA,%DB9H)$\PB=P1(C(P)&%/- Q+S]J_PA9:?;W$ECJZW+B[>:PDC@
MBN+6.VE,,SN))E!PX("H6=L':IQ7=ZW\4-!T'3/#^IW$\CZ7K;8M;Z)08@#
M\ZLY)! 9$...N!WKRGPO^RLDOAFQ?7];O;/Q1F^%W?:>UO<M)%<W+3F,O/;D
M%E+<2(D; EL8!Q7I_C[X3:)\1?A__P (?J4EY!I@$(2:UF"W">45*D.P;DA<
M$D'(8^M CSG5?VJ]-O[#PC=^%-*O]8_MBZM1-:-:@3I#,UQ&(P#(H6;?;MPQ
MV@*Q)'6MC6/VG_#FB>&8=>N=%UY=/7SQ>NT$,?V!H93%*DA>95=U96^2$R,0
M,@$$$Z6C?L[^%M!U2XOK*34(I9M>3Q#L\U"B3(CJL2C9Q#F21MO7<['=SBN>
M\1?LC^%O$-QJ,CZSK5K_ &C%=P7/E?9'8I<3R3R"-Y+=FB^:5AF,J2H4,6P#
M0,>?VG;'3-7\066KZ'>0M;:S_9>EI#-:AK]1;1SN^Z2=40*KY.\KPR 98E1M
MZ/\ M(^#]>TTWEDU[*K/91PQ>2HDG-TYCCV#=R%=)%?.-IB?J ":6K_LS:%J
MNJ3ZDNMZO;7K7:WL+A+29;>7[.MO(526W=6$B1Q[@X8 H"NVM6P^ 'AFRUSP
MCJS2ZA=7GAJUDM8#<3*RW.\-\\X"C<REY"N-H7S&P,8  ,"+]K?P-+::E=@:
MA]DM;*?4()46&0WT$+A9&B1)2X(+*0LJQE@<@$5ZQX=UA]?T6UU"33KS26G7
M=]CU!46>/GC<$9E!/7@GK7E-G^RKX8LM,U#2TU;6/[)N+.6P@LT-M&MI$[AR
M%98 \A&T*IF:0J.!U)KUNPTZ6RN;V5]0N;Q+B0/'#.(]EL H79'M0':2"WS%
MCECSC  (NT444 %%%% !7B_PE_Y.%^.W_7WHW_IN2O:*\7^$O_)POQV_Z^]&
M_P#3<E 'M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% 'B_P 3_P#DY7X(_P#7+7O_ $EBKVBO%_B?_P G*_!'_KEKW_I+%7M%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7B_P )?^3A?CM_U]Z-
M_P"FY*]HKQ?X2_\ )POQV_Z^]&_]-R4 >T4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 >+_$__DY7X(_]<M>_])8J]HKQ?XG_
M /)ROP1_ZY:]_P"DL5>T4 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %>+_"7_DX7X[?]?>C?^FY*]HKQ?X2_\G"_';_K[T;_ --R4 >T4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 >+_ !/_ .3E
M?@C_ -<M>_\ 26*O:*\7^)__ "<K\$?^N6O?^DL5>T4 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %>+_  E_Y.%^.W_7WHW_ *;DKVBOG&/Q/X@^
M%7QW^*>H/\-O&'B?3-?ETR:ROO#]M;2Q,(K)(W!,D\9!# CH>E 'T=17B_\
MPT=JG_1%?B=_X+['_P"3*/\ AH[5/^B*_$[_ ,%]C_\ )E 'M%%>+_\ #1VJ
M?]$5^)W_ (+['_Y,H_X:.U3_ *(K\3O_  7V/_R90![117B__#1VJ?\ 1%?B
M=_X+['_Y,H_X:.U3_HBOQ._\%]C_ /)E 'M%%>+_ /#1VJ?]$5^)W_@OL?\
MY,H_X:.U3_HBOQ._\%]C_P#)E 'M%%>+_P##1VJ?]$5^)W_@OL?_ ),H_P"&
MCM4_Z(K\3O\ P7V/_P F4 >T45XO_P -':I_T17XG?\ @OL?_DRC_AH[5/\
MHBOQ._\ !?8__)E 'M%%>+_\-':I_P!$5^)W_@OL?_DRC_AH[5/^B*_$[_P7
MV/\ \F4 >T45XO\ \-':I_T17XG?^"^Q_P#DRC_AH[5/^B*_$[_P7V/_ ,F4
M >T45XO_ ,-':I_T17XG?^"^Q_\ DRC_ (:.U3_HBOQ._P#!?8__ "90![11
M7B__  T=JG_1%?B=_P""^Q_^3*/^&CM4_P"B*_$[_P %]C_\F4 >T45XO_PT
M=JG_ $17XG?^"^Q_^3*/^&CM4_Z(K\3O_!?8_P#R90![117B_P#PT=JG_1%?
MB=_X+['_ .3*/^&CM4_Z(K\3O_!?8_\ R90![117B_\ PT=JG_1%?B=_X+['
M_P"3*/\ AH[5/^B*_$[_ ,%]C_\ )E 'M%%>+_\ #1VJ?]$5^)W_ (+['_Y,
MH_X:.U3_ *(K\3O_  7V/_R90![117B__#1VJ?\ 1%?B=_X+['_Y,H_X:.U3
M_HBOQ._\%]C_ /)E 'M%%>+_ /#1VJ?]$5^)W_@OL?\ Y,H_X:.U3_HBOQ._
M\%]C_P#)E 'M%%>+_P##1VJ?]$5^)W_@OL?_ ),H_P"&CM4_Z(K\3O\ P7V/
M_P F4 >T45XO_P -':I_T17XG?\ @OL?_DRC_AH[5/\ HBOQ._\ !?8__)E
M'M%%>+_\-':I_P!$5^)W_@OL?_DRC_AH[5/^B*_$[_P7V/\ \F4 >T45XO\
M\-':I_T17XG?^"^Q_P#DRC_AH[5/^B*_$[_P7V/_ ,F4 >T45XO_ ,-':I_T
M17XG?^"^Q_\ DRC_ (:.U3_HBOQ._P#!?8__ "90![117B__  T=JG_1%?B=
M_P""^Q_^3*/^&CM4_P"B*_$[_P %]C_\F4 'Q/\ ^3E?@C_URU[_ -)8J]HK
MYTB\2:_\4_C]\--57X<^+O"^E:!#JIO+WQ!;6\4>9X$6,+Y4\A))0]0.HKZ+
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BO,_$WPZT;5/BWH&JS>&+&[!L[M[F]?3T?\ ? P>47<K]X -
MM).>#BN!TY_B%X.\(Z-9V#:K/;R6-L]PLMD%>P_?,LBQ[+=VSMV9#)(P&6QW
MKIC14TN66O\ PY]%0RF&*IQE1K+F=M)*V[DM&F]N7JE>ZZZ'T517E6J#Q!XB
M^!=R-1M[BZUJ8#$:V[":11<#:2GEH=VP GY%[G:O0<5IGP_U;3?$%AK<VBVZ
MVS>)+V62?3](:/5T!GE\HO/O)>!\@,0@PI4Y*Y-.-%-.\MM!T<IISA-U:ZC*
M,I1M:]VE?1W6^RT_'0^B:6O#O@YH9T/Q=$EMHLZ1-92BZOKO1YM/NH7WJ1'<
M2Y\J\<G=B11D8)R0V2GB;5OB%I\<MU!=:JUM/JU[$R1V:@VT$986^P):3.5?
MJ6*MG"_,H/(Z'O<J8Y9-?$.A2JKI9R]V][]->W6U]+;J_N5%?/NI^,_']J]I
M%<76I6FNW3O##81:6OV.1?[/>1661HC^\,ZGY=^>,;<5+KWBGQIK-W=7NDZ?
MJBK;6TALIKC0RLD<OV+)*"2+=S+QZ$\<CBG]6EW1HN'Z]U>I"S5[W=NRZ=7M
M:^S['OM%>'Q:O\1-/\9SZ:USJ-U:1.R13360D66#[,6$IV6JQ[_-XQYR] NS
MG-:?A._\5>)/AMXMMM3;5&U(6\L=I=2V_DO*S0?\LU:WA88;(P4."<!FQQ+H
M-*]UT_$YZF35*454E5BXOEV;VD[)[+YH]=HKY[\/KXO\-6=WJU@VOW*3W:J^
MGR::H:5!IB'S=K1!P_FQJO4+GY<9-3>'-1\9:UK&CRZN^NBRL]<@=939-\\4
MEI(&WYM8B4$N 3Y8"[OO8P13P[5WS*QTSR&45*<:T7&*OUO>VUK;WT_JQ[]1
M7B?C3P[K>I_%A!;W6M6UK)=Z?-'<6UJ'A@18;I9&5VB9 064'<3]\''3%'1?
M%'Q+D\1:-!?17J0EK9#YEDRI<1[V$[RA;8JK8&?];$!\I"D'!7L+JZDMKF2R
M652FJE.M'X5)IW35U?MK;KZ'O5%>9>,[OQ?#XLO)]+N=173;-=.,5G;V<<D5
MR9+AEN S&,L=L>"=K#;P37$Z-XG^(^M:PEJ7UVQLKN6U,D\NG#?:@S,LJ@O:
M(JD)MS_K ,9#GFE&@Y*]T11R6I7I>UC5@DDF[MZ72?;L^E^Q]!T5X)+K/Q,T
MW1/,6?5=0GGMD:9Y[!$:VVW?EL8Q';L=QA^;!20_Q!<<5GZUJ'C?7_#WV75C
MK7ER"%K..RTII/M9%X=WVAC;JR;8EC(.V+().#TJEAG_ #(Z(9!4DU>M#EYN
M6Z;?JTK)Z?+:^VI]%T5Y+\5(_$EOXRLKK0KG5H&ET[[,CV5F+B)':[@WELQL
M%;RRY!;CY?8US/B;Q1\1+#Q!J5II/]NW$,"7=O')+IPD#%+<F*8!;4(2T@&"
M)6W%L%%X F-!S2::,,/DM3%0A.G5BN9-ZMJUOE_3/H"DR,XKPGQ/K7Q!\/SW
M%O;7NMZC#;7;>5(NFJ9;I#!"X4/':N@P[2@910>09%VUC7J>./">HZO<Z1!J
M4(U._O;A[C[$&EDE4H+='\NTE+1[2V,[0<8$@JEAV_M+4WI9!.K%-5H>\O=U
M>O76Z5M/)ZZ=[?2%%<'X.N/$J:#XBU/69KZZOA<70M=/-M&@CCC9A&(AM5FW
M#&"S'/%>9Z-XW\=&Y,6K7.NV6DRR0N;U-+\VZ4F"9F2-6LX]PWHF[$3;<_>P
M<U,:#E>S6ART<FJUW54*D?<WU>OII=_=KTN?1%%?./A_QU\2]5CTRY!O)DN+
M.WEB9;(F.=&MMTDC!;8J'\S/'G+@A1L(/S;=I%XS;Q%X6_M:_P!=O+.&YL;N
M:;[ B[7EMKA98V$<(^17$8.1E-_)'!%/#..\D=-7(*M!M5*T-%?1MM^2T[Z?
M\,>Y9 /6EKSK6_#MKXQ^(VI:;K'G&TBTFWDM%BF:(_--)YQ!4@]5B!_X#7)S
MZW\2[7Q:VDVUO>-I277]FI>&R4KM:3SEN=VW&U(!Y6>F\\\U$:/-LSDHY7[=
M6A52DDI/FT5FKZ/6_9JRL^Y[@2!U.* 0>G->)^ K/Q!\19[K3_'MA+=6*0B>
M2WNX'C6&ZW,NV-OL\0*[&88#2\;3OYYW&NM6T_0_B:OA_P WSK6YD.FB"+S6
M6<V\;N$3!#?O&8XP>2:'1L^6^OX#JY5[*HZ#J+G5K_RZM)>]\[O3;N>HT5X3
MKFO?$+0/$US:)=W]S8VR*8KF>U#)-#Y!:25REIY8</D?ZU,;5&PYRS-$\6^,
M-0TJPN/[0U^;1+A;)[S5#HP6\A9XI6F$,0@^:/>(!N$;X#M@\9%?5Y6O='1_
M8-;V:JJK!II/=]=OL[^6[V2N>\T5\_[O'FNP6]YK-YKUM;V=]IKK;6VG(IEC
M,Y+RNHA+EM@0LJX"DME1T&S\7=$UG4O%%TMD^K&&YTZS2$6MKYL*2)?HSMG8
M0&5<-ACR >" <'L/>47)$K)DJT:,Z\==VKM+X?2^DK_(]GHKP'7O$'Q,TK47
MLK9]2N+:WFN([6]>RR]TPE'EB41VCJ5V'@CR01D[\C([OXA:OKMAJ^G);3ZM
M9:<UI*YDT;3A>/)=!DV1."C;4*E^3L![L,5+H--*ZU,9Y/5A*G'VD7SWM9M[
M?*^O32_>QZ'17A7_  DGCYK"[9+C6$O/LLCWJS:/^[LIQ<($2WVPDR*8S)DC
MSL !L$\'8^$]QX@O_%US?:Z-9C\_28HT6^M\0LR7$X+;A!'AMIC(#*C$-DKZ
M-T'&+DVM"ZN35*-&=:52+4>BO=_@NFM^VNS3/7:***YCYX**** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /,+GXDZKH?C?6
M[6\M[>YT&'4K2QCE-P(YK<RVZMPFS#+N))+." 3CA:QH/V@-0N5N4A\,B>=%
MMYXA%+<D-#*)2'VFV$CX\K_EDC@AL@X!-=#XG\1>"]'US6[_ /L:UO\ Q-IE
MI)/-.-.;=E8"XC:Y\LJI,8P 6S@XQVK*L]3^%TV@RRCPM:QQ$Q_:+)/#DAD4
MB/S5)C$.XH%8D/C;R<')Q7?&,&DW!]#[>E2PTJ49U,%-W4%=7WLKNR?VNCT3
MO]]/_A>]S#:SWT&F#4+(S[I)VN6:*VB%O!(2/*MR^S,I^9UP,$LR@@#K_&WQ
M%N?#5RL.GZ;!J)CTV?5YWGN_(401%00A"-N<[N <#U/-8LWB/X7ZFOD_V1::
MBD$L7E+%H,DRM*\*,BQXB(9_*"'"Y(51G 7C6;Q1X%\>ZGI^GRVT&N7"A98/
M/TMY4MRP) 9VCVQ,0AX8@_+@\X%2XQNGR.W4PJT:"E"I]3FHQ3YKJ6JLK/=>
MM]/GUSO#/CS4SI_CSQ'JA:;3--E+6=C$RY2)+=)<?ZM2&;?SEF&>!@#FAKWQ
MNU3P[=)97'ARWN-0^S/?21V%[-=(L"K&>L=N2KGS,?.JKQG=@BNPU'QEX6\/
MZM=:5.5@GGD3[68[)VA\R4;4$TBH4#.%  8Y(VCN*QM/MOAOJ?@ZUU:'P_IR
M^'S<(UN9]%,2F21D172-XP2&)0;@,$8YP*2Y;\TH.W]?UYD4_JSE[;$827([
M)632UBDK--:MIOJY7Z=>=U#XJZG?:CI>H2Z)IEMHEOJ-_&);R[W3D6\$I+X,
M6(C\IZ,3@D$X-5Y?V@+Q3=/-HKP3Z>L\CVJ3O&DX%KYR!O.MDD7TX ]?F!Q7
M4:]XQ^'4$LFG:E:6UR+>XFFDB_L>2>.&0-LEE<B,JO+X9SC.X\\FL/2O%GP\
MLKO5;&3PQIMC;VJ /-::6TD4Q>>6V$8Q""S$H5(P<[B 6 )K5*+5W39Z%.EA
MYT^>6 F[*RWMJWW=V];:=>QU^D>/+^ZT?Q--?:3!!J.B,0UM;7OF1S?N%F7$
MCHFW(< Y& 1WK@G^-_B"?4/M%OI%J(['3[VYU'2Y[F6%D\KR&!S);AP^V1@%
MVA3D'<1@UZ;-K&@0>'I=6-D[66I;5EC339&FN"0$"O"$WDX 7#+P!S@"N1TW
MQ?\ #"QM7@L-.M8;9K1GDCM]#E"B*5S&8W BX9WBV>6?F8H!@X%904=7R-_>
M>?A(T/?F\'*>MK)2:3M9K?OJNJ[Z%#Q'^T ^A:E>11:(E[:1QW/E3)<2J7EA
M@,I0L8?+'0J0LC,IZCL+$WQMU&QUR73;KPT"]K)';W+VT\SHLSQ>:NV5H%BV
M@%02[J>2=I YW!#\/;O2M0\32Z+IBQ1,\=Y<7.E!+A7QL9'1H_,W$$+MQD@@
M#.1574?%OP]?4HM5O]/C;4XXV#W%QHDOVBUB4["TI,6Z)!N(W/@8)P<9JDJ;
MT5-_CN;1A@I)1A@IMI-/XK\^G9]MUOLR3P]\66U+P?X@UK4-+-C<Z-$TT^GQ
MO(9-OE>8 ?,BC(SR 0"IQD,152U^*^M3^*[+PVWA^Q&J32(TKIJ;-!'"T1EW
M!O)RSX5AMV@?=.[!XNV'BWX?^%M.6UTR"UL[>^,F++3M-?=.RR>2RF)$R6W?
M+@C) .. 2*MCXS^&_ALVJZ?9V]B1&UW&++1908=S&$YV1?([,ACVG#$@+CH*
M7*M;0?EN8_5Z3=1PP4VG?ETEH[6Z/HT]-?7376\2_$D>'=5U&R-BLQM/[/ <
MS[=_VJ=H>FTXV[<^_3CK7(0_&G5M232!)HT>FOJ0MKFU-O?B7=')(T967=!\
MO*@G;DX/# CF[XU^('@,6CZY/HL.NZU81,\<5QI4AN+?RW Q(S1%H '(P7 &
M>1ZUL>*]<\,^"=8T"UO- A,,MO-)%<6M@9FM%@V. J1QL0HWELC 7'O1&*22
M<'=_IN70P]*G"$9X.3G*]KW7PQ3E97U[[=;+8P? _P 8M6U&7PQ9:SI5O$=2
MMH#)J*3R&-YI(RX5=L.Q6X'R.Z$Y^4,!SJ>)?C%_PCOC2/1_[,6ZLOM*6DUU
M$\I>.1HC(!Q$8\X ^4R!B#G&.MWP]_PKRYU?3YM&TS21J/F306LMMIRI(A0;
MWVL$&U<2 AN ?,&"=W/+7/Q(\$GQI+=:EX56.[MY+L2:P^E/+,C6KQIORL18
M+B3._.%"XS3Y8RD[0>QHL/A\3B9.G@Y6Y7[JNO>N[-*][63T75;&C%\8-8G3
M3$30--^U:E9'4K:,ZQP+<1F0^8?)RK] !@J?F^;Y33;;XW'4= ANQIGV:6YG
M%LJI=!F0G3_M>X$I@D9VX(QW]JOK9_#;6+VY\-Q:+II>YF8-LTG;!)<+&20L
MIC\MI51B< D@9]ZR;'4/ 'AB^N;/4-#MA?:+C3TOCIWVRYDMXK:+=-(T<1**
M%E"DGCWYQ348/:#O_7F.-'!334<)+FM=+WKVZ.SD[K9:7VOZ5;+XZZHVEV<H
M\/+<?:;H6%M(;F::25U@\Z1Y$@MF*C' VJ<G.0H%3V_Q@U?Q->:"^G:;'I>G
M2:K:65XUQ<9N"98/-9!&8_NX91NW!N#P*T-<\6_#P:7>Z4=.TZ[MXA/<K;SZ
M9(+&62!?WA$@A9"5& 2H8CI@XQ3;CQ1X&-S;:CIV@6=]?6-W;:?'='33"( 9
MA!^ZF:+!$9)&$/;' .:=H[^S9I[+#M<T<#)-W2O>VNB>KM]^E]NRM>,_BY/X
M8\5Q:/;:9#?1M-;VLDYFF!BEFR$#%86C7^$X9PQ!R%..?.-*^(FJZCX<5?&>
MC:?XM2X33I+2"XB\\+/<^<<E([8G:%4@;49N .<EJ[C6_''@*[URSO'\/IJ6
MM275O )[K19$FC5@[13;GBW% 8VPPZ8J6'Q3\.+^QMEO=,TW;<64$4A32WEM
M40IYT4!E,(7I\RHP4\CY02!3BE&*_=OH:8>%/#4(IX*?-[MY:\UUNUK=)_*^
MA>^'OQ(O?&&K#3X/#\.EV%I9I).\EPZ/&QDEC5(XC$I*_N2<ML(##Y<@BJWB
M?XH2:)XHE^PW%OJ6G'38WA@1R5DN&NO)X:-'=CP1M56)*D8S6_X UOPGK,4W
M_",6D=H(((59%TY[-O)8,T) =%)C.7*D<<MCO6;K0^'V@ZG<Z7?Z%912:K-&
M;IQHS/!-*S$Q^;*(RA<L"1N.<GU(SC:/M&N1^AY2CA_KLXO#2227N6;=M&V[
MNZ=MFOUN<M9_'"YU,C45\*VI:PB_TN>6\=)85:\:V=8@T 8\Q!\-LZ 'D5KW
M/QP$5E8R)I<7VB\MI9HXGN7/SK=+;A $B9V)+$X52>, 'K4NC^,/AJVERG3]
M.MX;61( MM'H<D;7*2NS1>7%Y0:52X=AM!&0Q]Z- _X037O"Z>(+SPMI5A#J
M]ZUI(9=.5FED^TE$,G[L$;G16^8##$9Y&:T:ANX-:G?5I82+YJF"G&*DDOBO
MJFU'5[[O3R76YF6?QUU/4K-;BU\,Q2BWM;J[OU:]='C2"<PN(U:$,S'!8!@A
MX(/-=SX2UP>)?#=Y?:+:6UE!+<7 L93\T=QAB//8*!PS[CP<D<YYKF/^$E^'
M\=O<:9I$B:*T@:Q-]I6E;%MR\C#9YAA,:EW4X#<,2",Y!/5>"M4\/KIFG:-H
M,N;6VTVWN+>(1LN+9P5B;D#KL/'7CD"LZBBHWC!K[S@QU.E&DY4<-*G[W7F^
M'SOIV2\KWZ,K?#/4;[Q'X#M9M;GCU&\D>YAN)!"L:2A9I$^X. -J@8Y]R>M<
M-XT\5:_X6O\ 63H&JB^M-*M97N;);.)++38_*_<(&"[VFW88KNV[,Y5<KG<M
MOB'X 2[M+VV6:$V0N$CEATJX2.%&D FD)$8 C+C!D/RY#<\'$)USX6PZ]>WW
M]DZ:FILL\DVI?V(P,X5Q%,1/Y6)/F<*V&.<^E5%-3;<'9]+'11ISI8FI5J86
M3C*[4>31.^WE9;-6:?1I6>=K'BKQ3I6D>(H+36X[IM'U2SB.HW5K&TLL,H@9
MHP$"H&!D(W;>%(XSS78:%JVLR?$KQ%IE_=P2Z=#96MQ9V\,.PQ!WF4[F))9C
ML7T Z =2:-QXH\ ^%[2YT5;2V@M+>9_M%A9Z4[QQ-&(W>1T2,@*N^,ESP#CG
M(JMXB^)?@]=/UNZ%@VMF()9W>S39'2X43",Q^88RL@5I#\H)ZGCFE9R5E#?R
M]/Z^9$J=3$0]G3PK][12Y$M^37:RNT]G9<UD[7&_&?QEK?A&&S?19HXY'LM0
MF9)57:S16Y=#DJQ&#S@=>AXJYKGCRX^'GAC0KG68WU 3P,D]WYJ[OM B+HF%
MC4'S"K*"%7G;QS2ZE\0? VH&5-0"7*VZRQ(;G3)764;A#+'"6CQ*=S*C*F2<
MXQ6-K_B_2O%'@2^\0WEE?II7AW4G;^S8X<-=/ X\O>CQ;T ?#;1C&WDD<41C
M=14H?\'L%##\U.A2K89I)VD[6<G*_*D^^NGG:^A'<_'"^T_3Y+^\\/016S"]
MCA1-0+2^=:JQD5U\H!5)1P&!)X7(&[C83XH7E]X]7PUI^D6\VVX>.:ZFO2@2
M-(8)68*(VRW[_ 7('R]1GB?2M4\":UXFNX;;3;4ZM?K+!-<2Z4T?VO:!YT7F
MM&%D(& RY)^4@CY3B'3M>^'WA:\U&+3["TTMM*\WSY[326CCC8;!(BR+'M9S
M^[!526.%&#C@:CT@[_,)T\,[QC@Y<W*]/>ZZ)[WT>G:3[;'H5%><ZC\:+"'5
MM.LK&RFN_M,HAE^T![66W<SP1;7B= P.+A7YQD >N:]&KFE"4+.2W/G:^$KX
M:,95H\O->U_+RW7S"BBBH.0**** "BD)Q38I5E7<K!QDC*G- #Z*** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** . \3?![1_%7B.?5;V^O%N)K>2
M#RXO)4JCQ&)@)/+,FW#9V%RF[!VUG>-?A+X8U _;]4U6[M8G>& AA!+$S;!!
M&-DD3C<<C#8R">",FH]?^%NIZIXUN=3B332LU]!>)JLLC"]MXTB"-;*H0CRV
M(.?G Q(WRD]9G^$BVWPCTGPO:6&DF\LWL[B6-UVV\\T4D;2,6V$Y?8PW%23G
MFNU2MR^_V/L*>(=+V#^MO[*LDO=B]^MM+6U5WN[:7DD^!?AMO#<6CO<W,D45
MU#=137(@F9)8X%@7Y7C*,"B\AE/))&.,2Z;\%-#TO6M%OX;V[,FD*OD1;+=>
M0&!.Y8@ZJQ8ED1E0D?=KA/$/[/NKW?A>UTO3K?08IS%>&YG8*K&XEDW)+O:W
MD+84 $KL<8&&P*T+WX#7DUK/*D.E-J-U+J#7<OFO&UQ'.RM&C2",D@;1G(('
MHPR#I?3^)W.QSBX6>8:2<E\*VVN_>TNMO7S9U?B;PKX?U/QE%:W.J:E'<:OY
M=[+IEJ@>"X-MMV2R/Y;&, [!]]0Q"C!YSO7'@73[GP+:^%UN[F*S@A@B@N8W
M3SU\HJT;@E2I8%%/W<'TQ7E,O[/^LWFCI'(^CV][%:3V\;0QQ@[6NHYA&S+;
MJA#(LBL1$!\Y^1@3GH_AU\&Y_#GB.UU;58=/G-M#.+:)2LIM)))0V8]L,2+\
MH.2B+RQ '))B2BHZ3V.:O"A"A&4,9=T]E9:N-^5K5:6LKN^W:R"'P)X1CU'5
M-(G\0ZC>:KJJW-C<M*T>\O)MN).5B"JP&TCC&#C%:TGP5T@K?PQ:GJ$*WT96
M>(BWE1Q]HDG!*/$P8!I77!!4J>02 :Q-7^"7]M>.=1U*[T_1KG2[F[DO-LZ[
MI)&:S$ #H8]ORN"P.X_>)X(YH>#O@IK^@^,=*U2^OK:Z6V,+R722KYN$M5A,
M(S;^8R;@3S,%P<[,U7,FKJ?2_P S:56$J?/#&V:BI--*SEV732RTMIIZ+K-<
M^'&@Z?\ #:+0KO4+NWT?2<WK3%8I3L0LY#Q&-HV3D_)Y>!@8 P*HZ9\#O"T?
MA2\TU+N[N=/OX85\R<PG;LGDGC95\L+D/*?E92N  5ZYS/&OP@UGQ!XSUC5+
M#^S(8;^TFMVFN)-\AWVK0@8\DNGS$<K+MQG,9;FLSQ!\!M2=)K/1[;0X=)F,
M;-:,JH%D%MY32 /;RIDMR3MW$=&4]2+T2]I:^H49Q=.,?KW*Y-3>BLI73UUW
M3U6OR1Z'8_#'1M-\%WGAI9I!:7$AGDFC2&%TD+!@ZK&BHNTJN,+CY1D'FJ=_
M\([75#,;SQ'K5Q<7D#VM[(\D&Z[MRV?*(\K"*.0/+"$;FYR<UP@_9^U1?#P$
MC:7-K7VRUFGD^5A=0Q6B0F)WE@D&!(ID :-AD \'D7O"_P %]<\/^*O#NI;M
M.9;&.-+B=YA,^T*X,:*;<%<;P%9'C7'6,XI:*[50AJ$%.I3QR<M7\*U=D^_6
MRM;JEI=:=-J_P,\,:M+JK2^<LNHW,-X WE2K \><>7'(C+M)9RP8,"7)],'_
M  HWPW)HD^F/)<26\UK':L=L( ,<[3JX01A-V]SQMVX &W&<T?&'PMU/7_%U
MUJ,"::RW$]I-%J=Q(XN[%8?OQ1*$.5DYS\Z_ZQ\@][=O\,;C1?A9HOA_2;?3
M8=2T^2RNI%4F*"XFADC>0EPA;+[#\Q4GID5/.[+W^QA]9J*E2MC'=N.EOAT6
MM[_9LETVOHK-P_\ "AM$@TV:SMM5U#3Q=1/;W;V:VL/VF-GW["@AV+@Y V*I
MP3DFM7Q!HVE>/=5A2+7-1TG4--MIHW2V18G,,Q\MMRS1-P3"=K#'3(."#7$W
M'P+U36+:_FU./1GU&6VO?LIWO(MK<379G1U8Q@C:IQN !ST&*J7WP#U:6;4I
M3;:/>/=MO\UK@QRJ1>3S 9:WD5@5F7(=67*8VGAA?NO5U-3K7L:DN>IC;S3=
MO=C;71O5V:MZ6M9:'H'@_P"'$?AOQEJNLB*&W@>V@L+&WAF:3;&BJK2-E1M=
M@D2D#/$2\G-)<?";1Y+K6)Y+^_8:E#>Q/"&CQ$MSL,OEX3<3F,$9+8R>O $,
MW@G7(_A_X9TZ,Z=-K&CW%M<-'N:"VD\H\H&6,[?E/!"8R/N@<#B[#X)^([?6
M])U%_P"QUN89'>XG$QE"JT\TA1%> MG;+@,CQ\YW!@ #"=VVYVZ?<<E.7M93
MK2Q:BU[J\U%:/5WU2W[OU.R\-?"7PYI_B>+Q18-.L\Q:Z6&>VB1M[H%9F9HA
M,.#G8S8!)X'01>)?@3X<\6:M=:G<33B[N)9'D?R[>8 .D:,JB6)PO^I4AAA@
M2?FYQ7$+\ M2TKPP\@>QCUN(Y-_8J[W'DC3?LQC0[0QS(-P7(!'/7BM_X2:#
M?"S\9SVV@VOAI;]88K.!;>:&$NMOM+E)(HGQN//R#.#@GK5NZO.,]M#JJN=-
M2Q>'QCDXI1O9+1M*V^N[>SO9WL-B^"MYJ6NW,%W?BW\+*M_'!:VET'93<X#$
M*8!Y9'S$[I)!D\!1Q6R/@=H1U.]U"34K\S7$J.[(T$1!2995#,D89R&4 ,Y9
M@O (S4'P=^&FK^ [G6Y-0^P117T-LJ0V+J0LD:N'8A((5YW+@X+8').,UP<?
MP:UW0=4TB-]!T76+!]1$ALI7+Q#;;W(+S2BV!VY=-OF"1L\%SD8?,Y2:4]OQ
MZFOMIU:U2E'&)*"5FDO>TYI;RWON[Z]UL=UI'[/F@Z),'MM4U%+D&W82*MJC
M'R2^"0L(#%A*X9F!8YSD'FH]4^%OACPWI8AO-7U:#1(HUGGMPJO"7MX @FD=
M8BRL$13C<%9E'RD\'G-%^ GB#3->TZYFU:"98!;G[:DBB:W$</EF*/,!D*9S
MC]\@PQRN>JS? ?5;W1X[!M-\.6 CTZ:RDDMY)'-[*UN\8GES$!DLP8\$CD[F
MX =U?6H6ZL75YJF8<R:3;22_-[JRMI=;Z;G?>$_#]DS6>JZ#J&HVT)BM;2:.
M_M#$9X((W"+MDC5@3Y@)8?W<#'(J+Q/\&=&\5>*TUZ\O;Q+H2P2K&@@(5HCE
M0KO$TBJ?XE5@#UQGFN4@^"NIZ?K=Q=)8:!J=I+(PM[>]>14L 6C(EB58_OX3
M& 4^ZN&ZXZCQ[X OO$?B6VU&"RTG5(EM/LJIJKNOV*3S0_GQ!4;+8&, H?E7
MYNM9-I3O&9YLIQIXE3H8KXHM7M&]M-'JK^KMMI?0E/PBT>.*R,&HW]M<:;;6
MMM;7221%X?L^_8^&0J6(E<-D$$'H*@U'PA W@#5_ ^C7PO\ 45C+R2ZC/LDB
M:>1Y!,6CCQN#;F4!1RH&1UKB)/@-K$FFI ;31HWAMXH)/L]RRG49%EW_ &F8
MM R^9U^5TE!+MD]#7:_#/X=ZCX.U2YN[^+2GDN=+M+1[BR78XDAW@KM\M1LV
MLO((Y7[H&,.325^>]C2O*%.FZOUOVDHM-*RU::MK=Z6;=K_C<@T/X9>&M8TB
MPN].U2];0Y8K262UC*)#=- !Y4C[D\Q3\JD@,N=HR.N=WP7\/++P+<27$.JZ
MAJ3-90V4:WC1,(H(2Q14$<:DXWGDY)XKS"S^!/B&ST>WM8;/P]9F*"&WN8X)
M"ZZAMF,AF?S+=E#C@#<DGWFZ<8=H/P)\1:/>Z!,S:/YMB-CS^;Y@6/SIF"(C
M6X(.R0 &-H@.<JP %7))IKVFATUX4JD*D/KR<6]FE=I:IMI^25UOHNEEUEQ\
M#?"_B.TTF7S;L?9[=D1KBWA:5X7E,NUEFA)C(9FY4(P!()S1>_!*&XU=(4U>
M[&@&SO8?L1>,/:M/+'(&A(CR0&1C^\+8X &,UE?#OX.ZWX.\7:9J,O\ 9@@@
MM$@N9HY/-DE(MTCPFZ$.GS(/^6I4@#Y 3D3^+/A5K>IZGX@GLK'0+J;496FB
MU34'?[3'&T*QFWVB,C9P>267YN8R:7,U*RJ:$>WE'$>RCC;QM=-I:-MI]=TG
M>Z=[:);H-7^"GA34=8MX=1UB^O=:U$W-R+FY@M9FF0B%90,P&-,;8\%0K#)P
M:U[CX&:'<W^I7O\ :-_'->Q>4&B%NIC7S$D4[A%NDVLB[?-+A1D#K7%VOP&\
M0QZ>T+2Z4L8NKBX6S\W]U(DC6K>2_EP1J%;R) VV,##YVG)%:E_\*?$<B7*:
M?I_A[3+>_@B@EM;>YF6.T$=VT_R#ROWA8,0>(P#T&*;>R50VG5:4(PQVVFT;
M+7IJK*VMM5I:^J1;T+X,^#=0BFU;3;^X,5T\DT$\<-O%)%*)Q(TBMY(=BLB9
M D+*!QC%;VC>%]$UCP7JVC1:QJ.HV>LJU]-J<JJK/YY)W(XB6/JO"@''&1R,
M\ ?@/XDDU;3))7T62"SN89?.W#S/*69WD3YK<N<AR!B1%Y(*GJ;&F_ S6-.7
M1FEL- U"VT^TMK632)IG%K<F-;A2['R2 <S*X!0\[O0,25G_ ,O K^RJ)N6.
MNTTXZ+IMKIKMV5]6>B:)\-+'1-:MKW^U+^\%M+/<VUG<-$(HIIL^;(-L:L2V
MYC@D@;S@#C&9KOP+T'Q+K.J:CJ%S>3OJ$3Q/&%@4*&*G[PCWN%* JLC.HYXK
MGO"WP,O=!N["^N)-.NM4M;^RG%]\WFK!%;B*2)6*Y )R ,X(QG!XKV>L)S<)
M7A*YX>*Q=3"5E/"XGG;5KI6ZWTWZN]]&W>YYOIOP(T#3)+25+F[\VWF\\&*.
MW@1F\V&492.)5 S @X X)[G->D445A*<I_$SQ\1BZ^*:=:5[?J%%%%0<@444
M4 <1\6?$GB[PMX2DN_!/A-?&.NLXCCL'O4M$4$']XSOP0"!\HP3FOEWX!:O^
MT9\&?AZ/#U]\$HO$5Z]_=ZA-J \3VMOYCSS-*PV8;&"Y[U]E:YK>G^&M)N=4
MU6^M].TZU0R3W=W((XHU'=F/ %<E\,/CAX'^-$>J2>"?$-OX@BTR58;J2V1P
MD;L"5&64!L@'E<BD,\H/QO\ V@>,_L[Q@'J?^$OM3C\-E?1\#M)"C.GEN1EE
MSG![C->:?%7]I3X:_!.6&#QGXML-&NYEW1VC%I9V'KY:!F ]R />O2[>59X5
MD0[D<!E.,9!% $E%%%,04444 %%%% !1165XCU2?2-->>WB$KAE'*E@H)P6(
M') ]J -6BN'E\;7<4%M^_P!/D\V=H_M$:NR8";N4!W*<\8YJ[%X@U._F@M;)
MK)YC$9I+AXW";=VU0JYSG@]3VIV ZNBN6M_$NH"TUHW=M#%<V$88(C%E8[-V
M<^GY5F6OCN\EDB+/8L7N%A^RIN$I!(&1SCC.?P-%@W.\HK$TC5+W6?#=M>1>
M1%=SQA_G4F,<\\ Y_6LNW\2:L-"75IX[62 2?O(X4;<L88JQR3U&,_G2 Z^B
MLGP]JD^LVLMW(B);O(WV?:#DQC@,<^N"?I3[C4Y(M?M;$*OE2P22LQ'.5*C_
M -FH TZ*Y2^\8RV.L:E:/"HBAB!@E(.&D\O>5;GOV^AJEI?C+4M1N88V^Q6T
MDIVBVF1T?&W.]6)PP[X'..] '<45Q[>(]7MK'6;J86;K8;U"HC@LP .3ENG-
M5T\;7BWL4&^RO%=HPTEN& 3<^W!!/7TH [BBN5OO$U^?$,NCV<=N)R%9)9@2
MJKMRQ(!R>V/K3;G5O$-K<6L,JZ>AGF,*.%<AOE+;NO'3&* .LHK)TS4Y[K4M
M0M)1&#:^4 R \EDR>OO6-<>)]4&FW.K0Q6ATZ%G B;=YKJK%2=V<#D'C% '7
MT5P)^(EX=)LY4LD:^D8B6#!/'ELZLO.<''Z$5N^&]?FU9KA9)K2X$>"&MPRL
M.N0R-DCZ]Z=@.AHHHI %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %)G%!XZ5S6J:U?WMU-9Z2(XU@_P"/B_GYCBXR
M0H_B;'X"@#I<YI:S?#U_+J>CVEU,H666/<<# /OCWZ_C6E0 4444 %%%% 'E
M'B$>-+SQK<QV>K:MI^DG4X+1$M;&%HUMFM"\DH=XF/$H"[LX!.,5S%IXE^)E
MYJFC6]U'?VRS6]FK?Z&563<"+AY +5E1P<]98PN%^5LX/9>*_C#/X6\1:G83
M:,AL[2WEDANI+AU%S(EN9O+4B)HU/RD;6</CY@I%96H?';4-,O8M+E\.1OK$
MJI,L=K<SW,'E-#YN2T5NS[N,8V8[[L5Z,%-I>XGIY?>?>8>GBY4XI8.$DX*S
M]V]DOB[O^]?\&<GX'TWQIHEDFI64FMF[2+2;62SO; *MR?F2;S-T0?"9^\I4
M  $DYR=:R\2>.)/L(FN_$(TR1+8ZM>-HH%S9SE9?-C@C\CYX]PB!8))@'AN2
M1M7?QHO;_P ,:KJ]KI26.GV\+())-02.\$PMEGPL3Q,IP&QG+'@G;BJ>B?%K
M6M&MKF?7+87\FH7][;:8D4ZA/-BG$45L,0J1N!+;F+'Y6/L+?/*[<%^!V5%B
MZ_/4J8:',VDE>/-MZ-725];6ZIK0ZOX-W)M/!&C:+=B[AU:&R$\L5W;/#(%:
M1P&8%0 Q(.5ZCT (KS#0-(\8:5=:AJ-I<Z^EY96XCV3V"D73?VE.3&2T/S+Y
M3ALH1PV=V ,>D?$WXJO\/)XQ'ID6HNMM]JNE$DH>.(.%_@A< 9+8:0HN1C.3
MQK>*_&]WHFL6VG6&GVMW*UE+J$TE[??98TAC9%.&V,"WS]]H ')%8Q<TW)1^
M+]-SR:-7%1E*M&@G&NW+WG&WNN\M]E[W6W2USR[3_$7Q.U"ZGMYFU&RDDN(H
MYS'8[_LH-XB'RB]JJ;?)+DG?,, ,2._<C4O%EA\-]0N_].OM9TR^F*(]JOVB
M^MHK@X4($ +/$, JHR2".M9EU\;K^"".XB\.1W,%Z;D:>D5\3-(8)UB?S$$?
MRYW;@$+DXVXR0*TOAU\1=3\;^*;Z*2WM(--AT^&7RXI)#)'.9IHW5A)$C#_5
M<A@"N.G)Q4U*W-R))>GW&^*IXCV7MY86$(0:;MRZV=G'36U[JWD^J.$'B7XK
M#2R;R&]A-M<Q6]U-%9[7D2022F2/;;S$A 8(B5C;!#Y (W#K=6L_$?BCX=^#
MOMC7EOK+:I:2W-Q;6V)84$A_>%'CPIVX)W( "?NCI6?H7QFU:PT*-]:LK6YG
MGAN)K.>.Z.9MEV( DB)"2A/F)@(')P1C/5UG\?;JX^RF;P^MM +J2UO+EYYP
MENRS"/)'V?<F<YS,L8S\N<U4HU&[Q@M'T.FM0QLIJ5'"03C+>/+9M)W7I>[M
MZ*VAB:WXN^(=E%ID,$6MRW5N?WD@T[*W2B\>/+*MJX)\E58_-",,&7.>+>M>
M(/B7 DT:I>I;:?>K87%U%:@/=1DRO]ICVV\QQM^SH2L; %I.!C*[?A+XQW>H
MZAX>L;K362UU&*(?VE<SEF:5T9@G[N 1!N -K-&6SE5..=S5_B;-IFJZTOV"
MR72M(D\BXN[O41!(9#;^<-L90@K@@9W9ZD*<<IW3M[-&<Y5:514G@J=U>7V=
M4Y6T?X):ZO;2QBZWXH\0Z=\,/#%YJ%Y>:=JMW?VUO>36=CYEQY;R$'$31$[B
MN,_NP0<X4=*PFU;XBW%NUS]LUFWMK:V1E":7%YL\;7DB-*R&$GSEMPC^6H'.
M,H<[3#??'&>\O8WO]%CBCTJ26>:S*N?.*VPFA8&>&-XR&/WMON"176ZC\7;W
M03K4.IZ19+=Z9I[WS)9ZGYR/AD 3)C4J3O!Y7/3@@@T<LHV7(KOT']7Q.'48
M_5(.4FY:\FB;^%7]5W236SN8 \1^,%9!<7?B*+2 ]T+*]MM%62\NRK1>2L\1
MA^0',H!*QY"@EAU.-!XJ^)LL&IFY:_LYE!,JC3Y)1 WVA0%BQ9_=,>[)4W!
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
MU.V:279?NSR$$94D <<>U0:IX0MM4NEN&DDAE2(1J8B%P0P8-TZ@UK07T-P
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
M@#;NM:MK?PPBO)C?Z9IS-;RO=/=2:,S1+/Y0F;]YY>WS2BABN=QP.,BK&K_
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
M[T 8H$8FJZ=<7.HP7,  E@A?8Y.!N++\I]B 16/I^FW*:&;":SD%U+)Y@D8
MJH+ @D]BHXQ[5V6WWHVT 8MK820I88AV[)Y'? ' (?!_452U[2KN634[FUC+
MRO (@@./-4J01]02"/\ Z]=1CWI-M ',V%K=0MIL7D2;[=L3LT:[&R#EPW4D
MGT]>:Z=>E&WFEI %)2TAZ4P.?\26OV(?VS;$QW-L!YH'26+(W*WT&2/0UOH0
MRY!R#45Q ES;2PR -'(I1@>X/!K*\'7ANM!A1Y!+-;EK>1A_>0X_7 /XTD,W
M*S/$-U<V.DW,UI'ON%4;!C..0,X')P,G\*TZ0C-,1SVD1:?=>'5TZWO//C,3
M1&0$;\G.21V/)K!T?PQ%K&BL;0MI$H+VYN+5-JW"#C)4_C[YS74ZIX9T_4B9
M'@6*ZZK<1C;(I]0157PSI>H:7)?)>RQ20O(&A$61V^8X[9/./K0!7.F:QH<#
MKI]Y;RV:#<L=X"64#JH?/3W/2C2?'=MJ6"]K<6T7RYFD7*!B 0,CIP1R?6L7
MQ?K%[J%]<6,2I'I]N,S"4[3=$8)C7/7BI?#]E/XCM;]%N6@TB:9\,(0DLOJ"
M3D8'W>G:@#O0<TM1PPB"-$7.U0%&>>*DH \NUSX1SZIXNOM>A-C!?S:G;7,-
M]@_:(8$MO*= VW@DY.T'!'4UP]E^SSXCMM*2!KNQ+126QDMQ+#Y5_P"6)0SR
M V6P,3(&!D25LKRW0CO?&O[0/ACP'>ZO9ZDMU]KTZYL[0Q!H8_/DN5+((VDD
M5<  EBQ4#'>NUO/%VB::9UOM6L;&6WA2XGCN+E$:&-SM1GYX!;@'H3P*[E4K
M02TT9]E''YOA*4+P]V2BHW5[J*5K>5I+[]-3R/2_@=K.GW6CM+'I&H/;75A<
MF^N9W-Q9) ^7@AQ" 4(Z?ZL<GY1Q6O\ $OX6Z_XQ\:6FJ63Z9%;V[6;Q3RLJ
MSQ>5-OD&3 [<C@;)(QUW UW7_"QO"AN=3MO^$FT@W&EJ7OHOMT6ZU4'!,@W?
M( >.<5JVFM:?J$MW':WUO<26C!+A(I58PL5# . ?E.T@\]B#4.M54N9HY9YK
MF,*JQ%2&J76+MK;_ ('EKYZ^*67P*UBWZV6@*(K:U@E5)I,:NT-QYK-<_NOE
MWCK_ *SGKD5'9_ /5X+BTN7M-!46]V+F.Q25S%$/M-S(50F'C:EPN/E&2I'
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
M/N,T R]1113$%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 (:Y^;P[-I[^=HTIM9,DF"1BT+YZC'\/U%=#10!R]
MQK/B*S1I7T2&2)%W.4NP6XZX&WFMG2M;L=8A,EG=1W &-VPY*Y]?2KQ&17/Z
M_P"$X]3BD>TE;3[LQF,2P<!@>S =10!)J'C/1[&.0F^CED3/[J$[W)'; JE>
M^(KBYLY[86ESIMY/$XM&GVD.P'0$$X/L:VK#3+>SMXXT@A0A I*(!GBI;_3;
M?5+5X+B,/&W/H0>Q!['WI#*OAE[=]#L6M5V0&/A3U![Y]\YK5JAHVCP:'8K:
MV[.T:LS9D;<Q))))/U-7Z8@HHHH \?\ $'Q5\3Z1\7(_!<&F6MR;DQZA;3"%
M_FL%B<S@G=CS1*BHIZ?O%^4UY]I?[4'B-X8;JZ_L&XLV-G-J$MM!,@T59+I8
M9+>Y9I"/,"$MN.W&TY7&*['4_'&C^"/B7X^U[4=)-S<Z<FGV,-Q'=A9"DT;.
M4_TB=88UW(#\FS)Z[C4\?[5_@HQZ8T]OJ5JFHM;F(S0Q@".9&(E;#G"*4*,>
M<-C&0<UZL8:*U*^B_P S]+HX9>SA[/+_ &JY:=VFEKRJ3_F>J:[:IZ6O$H>
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
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ I,T44 -HH
%HH __]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>17
<FILENAME>csiq-20221231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/18/2023 5:39:09 PM-->
<!--Modified on: 4/18/2023 5:39:09 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseSupplementBalanceSheetInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638174363405954305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638174363405954305" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638174363405954305" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_LiabilitiesCurrent_638174363405954305" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_ShortTermBorrowings_638174363405964306" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_AccountsPayableTradeCurrent_638174363405964306" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="csiq_ShortTermNotesPayable_638174363405964306" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638174363405964306" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_AccountsPayableOtherCurrent_638174363405964306" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638174363405964306" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638174363405964306" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363405964306" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638174363405964306" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638174363405954305" xlink:to="us-gaap_OtherLiabilitiesCurrent_638174363405964306" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_LongTermNotesAndLoans_638174363405974286" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_ConvertibleNotesPayable_638174363405974286" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363405974286" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363405974286" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638174363405974286" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363405974286" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_638174363405974286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="csiq_FinancingLiabilitiesNonCurrent_638174363405974286" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638174363405954305" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638174363405984284" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363405984284" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363405984284" xlink:to="us-gaap_StockholdersEquity_638174363405984284" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638174363405984284" xlink:to="us-gaap_CommonStockValue_638174363405984284" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638174363405984284" xlink:to="us-gaap_TreasuryStockCommonValue_638174363405984284" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638174363405984284" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638174363405984284" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638174363405984284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638174363405984284" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638174363405984284" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363405994283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638174363405984284" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363405994283" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638174363405994283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363405984284" xlink:to="us-gaap_MinorityInterest_638174363405994283" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638174363405994283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638174363405994283" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363405994283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363405994283" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363405994283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363405994283" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_AccountsReceivableNetCurrent_638174363406004285" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_UnbilledReceivablesCurrent_638174363406004285" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638174363406004285" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_InventoryNet_638174363406004285" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638174363406004285" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638174363406004285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638174363406004285" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638174363406014282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_DerivativeAssetsCurrent_638174363406014282" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363406014282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363406014282" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363406014282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638174363405994283" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363406014282" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363406014282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363406014282" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638174363406014282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638174363406014282" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent_638174363406024282" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_SolarPowerSystems_638174363406024282" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638174363406024282" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638174363406024282" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_EquityMethodInvestments_638174363406024282" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638174363406024282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638174363406024282" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363406034284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363406034284" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638174363406034284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638174363406034284" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638174363406034284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638174363406034284" order="12" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_ProfitLoss_638174363406044285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638174363406044285" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363406044285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363406044285" xlink:to="us-gaap_OperatingIncomeLoss_638174363406044285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638174363406044285" xlink:to="us-gaap_GrossProfit_638174363406044285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638174363406044285" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363406044285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638174363406044285" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638174363406044285" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638174363406044285" xlink:to="us-gaap_OperatingExpenses_638174363406044285" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638174363406044285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638174363406044285" xlink:to="us-gaap_SellingAndMarketingExpense_638174363406044285" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638174363406044285" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638174363406054284" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638174363406044285" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638174363406054284" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638174363406044285" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638174363406054284" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363406044285" xlink:to="us-gaap_NonoperatingIncomeExpense_638174363406054284" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638174363406054284" xlink:to="us-gaap_InterestExpense_638174363406054284" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638174363406054284" xlink:to="us-gaap_InvestmentIncomeInterest_638174363406054284" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638174363406054284" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406054284" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363406054284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638174363406054284" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363406054284" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638174363406054284" xlink:to="us-gaap_GainLossOnInvestments_638174363406064282" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638174363406044285" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638174363406064282" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638174363406044285" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638174363406064282" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638174363406064282" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638174363406064282" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363406064282" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="us-gaap_ProfitLoss_638174363406064282" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363406074288" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363406074288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363406074288" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363406074288" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363406064282" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638174363406074288" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363406074288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_ProfitLoss_638174363406074288" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_AccretionExpense_638174363406084288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638174363406084288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638174363406084288" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363406084288" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363406084288" order="6" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363406084288" order="7" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363406084288" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_AssetImpairmentCharges_638174363406084288" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638174363406084288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_ProjectAssetsImpairmentCharge_638174363406084288" order="10" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_ImpairmentOfInvestments_638174363406094286" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406094286" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638174363406094286" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638174363406094286" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_InventoryWriteDown_638174363406094286" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_NonCashOperatingLeaseExpenses_638174363406094286" order="16" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638174363406094286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_ShareBasedCompensation_638174363406094286" order="17" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638174363406104285" order="18" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638174363406104285" order="19" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638174363406104285" order="20" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363406104285" order="21" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363406104285" order="22" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInInventories_638174363406104285" order="23" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638174363406104285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638174363406104285" order="24" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638174363406114286" order="25" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638174363406114286" order="26" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363406114286" order="27" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363406114286" order="28" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363406114286" order="29" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638174363406114286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638174363406114286" order="30" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363406124284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363406124284" order="31" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638174363406124284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638174363406124284" order="32" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638174363406124284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638174363406124284" order="33" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638174363406124284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638174363406124284" order="34" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363406124284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363406124284" order="35" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638174363406134285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638174363406134285" order="36" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638174363406134285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363406074288" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638174363406134285" order="37" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363406134285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363406134285" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638174363406134285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638174363406134285" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638174363406144284" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638174363406144284" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638174363406144284" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638174363406144284" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363406134285" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638174363406144284" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638174363406154283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromNotesPayable_638174363406154283" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638174363406154283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_RepaymentsOfNotesPayable_638174363406154283" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638174363406154283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638174363406154283" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638174363406154283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_PaymentsToMinorityShareholders_638174363406154283" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363406164285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363406164285" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638174363406164285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638174363406164285" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638174363406164285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638174363406164285" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638174363406164285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638174363406164285" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638174363406164285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638174363406164285" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638174363406174286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638174363406174286" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638174363406174286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638174363406174286" order="11" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances_638174363406174286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="csiq_ProceedsFromSubscriptionAdvances_638174363406174286" order="12" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638174363406174286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638174363406174286" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363406184284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363406184284" order="14" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363406184284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363406184284" order="15" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_638174363406184284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363406144284" xlink:to="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_638174363406184284" order="16" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363406184284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363406184284" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363406194283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363406194283" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363406194283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363406194283" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363406194283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363406194283" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638174363406194283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638174363406194283" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363406194283" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363406194283" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638174363406204292" order="3" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363406204292" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638174363406204292" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638174363406204292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638174363406204292" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638174363406204292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638174363406204292" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - PROJECT ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638174363406214290" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638174363406214290" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363406214290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363406214290" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638174363406214290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363406214290" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638174363406214290" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_ConstructionInProgressGross_638174363406214290" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638174363406214290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638174363406214290" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_SolarPowerSystemsGross_638174363406224292" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638174363406224292" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638174363406224292" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Cash_638174363406224292" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssets_638174363406224292" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638174363406224292" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="csiq_ProjectAssets_638174363406224292" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebt_638174363406234290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilities_638174363406234290" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ShortTermBorrowings_638174363406234290" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638174363406234290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense_638174363406234290" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost_638174363406234290" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638174363406234290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_638174363406234290" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xlink:type="extended" xlink:title="41202 - Disclosure - LEASE - Supplement balance sheet information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability_1" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363406244290" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability_1" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363406244290" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638174363406244290" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LandUseRightsNet" xlink:label="csiq_LandUseRightsNet_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="csiq_LandUseRightsNet_638174363406244290" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41205 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638174363406244290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638174363406244290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638174363406244290" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638174363406254285" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638174363406254285" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638174363406254285" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638174363406254285" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638174363406254285" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638174363406254285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability_638174363406254285" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41207 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638174363406264289" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638174363406264289" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638174363406264289" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638174363406264289" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638174363406264289" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiability_638174363406264289" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638174363406264289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638174363406264289" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638174363406274290" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638174363406274290" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638174363406274290" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638174363406274290" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638174363406274290" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41210 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638174363406274290" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638174363406274290" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LeaseLiability_638174363406274290" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xlink:type="extended" xlink:title="41211 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638174363406284288" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638174363406284288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityCurrent_638174363406284288" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityNoncurrent_638174363406284288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363406284288" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363406284288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363406284288" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="DebtLongtermAndShorttermCombinedAmount" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtCurrent_638174363406294291" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermBorrowingsOnProjectAssets" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtCurrent_638174363406294291" xlink:to="csiq_ShortTermBorrowingsOnProjectAssets_638174363406294291" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DebtCurrent_638174363406294291" xlink:to="us-gaap_OtherShortTermBorrowings_638174363406294291" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_LongTermNotesAndLoans_638174363406294291" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermBorrowingsOnProjectAssets" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermNotesAndLoans_638174363406294291" xlink:to="csiq_LongTermBorrowingsOnProjectAssets_638174363406294291" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebt" xlink:label="us-gaap_OtherLongTermDebt_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermNotesAndLoans_638174363406294291" xlink:to="us-gaap_OtherLongTermDebt_638174363406294291" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41302 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363406294291" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363406294291" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638174363406304295" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638174363406304295" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638174363406304295" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638174363406304295" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638174363406304295" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638174363406304295" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638174363406304295" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638174363406304295" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638174363406314289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet_638174363406314289" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638174363406484310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638174363406314289" xlink:to="us-gaap_DeferredTaxAssetsGross_638174363406484310" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638174363406484310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638174363406484310" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638174363406484310" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638174363406484310" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638174363406494312" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsInventory_638174363406494312" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638174363406494312" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638174363406494312" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638174363406494312" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638174363406494312" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638174363406494312" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638174363406494312" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638174363406494312" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638174363406484310" xlink:to="us-gaap_DeferredTaxAssetsOther_638174363406494312" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638174363406314289" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638174363406504289" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638174363406504289" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638174363406504289" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638174363406504289" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638174363406504289" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638174363406504289" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638174363406504289" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638174363406504289" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363406514285" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638174363406514285" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638174363406514285" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638174363406514285" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638174363406514285" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638174363406514285" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638174363406514285" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638174363406514285" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638174363406514285" order="8" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638174363406524288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638174363406524288" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638174363406524288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInAffiliates_638174363406524288" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInSubsidiaries_638174363406524288" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638174363406524288" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_638174363406524288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent_638174363406524288" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638174363406534288" order="6" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireAffiliates_638174363406534288" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638174363406534288" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638174363406534288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638174363406534288" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss_638174363406534288" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638174363406534288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638174363406534288" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AccretionExpense_638174363406544288" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363406544288" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363406544288" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638174363406544288" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638174363406544288" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation_638174363406544288" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363406544288" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363406544288" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363406544288" order="10" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363406554284" order="11" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363406554284" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363406554284" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363406554284" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363406554284" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638174363406554284" order="16" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363406554284" order="17" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638174363406554284" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638174363406554284" order="18" use="optional" weight="-1" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>18
<FILENAME>csiq-20221231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/18/2023 5:39:09 PM-->
<!--Modified on: 4/18/2023 5:39:09 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureOrganizationAndPrincipalActivitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.canadiansolar.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="csiq-20221231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" xlink:title="us-gaap_LiabilitiesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_1" xlink:title="us-gaap_OtherLiabilitiesNoncurrent_1" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_LiabilitiesAbstract To us-gaap_OtherLiabilitiesNoncurrent_1" order="3" priority="0" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:title="us-gaap_IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_1" xlink:title="us-gaap_OtherOperatingIncomeExpenseNet_1" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_OtherOperatingIncomeExpenseNet_1" order="63" priority="0" />
  </definitionLink>
  <link:definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_1" xlink:title="dei_EntityAddressesAddressTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_1" xlink:title="dei_AddressTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_EntityAddressesAddressTypeAxis_1" xlink:to="dei_AddressTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_EntityAddressesAddressTypeAxis_1 To dei_AddressTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivableTypeDomain" xlink:label="us-gaap_ReceivableTypeDomain_1" xlink:title="us-gaap_ReceivableTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1" xlink:to="us-gaap_ReceivableTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_1 To us-gaap_ReceivableTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:title="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_1" xlink:title="us-gaap_ValuationAllowancesAndReservesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_1" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ValuationAllowancesAndReservesTypeAxis_1 To us-gaap_ValuationAllowancesAndReservesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" xlink:title="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" xlink:title="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_1 To us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_1" xlink:title="srt_CounterpartyNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_1" xlink:title="srt_RepurchaseAgreementCounterpartyNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CounterpartyNameAxis_1" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CounterpartyNameAxis_1 To srt_RepurchaseAgreementCounterpartyNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesByNatureAxis" xlink:label="us-gaap_GainContingenciesByNatureAxis_1" xlink:title="us-gaap_GainContingenciesByNatureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain_1" xlink:title="us-gaap_GainContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GainContingenciesByNatureAxis_1" xlink:to="us-gaap_GainContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GainContingenciesByNatureAxis_1 To us-gaap_GainContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis_1" xlink:title="us-gaap_PublicUtilitiesInventoryAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_1" xlink:title="us-gaap_PublicUtilitiesInventoryTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PublicUtilitiesInventoryAxis_1" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PublicUtilitiesInventoryAxis_1 To us-gaap_PublicUtilitiesInventoryTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" xlink:title="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_1" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TimingOfTransferOfGoodOrServiceAxis_1 To us-gaap_TimingOfTransferOfGoodOrServiceDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:title="us-gaap_GuaranteeObligationsByNatureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_1" xlink:title="us-gaap_GuaranteeObligationsNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_1" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GuaranteeObligationsByNatureAxis_1 To us-gaap_GuaranteeObligationsNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:title="us-gaap_UnusualOrInfrequentItemAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_1" xlink:title="us-gaap_UnusualOrInfrequentItemDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_UnusualOrInfrequentItemAxis_1" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_UnusualOrInfrequentItemAxis_1 To us-gaap_UnusualOrInfrequentItemDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_1" xlink:title="us-gaap_HedgingDesignationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_1" xlink:title="us-gaap_HedgingDesignationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_HedgingDesignationAxis_1" xlink:to="us-gaap_HedgingDesignationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_HedgingDesignationAxis_1 To us-gaap_HedgingDesignationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" xlink:title="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_1" xlink:title="us-gaap_HedgingRelationshipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1" xlink:to="us-gaap_HedgingRelationshipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_1 To us-gaap_HedgingRelationshipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:title="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_1" xlink:title="srt_EquityMethodInvesteeNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1" xlink:to="srt_EquityMethodInvesteeNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_1 To srt_EquityMethodInvesteeNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalUnitsByClassAxis" xlink:label="us-gaap_CapitalUnitsByClassAxis_1" xlink:title="us-gaap_CapitalUnitsByClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain_1" xlink:title="us-gaap_CapitalUnitClassDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CapitalUnitsByClassAxis_1" xlink:to="us-gaap_CapitalUnitClassDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CapitalUnitsByClassAxis_1 To us-gaap_CapitalUnitClassDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:title="us-gaap_SubsidiarySaleOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_1" xlink:title="us-gaap_SaleOfStockNameOfTransactionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_1" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsidiarySaleOfStockAxis_1 To us-gaap_SaleOfStockNameOfTransactionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_1" xlink:title="us-gaap_LongtermDebtTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_1" xlink:title="us-gaap_LongtermDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongtermDebtTypeAxis_1" xlink:to="us-gaap_LongtermDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongtermDebtTypeAxis_1 To us-gaap_LongtermDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_1" xlink:title="us-gaap_LineOfCreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_1" xlink:title="us-gaap_LineOfCreditFacilityLenderDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LineOfCreditFacilityAxis_1" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LineOfCreditFacilityAxis_1 To us-gaap_LineOfCreditFacilityLenderDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_1" xlink:title="us-gaap_RelatedPartyTransactionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_1" xlink:title="us-gaap_RelatedPartyTransactionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionAxis_1" xlink:to="us-gaap_RelatedPartyTransactionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionAxis_1 To us-gaap_RelatedPartyTransactionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:title="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="us-gaap_LossContingencyNatureDomain_1" xlink:title="us-gaap_LossContingencyNatureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LossContingenciesByNatureOfContingencyAxis_1" xlink:to="us-gaap_LossContingencyNatureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LossContingenciesByNatureOfContingencyAxis_1 To us-gaap_LossContingencyNatureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_1" xlink:title="us-gaap_GranteeStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_1" xlink:title="us-gaap_GranteeStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_GranteeStatusAxis_1" xlink:to="us-gaap_GranteeStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_GranteeStatusAxis_1 To us-gaap_GranteeStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:title="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" xlink:title="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1" xlink:to="us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_1 To us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="us-gaap_DisposalGroupClassificationAxis_1" xlink:title="us-gaap_DisposalGroupClassificationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="us-gaap_DisposalGroupClassificationDomain_1" xlink:title="us-gaap_DisposalGroupClassificationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DisposalGroupClassificationAxis_1" xlink:to="us-gaap_DisposalGroupClassificationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DisposalGroupClassificationAxis_1 To us-gaap_DisposalGroupClassificationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis" xlink:label="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" xlink:title="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsHeldForSaleNameDomain" xlink:label="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" xlink:title="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1" xlink:to="us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_LongLivedAssetsHeldForSaleByAssetTypeAxis_1 To us-gaap_LongLivedAssetsHeldForSaleNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:title="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_1" xlink:title="us-gaap_ChangeInAccountingEstimateTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ChangeInAccountingEstimateByTypeAxis_1 To us-gaap_ChangeInAccountingEstimateTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_1" xlink:title="us-gaap_VestingAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_1" xlink:title="us-gaap_VestingDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VestingAxis_1" xlink:to="us-gaap_VestingDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VestingAxis_1 To us-gaap_VestingDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" xlink:title="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_1 To us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis_1" xlink:title="us-gaap_PledgedStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain_1" xlink:title="us-gaap_PledgedStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PledgedStatusAxis_1" xlink:to="us-gaap_PledgedStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PledgedStatusAxis_1 To us-gaap_PledgedStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtAxis" xlink:label="us-gaap_ExtinguishmentOfDebtAxis_1" xlink:title="us-gaap_ExtinguishmentOfDebtAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain_1" xlink:title="us-gaap_ExtinguishmentOfDebtTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ExtinguishmentOfDebtAxis_1" xlink:to="us-gaap_ExtinguishmentOfDebtTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ExtinguishmentOfDebtAxis_1 To us-gaap_ExtinguishmentOfDebtTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RecourseStatusAxis" xlink:label="us-gaap_RecourseStatusAxis_1" xlink:title="us-gaap_RecourseStatusAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RecourseStatusDomain" xlink:label="us-gaap_RecourseStatusDomain_1" xlink:title="us-gaap_RecourseStatusDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RecourseStatusAxis_1" xlink:to="us-gaap_RecourseStatusDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RecourseStatusAxis_1 To us-gaap_RecourseStatusDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:title="us-gaap_FairValueByMeasurementFrequencyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="us-gaap_FairValueMeasurementFrequencyDomain_1" xlink:title="us-gaap_FairValueMeasurementFrequencyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis_1" xlink:to="us-gaap_FairValueMeasurementFrequencyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByMeasurementFrequencyAxis_1 To us-gaap_FairValueMeasurementFrequencyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis_1" xlink:title="us-gaap_FinancialInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" xlink:title="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FinancialInstrumentAxis_1" xlink:to="us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FinancialInstrumentAxis_1 To us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_1" xlink:title="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProjectMember" xlink:label="us-gaap_ProjectMember_1" xlink:title="us-gaap_ProjectMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_1" xlink:to="us-gaap_ProjectMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_1 To us-gaap_ProjectMember_1" order="1" />
  </link:definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="dei_DocumentInformationTable" xlink:to="dei_EntityAddressesAddressTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_AddressTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_AddressTypeDomain" xlink:to="dei_BusinessContactMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentRegistrationStatement" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentShellCompanyReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCountry" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAccountingStandard" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="36" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_ContactPersonnelName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="37" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="38" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_ParentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockSharesRetired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_SolarPowerSystemCommitmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xlink:type="extended" xlink:title="40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CanadianSolarMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CanadianSolarEmployeesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_OtherPayablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_PremiumDiscountOnIssueOfShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_SubscriptionAdvances" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_FinancialGuaranteeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_GainContingenciesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="us-gaap_ServiceLifeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_UseRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_CsiSolarSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="us-gaap_OperatingLeaseLeaseIncome" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_OperatingLeaseLeaseIncome" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xlink:label="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OperatingLeaseLeaseIncome" xlink:to="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_CsiSolarSegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ShippingAndHandlingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_GrantMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesMember" xlink:label="us-gaap_OtherCurrentLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherCurrentLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsCurrent" xlink:label="csiq_GovernmentGrantsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GovernmentGrantsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsNonCurrent" xlink:label="csiq_GovernmentGrantsNonCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GovernmentGrantsNonCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_StandardSolarModuleMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CertainSolarModuleMember" xlink:label="csiq_CertainSolarModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_CertainSolarModuleMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BatteryStorageProductsMember" xlink:label="csiq_BatteryStorageProductsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BatteryStorageProductsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsByEpcServicesMember" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectsByEpcServicesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_MaterialAndWorkmanShipMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_EightyPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_InsurancePolicyTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_StandardProductWarrantyPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_OtherNoncurrentAssetsAdjustment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyExtensionPeriod" xlink:label="csiq_StandardProductWarrantyExtensionPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_StandardProductWarrantyExtensionPeriod" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="extended" xlink:title="40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_SupplierConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierBMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="csiq_SupplierCMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_AdvancesOnInventoryPurchases" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate202004Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="srt_StatementScenarioAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_ScenarioUnspecifiedDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioForecastMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableGrossCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_AssetUnderConstructionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_SolarPowerSystemsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_SolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_HedgingRelationshipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_CashFlowHedgingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeNotionalAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesAssetsCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesLiabilitiesCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_CommodityContractMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_CommodityContractMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Cash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="csiq_ProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroSolarHoldingS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JaibaSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LavraSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_OtherEquityMethodInvesteesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LavraSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroSolarHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JaibaSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_IPOMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_PrivatePlacementMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfBoardMembers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_SharePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfUnitsPurchased" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_DecreaseOfNetAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LeaseCostAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_FinanceLeaseInterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_OperatingLeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_ShortTermLeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCost" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_WorkingCapitalFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_NonBindingLineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_ShortTermNotePayableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_NonrecourseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RecourseMember" xlink:label="us-gaap_RecourseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RecourseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TermLoanMember" xlink:label="csiq_TermLoanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_TermLoanMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingFacilityMember" xlink:label="csiq_FinancingFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_FinancingFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BankBorrowingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSpainSociedadLimitadaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarProjectKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SunmexRenovablesS.a.DeC.v.Member" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_SunmexRenovablesS.a.DeC.v.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiCellsYanchengCo.Ltd.Member" xlink:label="csiq_CsiCellsYanchengCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsYanchengCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BrazilianSubsidiariesMember" xlink:label="csiq_BrazilianSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_BrazilianSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" xlink:label="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_EntityDomain" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_EntityDomain" xlink:to="csiq_FourJapaneseSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LoanFacilityMember" xlink:label="csiq_LoanFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="csiq_LoanFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche1LoanFacilityMember" xlink:label="csiq_Tranche1LoanFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="csiq_Tranche1LoanFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche2LoanFacilityMember" xlink:label="csiq_Tranche2LoanFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="csiq_Tranche2LoanFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MezzanineLoanFacilityMember" xlink:label="csiq_MezzanineLoanFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="csiq_MezzanineLoanFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_UnsecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_DebtSecuredByPropertyPlantAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_PledgedStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PledgedStatusAxis" xlink:to="us-gaap_PledgedStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PledgedStatusDomain" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="7" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProjectMember" xlink:label="us-gaap_ProjectMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:to="us-gaap_ProjectMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarProjectMember" xlink:label="csiq_SolarProjectMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ProjectMember" xlink:to="csiq_SolarProjectMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="8" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermBorrowingsOnProjectAssets" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="csiq_ShortTermBorrowingsOnProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_OtherShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermBorrowingsOnProjectAssets" xlink:label="csiq_LongTermBorrowingsOnProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="csiq_LongTermBorrowingsOnProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebt" xlink:label="us-gaap_OtherLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_OtherLongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_SecuredDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ProceedsFromLinesOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedEquityNotSeparatelyReported" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsSolarPowerSystems" xlink:label="csiq_PledgedAssetsSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_SecuredShortTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentFaceAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_AmountOfDevelopmentLoan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_TotalAmountOfMatures" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfAvailableCommitmentCancelled" xlink:label="csiq_AmountOfAvailableCommitmentCancelled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_AmountOfAvailableCommitmentCancelled" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SecuredLongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_OtherBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtAxis" xlink:label="us-gaap_ExtinguishmentOfDebtAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_ExtinguishmentOfDebtAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ExtinguishmentOfDebtAxis" xlink:to="us-gaap_ExtinguishmentOfDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMember" xlink:label="us-gaap_LongTermDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:to="us-gaap_LongTermDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtMember" xlink:label="us-gaap_ShortTermDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:to="us-gaap_ShortTermDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestCostsIncurredAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurred" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xlink:type="extended" xlink:title="41701 - Disclosure - CONVERTIBLE NOTES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_ConvertibleDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestPayableCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG" xlink:label="country_SG" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_SG" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="csiq_OtherJurisdictionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG" xlink:label="country_SG" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_SG" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSolutionsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUSAIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSsesUsIncMember" xlink:label="csiq_CanadianSolarSsesUsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSsesUsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_RecurrentEnergyGroupInc.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarJapanKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsInterestLimitation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="csiq_IncomeTaxesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_PreferentialWithholdingTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxHolidayAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_EarningsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_EarningsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_AffiliatedEntityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba4RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba4RenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaiba4RenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouIsilverMaterialsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_ChiefExecutiveOfficerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasSolarHoldingS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="csiq_ChineseCommercialBanksMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="csiq_AssetManagementServiceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="csiq_OMServiceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="6" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInc.Member" xlink:label="csiq_CanadianSolarInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CanadianSolarInc.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="7" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LavrasSolarHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="8" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_KoreanInvestorMember" xlink:label="csiq_KoreanInvestorMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_KoreanInvestorMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseInvestorMember" xlink:label="csiq_ChineseInvestorMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_ChineseInvestorMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianInfrastructureFundMember" xlink:label="csiq_CanadianInfrastructureFundMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianInfrastructureFundMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_PurchaseOfUnitsPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RevenueFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_ServiceRevenueFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_CostsAndExpensesRelatedParty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_SolarPowerSystemCommitmentsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInSecondYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInThirdYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LossContingenciesTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_LitigationCaseAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_FirstAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SecondAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_ThirdAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_FourthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_FifthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SixthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SeventhAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SeventhAdministrativeReviewOfSolarTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_EighthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_EighthAdministrativeReviewOfSolarTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="csiq_EliminationsAndReconcilingItemsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_CsiSolarSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EuropeMember" xlink:to="country_AU" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EuropeMember" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EuropeMember" xlink:to="country_ZA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EuropeMember" xlink:to="country_ES" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EuropeMember" xlink:to="country_NL" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB" xlink:label="country_GB" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EuropeMember" xlink:to="country_GB" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EuropeMember" xlink:to="country_CZ" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE" xlink:label="country_IE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EuropeMember" xlink:to="country_IE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_RO" xlink:label="country_RO" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_EuropeMember" xlink:to="country_RO" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_EuropeMember" xlink:to="country_FR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_EuropeMember" xlink:to="country_AR" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_EuropeMember" xlink:to="csiq_OtherCountriesEuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="csiq_AmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_AmericaMember" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_AmericaMember" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_AmericaMember" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CL" xlink:label="country_CL" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_AmericaMember" xlink:to="country_CL" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MX" xlink:label="country_MX" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_AmericaMember" xlink:to="country_MX" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="csiq_AmericaMember" xlink:to="csiq_OtherCountriesAmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_AsiaMember" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_AsiaMember" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_AsiaMember" xlink:to="country_IN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_AsiaMember" xlink:to="country_AE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_AsiaMember" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_AsiaMember" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_AsiaMember" xlink:to="country_PK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW" xlink:label="country_TW" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_AsiaMember" xlink:to="country_TW" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_AsiaMember" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_AsiaMember" xlink:to="csiq_OtherCountriesAsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_CsiSolarSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_GlobalEnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMember" xlink:label="csiq_SolarModulesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarModulesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarSystemKitsProductMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UtilityScaleBatteryStorageMember" xlink:label="csiq_UtilityScaleBatteryStorageMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_UtilityScaleBatteryStorageMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ResidentialBatteryStorageMember" xlink:label="csiq_ResidentialBatteryStorageMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_ResidentialBatteryStorageMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherCsiSolarProductsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OmAndAssetManagementServicesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_AssetImpairmentCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ImpairmentOfInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="csiq_ProjectAssetsImpairmentCharge" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_GranteeStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_PerformanceSharesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_VestingAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_GranteeStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DerivativeAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_InvestmentInSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_InvestmentInAffiliates" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DerivativeLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_ConvertibleNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_CommonStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainLossOnInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AccretionExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsToAcquireSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsToAcquireAffiliates" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RepaymentOfLoanFromSubsidiaries" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="csiq_RepaymentOfLoanFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromMinorityShareholders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfConvertibleDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>19
<FILENAME>csiq-20221231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/18/2023 5:39:09 PM-->
<!--Modified on: 4/18/2023 5:39:09 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cover [Abstract]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_EntityAddressesAddressTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressesAddressTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Addresses, Address Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AddressTypeDomain" xlink:to="dei_AddressTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AddressTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Address Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_BusinessContactMember" xlink:to="dei_BusinessContactMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_BusinessContactMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Contact</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Central Index Key</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Type</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Registration Statement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Annual Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Transition Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Shell Company Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Period End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity File Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Registrant Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Incorporation, State or Country Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Country</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Country</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Postal Zip Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title of 12(b) Security</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trading Symbol</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Security Exchange Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amendment Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Fiscal Year End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Well-known Seasoned Issuer</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Voluntary Filers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Current Reporting Status</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Interactive Data Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Filer Category</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Emerging Growth Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Accounting Standard</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Shell Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Common Stock, Shares Outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Year Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Period Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ICFR Auditor Attestation Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Auditor Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Auditor Location</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Auditor Firm ID</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_ContactPersonnelName" xlink:to="dei_ContactPersonnelName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_ContactPersonnelName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contact Personnel Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">City Area Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Local Phone Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled Receivables, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivables, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromRelatedPartiesCurrent" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due from related parties, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValueAddedTaxReceivableCurrent" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax recoverable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvancesOnInventoryPurchases" xlink:to="us-gaap_AdvancesOnInventoryPurchases_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssetsCurrent" xlink:to="us-gaap_DerivativeAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - non-current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Net.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_SolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances on Inventory Purchases, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intangible assets, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-current portion</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Right-of-Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-use assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating lease ROU assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromRelatedPartiesNoncurrent" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Related Parties, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due from related parties, Non current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND EQUITY</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayable" xlink:to="csiq_ShortTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of borrowings classified s short term notes payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short term notes payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableOtherCurrent" xlink:to="us-gaap_AccountsPayableOtherCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable, Other, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract With Customer Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilitiesCurrent" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermNotesAndLoans" xlink:to="us-gaap_LongTermNotesAndLoans_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes and Loans, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subtotal for long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayable" xlink:to="us-gaap_ConvertibleNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for Uncertain Tax Positions, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Liabilities, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Accrual</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingLiabilitiesNonCurrent" xlink:to="csiq_FinancingLiabilitiesNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing Liabilities Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies (Note 21)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2020 and 2021, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2019 and 2020, respectively</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid in Capital, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated other comprehensive loss</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Canadian Solar Inc. shareholders' equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Accounts Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Closing balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common share, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares outstanding (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalesRevenueAbstract" xlink:to="csiq_SalesRevenueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">n/a</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total electricity revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating expenses:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and Marketing Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and distribution expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss from operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expense):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment Income, Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Derivative Instruments, Net, Pretax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on change in fair value of derivatives, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on change in fair value of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transaction Gain (Loss), before Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange gain (loss), net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment income (loss), net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment (loss) gain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total other income (expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expenses), net:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes and equity in earnings of subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes and equity in earnings of affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax benefit (expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax benefit (expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (loss)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: net income attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for basic calculation - weighted average number of common shares - basic</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for diluted calculation - weighted average number of common shares - diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income, Net of Tax, Portion Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss) (net of tax of nil)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">OCI, Debt Securities, Available-for-Sale, Gain (Loss), before Adjustment, after Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on changes in fair value of available-for-sale debt securities, net of tax of nil, nil and $487 for the years ended December 31, 2020, 2021 and 2022, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value change of available-for-sale debt securities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Interest Rate Swap Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on interest rate swap, net of tax of nil, $20 and $239 for the years ended December 31, 2020, 2021 and 2022, respectively</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount represents De-recognition of commodity hedge and interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of interest rate swap, net of tax of nil for the year ended December 31, 2020</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), before Adjustments, after Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share of gain on changes in fair value of derivatives of affiliate, net of tax of nil for the year ended December 31, 2022</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share of fair value change on derivatives of affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: comprehensive income attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid-in Capital</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-Controlling Interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of non-controlling interest's ownership</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of common shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cost of share repurchases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares repurchased</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of common shares (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Subsidiary Equity Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transfer of equity interest in subsidiaries to non-controlling shareholders</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options and RSUs (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Option exercised</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesRetired" xlink:to="us-gaap_TreasuryStockSharesRetired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesRetired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares, Retired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockSharesRetired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement of treasury stock (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Retired, Cost Method, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement of treasury stock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of ordinary shares, net of issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, New Issues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Issuance of ordinary shares, net of issuance costs (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares sold at-the-market</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Sale of Parent Equity Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Stock in Subsidiary or Equity Method Investee</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disposal of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value change on derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ConsolidatedEntitiesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMinorityShareholders" xlink:to="us-gaap_ProceedsFromMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital raised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from changes in ownership interests in subsidiaries without change of control</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Stock Issuance Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commissions and offering expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to net income:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccretionExpense" xlink:to="us-gaap_AccretionExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccretionExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Assumptions, Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccretionExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accretion of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss (gain) on disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of gain (loss) on sale or disposal of solar power systems and other investments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on disposal of solar power systems and other investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Realized Gain (Loss) on Disposal</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investments in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on sale of interest in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investment in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment charges for property, plant and equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsImpairmentCharge" xlink:to="csiq_ProjectAssetsImpairmentCharge_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the impairment charges and write-off for investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Impairment Charge</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets impairment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfInvestments" xlink:to="us-gaap_ImpairmentOfInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other than Temporary Impairment Losses, Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment charges on investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonCashOperatingLeaseExpenses" xlink:to="csiq_NonCashOperatingLeaseExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of non-cash operating lease expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash Operating lease expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash operating lease expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Write-down</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Write-down of inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory written down</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnrealizedGainLossFromSalesToInvestees" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents amount of unrealized gain, (loss) from sales to investees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized Gain, (Loss) from Sales to Investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized gain (loss) from sales to affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of derecognition of commodity hedge and interest rate swap.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derecognition of Commodity Hedge and Interest Rate Swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derecognition of interest rate swap</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Taxes and Tax Credits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in operating assets and liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Value Added Tax Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax recoverable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in advances to suppliers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Advance to Suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInProjectAssets" xlink:to="csiq_IncreaseDecreaseInProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Noncurrent Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable, Trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Customer Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Operating Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Liability for Uncertainty in Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfDerivatives" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Sale of Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Activities, Cash Flow Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) operating activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investing activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Return of capital from affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments To Acquire Property Plant And Equipment And Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireSolarPowerSystems" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the proceeds from the sale or disposal of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale or Disposal of Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash used in investing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromNotesPayable" xlink:to="us-gaap_ProceedsFromNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfNotesPayable" xlink:to="us-gaap_RepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Proceeds from long term borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Long-term Debt Other than Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents to Proceeds From Payments To Minority Share holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Payments To Minority Share holder</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from issuance of common stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of common shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" xlink:to="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Repayments of) financing liabilities of third parties.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Repayment Of) third party financing liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (repayment of) third party financing liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of cash inflow received by a seller-lessee in a sale-leaseback recognized in financing activities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale Leaseback Transaction, Proceeds, Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from sales-leaseback arrangement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Principal Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of finance lease obligation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromConvertibleDebt" xlink:to="us-gaap_ProceedsFromConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfConvertibleDebt" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds from issuance of convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of convertible notes</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSubscriptionAdvances" xlink:to="csiq_ProceedsFromSubscriptionAdvances_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of cash inflow from subscription advances.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Subscription Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProceedsFromSubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from subscription of employee stock ownership plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of common shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of common shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Repayments of) Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (repayment of) short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by financing activities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of exchange rate changes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Period Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net increase (decrease) in cash, cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the end of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental Cash Flow Information [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental disclosure of cash flow information:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes paid, net of tax refund</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental schedule of non-cash activities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Expenditures Incurred but Not yet Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment costs included in other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Operations [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR CREDIT LOSSES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR CREDIT LOSSES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROJECT ASSETS</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsDisclosureTextBlock" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information relating to project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROJECT ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOLAR POWER SYSTEMS, NET</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsTextBlock" xlink:to="csiq_SolarPowerSystemsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOLAR POWER SYSTEMS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments and Joint Ventures Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Leases [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="us-gaap_NotesPayableAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableAbstract" xlink:to="us-gaap_NotesPayableAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayableTextBlock" xlink:to="csiq_ShortTermNotesPayableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Notes Payable [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ConvertibleNotesDisclosureTextBlock" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Disclosure Text Block</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transactions Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorCustomersDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MAJOR CUSTOMERS</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorCustomersDisclosureTextBlock" xlink:to="csiq_MajorCustomersDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MAJOR CUSTOMERS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pension and Other Postretirement Benefits Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUBSEQUENT EVENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUBSEQUENT EVENT</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Information of Parent Company Only Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of presentation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of consolidation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification, Comparability Adjustment [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of Estimates, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of estimates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Loss, Financial Instrument [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersPolicyTextBlock" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for advances to suppliers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPolicyTextBlock" xlink:to="csiq_ProjectAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for determining project asset costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business combination</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsAcquisitionPolicyTextBlock" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for assets acquisition.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets Acquisition [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets acquisition</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LandUseRightPolicyTextBlock" xlink:label="csiq_LandUseRightPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LandUseRightPolicyTextBlock" xlink:to="csiq_LandUseRightPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land Use Right [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land use rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment of long-lived assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Capitalization, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetRetirementObligationsPolicy" xlink:to="us-gaap_AssetRetirementObligationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Retirement Obligations, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets retirement obligation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Leases [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shippings and Handling Cost, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and handling</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for other operating income and other operating expense items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transactions and Translations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Risk [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration of credit risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value of Financial Instruments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value of financial instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives instruments and hedging activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:to="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire policy related to unusual and/or infrequent items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unusual Or Infrequent Item [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Risks and uncertainties related to the COVID-19 pandemic</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Property Plant and Equipment Useful Life [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of expected useful lives of property and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of useful life intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:to="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of Schedule of Electricity Revenue</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Electricity Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of company's electricity revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of disaggregation of revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets and contract liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of accounting policy for other operating income and other operating expense items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Other Operating Income (Expense) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's other operating income, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:to="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Prepayments by Major Suppliers [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Accounts, Notes, Loans and Financing Receivable [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossMember" xlink:to="us-gaap_AllowanceForCreditLossMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for accounts receivable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForAdvancesToSuppliersMember" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the valuation allowance for advances to suppliers that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForOtherReceivablesMember" xlink:to="csiq_AllowanceForOtherReceivablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the valuation allowance for other receivables that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for other receivables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts, Notes, Loans and Financing Receivable [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses on Financing Receivables [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of allowances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of allowances for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Inventory, Current [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of components of project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Project Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of project assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the components of property, plant and equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Property Plant and Equipment Components [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the components of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Solar Power Systems Components [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" xlink:to="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular information relating to operating leases as of balance sheet.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Supplement Balance Sheet Information [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of supplement balance sheet information</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of leases that are recognized on the Balance Sheets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of other supplemental information</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of lease maturities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of bank borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Maturities of Long-term Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of future principal repayments on the long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of average effective interest rates on borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule Of Effective Interest Rates [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of weighted average effective interest rates on borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the amount of interest expenses related to borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Interest Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of interest incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Product Warranty Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's warranty activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Income Tax Holiday [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of the deferred tax assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Valuation Allowance [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement of the valuation allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of computation of basic and diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase arrangement in which the entity has agreed to expend funds to procure property and equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemCommitmentsMember" xlink:to="csiq_SolarPowerSystemCommitmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemCommitmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power system commitments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemCommitmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power system</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Purchase Commitment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of payment for commitments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Company's revenues and gross profit and income from operations generated from each segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's net revenues generated from different geographic locations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-lived Assets by Geographic Areas [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's revenues generated from each product or service</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the RSU activity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarMember" xlink:to="csiq_CanadianSolarMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CounterpartyNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leading institutional investors and strategic partners.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Third-Party Investors</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEmployeesMember" xlink:to="csiq_CanadianSolarEmployeesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEmployeesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Employees [Member].</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEmployeesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Employees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherPayablesMember" xlink:to="csiq_OtherPayablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other payables.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherPayablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate consideration transferred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combination, Consideration Transferred, Equity Interests Issued and Issuable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity fair value of consideration transferred</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Purchase Proceeds From Third Party Investors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from share purchases of third-party investors</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Employee Stock Ownership Plan</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregated transaction amount under employee incentive plan</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PercentageOfDiscountOnIssueOfShares" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of discount on issue of shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of Discount on Issue of Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of discount on issue of shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PremiumDiscountOnIssueOfShares" xlink:to="csiq_PremiumDiscountOnIssueOfShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PremiumDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of premium or discount on issue of shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PremiumDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Premium (Discount) on Issue of Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PremiumDiscountOnIssueOfShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Premium on transaction issue of shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SubscriptionAdvances" xlink:to="csiq_SubscriptionAdvances_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SubscriptionAdvances_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subscription advances</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Payment Arrangement, Expensed and Capitalized, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Compensation cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership percentage by non-controlling owners</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_GainContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid Expenses And Other Current Assets [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialGuaranteeMember" xlink:to="us-gaap_FinancialGuaranteeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialGuaranteeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financial Guarantee</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal accounting policies:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Allowance for Credit Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsMaximumExposure" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Maximum Exposure, Undiscounted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor obligations, maximum exposure</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Buildings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Machinery</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Furniture, fixtures and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VehiclesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Motor vehicles</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricGenerationEquipmentMember" xlink:to="us-gaap_ElectricGenerationEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricGenerationEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Accounting Estimate by Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in Accounting Estimate, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ServiceLifeMember" xlink:to="us-gaap_ServiceLifeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ServiceLifeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation life</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated useful lives</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:to="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the maximum useful life of project to be transferred to an offtaker.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum Useful Life of Projects to be Transferred to an Offtaker</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum useful life of transferred to an offtaker</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInDepreciationExpense" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of increase Decrease in Depreciation Expense
..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase Decrease in Depreciation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase or decrease in depreciation expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Technical know-how</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Computer software</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseRightsMember" xlink:to="us-gaap_UseRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land use rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Asset, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligation" xlink:label="us-gaap_AssetRetirementObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetRetirementObligation" xlink:to="us-gaap_AssetRetirementObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetRetirementObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Retirement Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetRetirementObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset retirement obligation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricityMember" xlink:to="us-gaap_ElectricityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition:</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of performance based energy incentives recognized in revenue.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of performance based energy incentives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of performance based energy incentives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarSegmentMember" xlink:to="csiq_CsiSolarSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Segment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GlobalEnergySegmentMember" xlink:to="csiq_GlobalEnergySegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GlobalEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to th global energy segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GlobalEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Global Energy Segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total net revenues</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="us-gaap_OperatingLeaseLeaseIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLeaseIncome" xlink:to="us-gaap_OperatingLeaseLeaseIncome_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLeaseIncome_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Lease Income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLeaseIncome_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xlink:label="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xlink:to="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Lease Income, Statement of Income or Comprehensive Income [Extensible Enumeration]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized at a point in time</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized over time</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of other current liabilities relating to contract liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities, Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognized from beginning balance of contract liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities expected to be recognized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and Handling</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling and distribution expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrantMember" xlink:to="us-gaap_GrantMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrantMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government grants</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesMember" xlink:label="us-gaap_OtherCurrentLiabilitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCurrentLiabilitiesMember" xlink:to="us-gaap_OtherCurrentLiabilitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherCurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherCurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncurrent Liabilities [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other noncurrent liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net loss on disposal of property, plant and equipment included in other operating expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Loss Disposal Property Plant Equipment Other Operating Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (gain) loss on disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of (insurance claims) or weather related project damages.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Claims or Weather Related Project Damages</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">(Insurance claims on) weather-related project damages</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsCurrent" xlink:label="csiq_GovernmentGrantsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GovernmentGrantsCurrent" xlink:to="csiq_GovernmentGrantsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GovernmentGrantsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion of government grants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GovernmentGrantsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government Grants, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_GovernmentGrantsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government grants, current</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsNonCurrent" xlink:label="csiq_GovernmentGrantsNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GovernmentGrantsNonCurrent" xlink:to="csiq_GovernmentGrantsNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GovernmentGrantsNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Current portion of government grants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GovernmentGrantsNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government Grants, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_GovernmentGrantsNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government grants, non current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardSolarModuleMember" xlink:to="csiq_StandardSolarModuleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Standard Solar module.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard solar modules</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member represents the information pertaining to Bifacial Module and Double Glass Module.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bifacial module and double glass module</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CertainSolarModuleMember" xlink:label="csiq_CertainSolarModuleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CertainSolarModuleMember" xlink:to="csiq_CertainSolarModuleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CertainSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to certain solar module.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CertainSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Certain solar module</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BatteryStorageProductsMember" xlink:label="csiq_BatteryStorageProductsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BatteryStorageProductsMember" xlink:to="csiq_BatteryStorageProductsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BatteryStorageProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to battery storage products.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BatteryStorageProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Battery storage products</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsByEpcServicesMember" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectsByEpcServicesMember" xlink:to="csiq_SolarPowerProjectsByEpcServicesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar power projects by EPC services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power projects by EPC services</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MaterialAndWorkmanShipMember" xlink:to="csiq_MaterialAndWorkmanShipMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to material and workmanship.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Material and workmanship</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EightyPercentInitialPowerCapacityMember" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 80% initial power capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">80% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 97% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">97 % initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetyThreeInitialPowerCapacityMember" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 93% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">93% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual Rate for Sales of Solar Modules</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty accrual rate for sales of solar modules as a percentage of revenue</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsurancePolicyTerm" xlink:to="csiq_InsurancePolicyTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the term of the insurance policy over which the insurance premium will be amortized.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Policy Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term of insurance policy over which the insurance premium will be amortized</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardProductWarrantyPeriod" xlink:to="csiq_StandardProductWarrantyPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the period of time over which the entity guarantees against defects in materials and workmanship.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantee of solar modules for defects in materials and engineering design, installation and construction</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Warranty Period Against Decline of More than Ten Percent of Power Generation Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Warranty Period Against Decline of More than Twenty Percent of Power Generation Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the unamortized carrying amount of insurance premium.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Premium Unamortized Amount Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized carrying amount of insurance premium</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Settlements Receivable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance receivable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherNoncurrentAssetsAdjustment" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncurrent Assets Adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Downward adjustment of other non-current assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyExpense" xlink:to="us-gaap_ProductWarrantyExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs (net effect of adjustment) included in cost of revenues</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Ten Year Warranty</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of decline in initial minimum power generation capacity for 10 years</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Twenty Five Year Warranty</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of decline in initial minimum power generation capacity for 25 years</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyExtensionPeriod" xlink:label="csiq_StandardProductWarrantyExtensionPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardProductWarrantyExtensionPeriod" xlink:to="csiq_StandardProductWarrantyExtensionPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardProductWarrantyExtensionPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The extended period of time over which the entity guarantees against defects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardProductWarrantyExtensionPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty, Extension Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StandardProductWarrantyExtensionPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard product warranty, extension period</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplierConcentrationRiskMember" xlink:to="us-gaap_SupplierConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplierConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierMember" xlink:to="csiq_SupplierMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier A</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierBMember" xlink:to="csiq_SupplierBMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier B.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier B</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SupplierCMember" xlink:to="csiq_SupplierCMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SupplierCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Supplier C.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SupplierCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplier C</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration of credit risk</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update and Change in Accounting Principle [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate202004Member" xlink:to="us-gaap_AccountingStandardsUpdate202004Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingStandardsUpdate202004Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update 2020-04 [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Rate [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">London Interbank Offered Rate (LIBOR) [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioUnspecifiedDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Scenario, Unspecified [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioForecastMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forecast</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to
Advances to Suppliers and Other Receivable .</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers and Other Receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, before Allowance for Credit Loss, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivable, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Valuation Allowances and Reserves [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement of allowances</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Charged to Cost and Expense and Recoveries Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for credit losses, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reversals</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves, Deductions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Write-offs</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of the foreign exchange effects in a given period to allowances or reserves.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Foreign Exchange Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net, Items Net of Reserve Alternative [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Raw Materials, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Raw materials</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Work in Process, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Work-in-process</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Finished Goods, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finished goods</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinishedGoodsModules" xlink:label="csiq_FinishedGoodsModules" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinishedGoodsModules" xlink:to="csiq_FinishedGoodsModules_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of finished goods includes modules.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finished Goods, Modules</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinishedGoodsModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of finished goods includes modules</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal Investment Tax Credit (as a percentage)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of capitalized development costs related to investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets, Plants And Land Capitalized, Development Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets - Development cost, including project acquisition and land cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of capitalized EPC and other cost related to investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land Capitalized EPC and Other Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets - EPC and other construction cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLand_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total project assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedProjectAssets" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leasehold improvements</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Freehold land</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property Plant and Equipment Excluding Construction in Progress Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, excluding construction in process, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in Progress, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in process</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetUnderConstructionMember" xlink:to="us-gaap_AssetUnderConstructionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetUnderConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems under construction</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsGross" xlink:to="csiq_SolarPowerSystemsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount before accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, gross</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Depreciation, Depletion and Amortization, Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of solar power systems reclassified to project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems Reclassified To Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification of solar power systems to project assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for solar power systems disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Solar Power System Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Carrying Amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected amortization expense of intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_HedgingRelationshipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingRelationshipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowHedgingMember" xlink:to="us-gaap_CashFlowHedgingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowHedgingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flow hedge</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative, Notional Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total notional amounts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesAssetsCurrentMember" xlink:to="csiq_DerivativesAssetsCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentAssetsMember" xlink:to="us-gaap_OtherNoncurrentAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNoncurrentAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesLiabilitiesCurrentMember" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NondesignatedMember" xlink:to="us-gaap_NondesignatedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NondesignatedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Not designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange forward contracts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange forward contracts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeOptionMember" xlink:to="us-gaap_ForeignExchangeOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange option contracts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignExchangeOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange option contracts</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommodityContractMember" xlink:to="us-gaap_CommodityContractMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommodityContractMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commodity hedge</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommodityContractMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commodity hedge</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Fair Value [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives asset</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives liability</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:to="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Listed equity securities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFVNINoncurrent" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFVNINoncurrent" xlink:to="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of shares carried at fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGain" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiUnrealizedGain" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedGain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI, Unrealized Gain</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized gains</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedLoss" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiUnrealizedLoss" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Securities, FV-NI, Unrealized Loss</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleLongTermNotesPayable" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_VariableInterestEntityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssets" xlink:to="csiq_ProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="srt_EquityMethodInvesteeNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Suzhou Financial Leasing Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Financial Leasing Co., Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Financial Leasing Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReCrimsonHoldingsLlcMember" xlink:to="csiq_ReCrimsonHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReCrimsonHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Crimson Holdings LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReCrimsonHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Crimson Holdings LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavraSolarHoldingS.a.Member" xlink:to="csiq_LavraSolarHoldingS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavraSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Lavras Solar Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavraSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras Solar Holding S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInfrastructureFundIncMember" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian solar infrastructure fund, Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Infrastructure Fund, Inc</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Infrastructure Fund, Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaSolarHoldingS.a.Member" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Francisco Sa Solar Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco Sa Solar Holding S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the information pertaining to Suzhou Zhuosheng Venture Investment Fund, LLP.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Zhuosheng Venture Investment Fund, LLP [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Zhuosheng Venture Investment Fund, LLP</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroSolarHoldingS.aMember" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Salgueiro Solar Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro Solar Holding S.A</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to JuSheng (Suzhou) Solar Tech Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">JuSheng (Suzhou) Solar Tech Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_JaibaSolarHoldingS.a.Member" xlink:to="csiq_JaibaSolarHoldingS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_JaibaSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Jaiba Solar Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_JaibaSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba Solar Holding S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherEquityMethodInvesteesMember" xlink:to="csiq_OtherEquityMethodInvesteesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other equity method investees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Equity Method Investees [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other investments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Ownership Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership Percentage</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Horus Solar S.A. De Capital Variable ("Horus") and Recursos Solares PV De Mxico II S.A. De Capital Variable ("Recursos") [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Horus Solar S.A. De Capital Variable ("Horus") and Recursos Solares PV De Mxico II S.A. De Capital Variable ("Recursos")</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Horus and Recursos</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrivatePlacementMember" xlink:to="us-gaap_PrivatePlacementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrivatePlacementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Private placement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IPOMember" xlink:to="us-gaap_IPOMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IPOMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Initial public offer</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Legal Entity [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of board members designated by the acquired entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board Members Designated by the Acquired Entity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Board members designated</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardMembers" xlink:to="csiq_NumberOfBoardMembers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of board members.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board Members</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total board members</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment price per unit</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfUnitsPurchased" xlink:to="csiq_NumberOfUnitsPurchased_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfUnitsPurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of units purchased during period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfUnitsPurchased_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Units Purchased</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment Ownership Percentage Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest sold (in percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DecreaseOfNetAssets" xlink:to="csiq_DecreaseOfNetAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DecreaseOfNetAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The decrease of net assets after tax equity transactions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DecreaseOfNetAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Decrease of Net Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DecreaseOfNetAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net assets derecognized</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Lease, Description [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease cost:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Right-of-Use Asset, Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of ROU assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest on lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating fixed lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total lease cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Remaining term of the rights</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Term of Contract</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease term</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:to="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of operating lease right of use assets excluding land use rights.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease Right of use Asset Excluding Land Use Rights</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease ROU assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LandUseRightsNet" xlink:label="csiq_LandUseRightsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LandUseRightsNet" xlink:to="csiq_LandUseRightsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LandUseRightsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of land use rights.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LandUseRightsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land Use Rights, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LandUseRightsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land use rights, net</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Payment on Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash outflows from finance lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash outflows from operating lease</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of finance lease payments during the year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Financing Cash Flows from Finance Lease</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing cash outflows from finance lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:to="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right Of Use Assets Disposed Through Early Termination Of Operating Leases In Non-Cash Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROU assets disposed through early termination of operating leases in non-cash transaction</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average of remaining lease term - finance leases (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average of remaining lease term - operating leases (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average of lease discount rate - finance lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average of lease discount rate - operating lease</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of operating leases</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Year Ending December 31:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease Liabilities, Gross Difference, Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating leases, gross difference</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of finance leases</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Statement of Financial Position [Extensible Enumeration]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearThree" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearFour" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearFive" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2027</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total lease liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets and Liabilities, Lessee [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiabilityCurrent" xlink:to="csiq_LeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiabilityNoncurrent" xlink:to="csiq_LeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WorkingCapitalFacilityMember" xlink:to="csiq_WorkingCapitalFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WorkingCapitalFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to working capital facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WorkingCapitalFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Working Capital Facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonBindingLineOfCreditMember" xlink:to="csiq_NonBindingLineOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonBindingLineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a non-binding contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonBindingLineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-binding bank credit facilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotePayableMember" xlink:to="csiq_ShortTermNotePayableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotePayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents of Short term note payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotePayableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Note Payable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrecourseMember" xlink:to="us-gaap_NonrecourseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonrecourseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-recourse</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RecourseMember" xlink:label="us-gaap_RecourseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RecourseMember" xlink:to="us-gaap_RecourseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RecourseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recourse</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TermLoanMember" xlink:label="csiq_TermLoanMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TermLoanMember" xlink:to="csiq_TermLoanMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TermLoanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to a Represents the information pertaining to term loan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TermLoanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term loan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revolving credit facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingFacilityMember" xlink:label="csiq_FinancingFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingFacilityMember" xlink:to="csiq_FinancingFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to financing facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BankBorrowingsMember" xlink:to="csiq_BankBorrowingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BankBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to borrowings from bank.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BankBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bank borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Azuma Kofuji Daiichi Hatsudensho G.K. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Azuma Kofuji Daiichi Hatsudensho G.K.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:to="csiq_CanadianSolarSpainSociedadLimitadaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining toCanadian Solar Spain, Sociedad Limitada [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Spain, Sociedad Limitada</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar Sunenergy (Jiaxing) Co. Ltd</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Jiaxing) Co. Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarProjectKKMember" xlink:to="csiq_CanadianSolarProjectKKMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarProjectKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Project K.K.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarProjectKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Project K.K.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SunmexRenovablesS.a.DeC.v.Member" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SunmexRenovablesS.a.DeC.v.Member" xlink:to="csiq_SunmexRenovablesS.a.DeC.v.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Sunmex Renovables, S.A. De C.V.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sunmex Renovables, S.A. De C.V.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Thailand) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiCellsYanchengCo.Ltd.Member" xlink:label="csiq_CsiCellsYanchengCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsYanchengCo.Ltd.Member" xlink:to="csiq_CsiCellsYanchengCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsYanchengCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Cells (Yancheng) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsYanchengCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (Yancheng) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BrazilianSubsidiariesMember" xlink:label="csiq_BrazilianSubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BrazilianSubsidiariesMember" xlink:to="csiq_BrazilianSubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BrazilianSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Brazilian subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BrazilianSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Brazilian subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" xlink:label="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" xlink:to="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar EMEA Capital Markets S.A.U.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar EMEA Capital Markets S.A.U</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FourJapaneseSubsidiariesMember" xlink:to="csiq_FourJapaneseSubsidiariesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FourJapaneseSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents Four Japanese Subsidiaries member
..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FourJapaneseSubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Four Japanese Subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LoanFacilityMember" xlink:label="csiq_LoanFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LoanFacilityMember" xlink:to="csiq_LoanFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to loan facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loan Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loan facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche1LoanFacilityMember" xlink:label="csiq_Tranche1LoanFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Tranche1LoanFacilityMember" xlink:to="csiq_Tranche1LoanFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Tranche1LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to tranche 1 loan facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Tranche1LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche 1 Loan Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_Tranche1LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche2LoanFacilityMember" xlink:label="csiq_Tranche2LoanFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Tranche2LoanFacilityMember" xlink:to="csiq_Tranche2LoanFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Tranche2LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to tranche 2 loan facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Tranche2LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche 2 Loan Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_Tranche2LoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche 2</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MezzanineLoanFacilityMember" xlink:label="csiq_MezzanineLoanFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MezzanineLoanFacilityMember" xlink:to="csiq_MezzanineLoanFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MezzanineLoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to mezzanine loan facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MezzanineLoanFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mezzanine loan facility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnsecuredDebtMember" xlink:to="us-gaap_UnsecuredDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnsecuredDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xlink:to="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the borrowings secured by property, plant and equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings secured by property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PledgedStatusAxis" xlink:to="us-gaap_PledgedStatusAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PledgedStatusAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Status [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PledgedStatusDomain" xlink:to="us-gaap_PledgedStatusDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PledgedStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Status [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Pledged as Collateral without Right [Member]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:to="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProjectMember" xlink:label="us-gaap_ProjectMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProjectMember" xlink:to="us-gaap_ProjectMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarProjectMember" xlink:label="csiq_SolarProjectMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarProjectMember" xlink:to="csiq_SolarProjectMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to solar project</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Project [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar project</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BANK BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermBorrowingsOnProjectAssets" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermBorrowingsOnProjectAssets" xlink:to="csiq_ShortTermBorrowingsOnProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount represents short term borrowings associated with certain solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Borrowings on Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings related to project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherShortTermBorrowings" xlink:to="us-gaap_OtherShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Short-term Borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtCurrent" xlink:to="us-gaap_DebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subtotal for short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermBorrowingsOnProjectAssets" xlink:label="csiq_LongTermBorrowingsOnProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LongTermBorrowingsOnProjectAssets" xlink:to="csiq_LongTermBorrowingsOnProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount represents long term borrowings associated with certain solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long Term Borrowings on Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings related to project assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebt" xlink:label="us-gaap_OtherLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermDebt" xlink:to="us-gaap_OtherLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Long-Term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum borrowing capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of additional amount drawn of under borrowing.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Amount Drawn Of Under Borrowing</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional amount drawn of under borrowing</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Remaining Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Available amount of credit facilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Lines of Credit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Inventory</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of inventories that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Land Use Rights</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of land use rights that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Not Separately Reported, Restricted Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Not Separately Reported, Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedEquityNotSeparatelyReported" xlink:to="csiq_PledgedEquityNotSeparatelyReported_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Equity, Not Separately Reported</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of equity that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount as of the date of the latest financial statement presented of project assets which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Not Separately Reported, Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of project assets that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsSolarPowerSystems" xlink:label="csiq_PledgedAssetsSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsSolarPowerSystems" xlink:to="csiq_PledgedAssetsSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of solar power systems that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecuredShortTermDebt" xlink:to="csiq_SecuredShortTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the carrying amount of short-term borrowings secured by assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Short Term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term of facility (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Face Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of loan facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of participating financial institutions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Other Participating Financial Institutions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of participating financial institutions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Amount Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmountOfDevelopmentLoan" xlink:to="csiq_AmountOfDevelopmentLoan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmountOfDevelopmentLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of development loan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmountOfDevelopmentLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount Of Development Loan</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmountOfDevelopmentLoan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of development loan</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TotalAmountOfMatures" xlink:to="csiq_TotalAmountOfMatures_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TotalAmountOfMatures_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of total amount of matures.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TotalAmountOfMatures_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Amount Of Matures</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_TotalAmountOfMatures_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of matures</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfAvailableCommitmentCancelled" xlink:label="csiq_AmountOfAvailableCommitmentCancelled" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmountOfAvailableCommitmentCancelled" xlink:to="csiq_AmountOfAvailableCommitmentCancelled_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmountOfAvailableCommitmentCancelled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of available commitment cancelled.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmountOfAvailableCommitmentCancelled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Available Commitment Cancelled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmountOfAvailableCommitmentCancelled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of available commitment cancelled</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsNet" xlink:to="us-gaap_DeferredFinanceCostsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Issuance Costs, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFinanceCostsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt issuance cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Unamortized Discount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt instrument unamortized cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredLongTermDebt" xlink:to="us-gaap_SecuredLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Long-term Debt, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherBorrowings" xlink:to="us-gaap_OtherBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Weighted Average Interest Rate, over Time</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Average interest rate on long-term borrowings (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of long-term debt payable on project assets, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long Term Debt On Project Assets, Maturities Repayments Of Principal In Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future principal repayment of long-term borrowings on project assets - current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future principal repayment on the long-term borrowings loans</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtAxis" xlink:label="us-gaap_ExtinguishmentOfDebtAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtinguishmentOfDebtAxis" xlink:to="us-gaap_ExtinguishmentOfDebtAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ExtinguishmentOfDebtAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Extinguishment of Debt [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:to="us-gaap_ExtinguishmentOfDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Extinguishment of Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtMember" xlink:label="us-gaap_ShortTermDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtMember" xlink:to="us-gaap_ShortTermDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMember" xlink:label="us-gaap_LongTermDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMember" xlink:to="us-gaap_LongTermDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contractual floating interest rate for funds borrowed, under the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Floating Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Floating interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurredAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - property, plant, and equipment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurred" xlink:to="us-gaap_InterestCostsIncurred_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total interest incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualNoncurrent" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ending balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning balance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty provision</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs incurred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Currency Translation, Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Appropriation of after Tax Profit to General Reserve Required Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of the profit after tax to be appropriated to the general reserve</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtMember" xlink:to="us-gaap_ConvertibleDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Debt</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Convertible Debt Initial Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from initial issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Convertible Option Period For Additional Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of option for additional issuance</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Convertible Debt Additional Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from additional issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Stated Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Annual Principal Payment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate initial principal amount</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion price (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales price of common stock as percentage of conversion price for redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Consecutive Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayableCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Finance Costs, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized issuance costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Effective Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of financing costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense, Debt, Excluding Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrent" xlink:to="us-gaap_InterestPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest not paid recorded in other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxContingencyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">United States</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PRC</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_JP" xlink:to="country_JP_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_JP_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Japan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG" xlink:label="country_SG" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_SG" xlink:to="country_SG_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_SG_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Singapore</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_BR" xlink:to="country_BR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_BR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Brazil</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_TH" xlink:to="country_TH_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_TH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thailand</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherJurisdictionsMember" xlink:to="csiq_OtherJurisdictionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other jurisdictions where the entity has operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes and equity in earnings of affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax expense (benefit)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Domestic Country [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Germany</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_HK" xlink:to="country_HK_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_HK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hong Kong</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_HK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hong Kong</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSolutionsIncMember" xlink:to="csiq_CanadianSolarSolutionsIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSolutionsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Solutions Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSolutionsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Solutions Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUSAIncMember" xlink:to="csiq_CanadianSolarUSAIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUSAIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar (USA) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUSAIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar (USA) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSsesUsIncMember" xlink:label="csiq_CanadianSolarSsesUsIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSsesUsIncMember" xlink:to="csiq_CanadianSolarSsesUsIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSsesUsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar SSES (US) Inc</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSsesUsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (US) Inc</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecurrentEnergyGroupInc.Member" xlink:to="csiq_RecurrentEnergyGroupInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecurrentEnergyGroupInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Recurrent Energy Group Inc. (formerly, Canadian Solar Energy Acquisition Co.).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecurrentEnergyGroupInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Group Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarJapanKKMember" xlink:to="csiq_CanadianSolarJapanKKMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarJapanKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Japan K.K.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarJapanKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Japan K.K.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEMEAGmbHMember" xlink:to="csiq_CanadianSolarEMEAGmbHMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEMEAGmbHMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar EMEA GmbH.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEMEAGmbHMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar EMEA GmbH</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInternationalLtdMember" xlink:to="csiq_CanadianSolarInternationalLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar International Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">HKSI</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar International Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal and provincial income tax rate (as a percent)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Combined federal and provincial income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesForeignCorporateTaxRate" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the corporate income tax rate in foreign jurisdiction.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Foreign Corporate Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of board of investment certificates for tax exemption.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment Certificates, Tax Exemption</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment certificates for tax exemption</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest and penalties accrued related to unrecognized tax benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes to the company's liabilities for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ending balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning balance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reductions for tax positions from prior years/Statute of limitations expirations</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents adjustments related to status of limitations expirations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax statue of limitations expirations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statue of limitations expirations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Deferred Tax Assets and Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal components of deferred income tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for credit losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Inventory</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory write-down</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Future Deductible Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future deductible expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and impairment difference of property, plant and equipment and solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets Related To Sale Of Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government subsidies</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net operating losses carry-forward</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Unrealized Currency Losses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized foreign exchange loss and capital loss</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsInterestLimitation" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Interest Limitation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest limitation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, gross</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">End of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net of Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, net of valuation allowance</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation difference of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities Insurance Recoverable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance recoverable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Unrealized Currency Transaction Gains</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized foreign exchange gain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Analysis as:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated net operating losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Loss Carryforwards Subject to Expiration</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated net operating losses subject to expiration between 2021 and 2040</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesTable" xlink:to="csiq_IncomeTaxesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosures pertaining to income taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Permanent Difference, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of permanent difference (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of different tax rate on earnings in other jurisdictions (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Holiday, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of tax holiday (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Effect of True-up</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of true-up (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized tax provision (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in valuation allowance (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of change in tax rate</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Actual income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Additional Disclosure [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional disclosure</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the withholding tax rate on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for withholding income tax on dividend</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PreferentialWithholdingTaxRate" xlink:to="csiq_PreferentialWithholdingTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the preferential withholding tax rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferential Withholding Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferential withholding tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday, Aggregate Dollar Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The aggregate amount (in dollars)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday Income Tax Benefits Per Share Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Per share effect - basic (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday Income Tax Benefits Per Share Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Per share effect - diluted (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR DOUBTFUL ACCOUNTS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the share options and restricted share units.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Parent, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - diluted</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted effects of share number from share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effects of share number from convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Related Party Transactions, by Related Party [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AffiliatedEntityMember" xlink:to="srt_AffiliatedEntityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AffiliatedEntityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Affiliated Entity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AffiliatedEntityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Various affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIRenewableEnergyS.aMember" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro I Renewable Energy S.A</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro I Renewable Energy S.A</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro II Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro II Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro III Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro III Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Jaiba3RenewableEnergyS.a.Member" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Jaiba 3 Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba 3 Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba4RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba4RenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Jaiba4RenewableEnergyS.a.Member" xlink:to="csiq_Jaiba4RenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Jaiba4RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to member Jaiba 4 Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaiba4RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba 4 Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Jaiba9RenewableEnergyS.a.Member" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Jaiba 9 Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Jaiba 9 Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouIsilverMaterialsMember" xlink:to="csiq_SuzhouIsilverMaterialsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou iSilver Materials Co.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou iSilver Materials Co</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Kzone Equipment Technology Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ChiefExecutiveOfficerMember" xlink:to="srt_ChiefExecutiveOfficerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ChiefExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dr. Shawn Qu</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member pertaining to Luoyang Jiwa New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Luoyang Jiwa New Material Technology Co., Ltd [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasSolarHoldingS.aMember" xlink:to="csiq_LavrasSolarHoldingS.aMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Lavras Solar Holding S.A</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasSolarHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras Solar Holding S.A</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Horus Solar S.A. De Capital Variable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Horus Solar S.A. De Capital Variable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Recursos Solares PV De Mxico II S.A. De Capital Variable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recourses Solares PV De Mexico II S.A. De Capital Variable</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Francisco SA I Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco SA I Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Francisco SA II Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco SA II Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Francisco SA III Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Francisco SA III Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras I Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras I Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras II Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras II Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras III Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras III Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras IV Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras IV Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Lavras V Solar Renewable Energy S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lavras V Solar Renewable Energy S.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SonoranWestSolarHoldingsLlcMember" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Sonoran West Solar Holdings, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sonoran West Solar Holdings, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SonoranWestSolarHoldings2LlcMember" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Sonoran West Solar Holdings 2, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sonoran West Solar Holdings 2, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member information pertaining to Yancheng Jiwa New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Yancheng Jiwa New Material Technology Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lender Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Lender [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChineseCommercialBanksMember" xlink:to="csiq_ChineseCommercialBanksMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the Chinese Commercial Banks.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese Commercial Banks</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetManagementServiceMember" xlink:to="csiq_AssetManagementServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetManagementServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to asset management service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetManagementServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset management service</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OMServiceMember" xlink:to="csiq_OMServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to O &amp; M service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O &amp; M Service</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Award Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSUs</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInc.Member" xlink:label="csiq_CanadianSolarInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInc.Member" xlink:to="csiq_CanadianSolarInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to Canadian Solar Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Inc. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Inc</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_KoreanInvestorMember" xlink:label="csiq_KoreanInvestorMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_KoreanInvestorMember" xlink:to="csiq_KoreanInvestorMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_KoreanInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to Korean Investors.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_KoreanInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Korean Investor [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_KoreanInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Korean investor</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseInvestorMember" xlink:label="csiq_ChineseInvestorMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChineseInvestorMember" xlink:to="csiq_ChineseInvestorMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChineseInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to Chinese Investors.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChineseInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese Investor [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ChineseInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese investor</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianInfrastructureFundMember" xlink:label="csiq_CanadianInfrastructureFundMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianInfrastructureFundMember" xlink:to="csiq_CanadianInfrastructureFundMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianInfrastructureFundMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to a Canadian infrastructure fund.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianInfrastructureFundMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Infrastructure Fund [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianInfrastructureFundMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian infrastructure fund</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans and Leases Receivable, Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shareholder loans due from related parties</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Ownership Percentage by Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling interest ownership percentage</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares granted to employees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in shares)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of interests in solar power plants sold during the year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets Held-for-sale, Number of Solar Power Plants Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of solar power plants sold</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PurchaseOfUnitsPercentage" xlink:to="csiq_PurchaseOfUnitsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of units purchased.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Of Units Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percent of units purchased</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromRelatedParties" xlink:to="us-gaap_RevenueFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from sale of solar products</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ServiceRevenueFromRelatedParty" xlink:to="csiq_ServiceRevenueFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Revenue from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from providing development services</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction, Purchases from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase from related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock, Percentage of Ownership after Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of ownership after sale transaction</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesRelatedParty" xlink:to="us-gaap_CostsAndExpensesRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and Expenses, Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase cost incurred from related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Remaining Minimum Amount Committed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInSecondYear" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Second Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInThirdYear" xlink:to="us-gaap_PurchaseObligationDueInThirdYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Third Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligation" xlink:to="us-gaap_PurchaseObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:to="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 1.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:to="csiq_FirstAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to first administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">First administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:to="csiq_SecondAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Second administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Second administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:to="csiq_ThirdAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Third administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Third administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_FourthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Fourth administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fourth administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_FifthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Fifth administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fifth administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_SixthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Solar 1.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sixth administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:to="csiq_SeventhAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Seventh administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Seventh administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SeventhAdministrativeReviewOfSolarTwoMember" xlink:to="csiq_SeventhAdministrativeReviewOfSolarTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to seventh administrative review of Solar 2.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Seventh Administrative Review Of Solar Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Seventh administrative review of Solar 2</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EighthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_EighthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Eighth administrative review of Solar 1 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eighth Administrative Review of Solar One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eighth administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 2.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar 2</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to ninth and tenth administrative review of solar 1.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninth and Tenth Administrative Review of Solar One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninth and tenth administrative review of solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:to="csiq_EighthAdministrativeReviewOfSolarTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to ninth and tenth administrative review of solar 2.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eighth Administrative Review of Solar Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eighth administrative review of the Solar 2</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the cash deposit rate for anti-dumping duty on CSPV cells imported from China on or after a specified date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Cash Deposit Rate Anti Dumping Duty on CSPV Cells Imported from China On or After Specific Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the cash deposit rate for countervailing duty on CSPV cells imported from China on or after a specified date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Cash Deposit Rate Countervailing Duty on CSPV Cells Imported from China On or After Specific Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the duty rate for anti-dumping duty on CSPV cells imported from Taiwan on or after a specified date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Duty Rate Anti Dumping Duty on CSPV Cells Imported from Taiwan On or After Specific Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reportable Segments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of principal reportable business segments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating segment</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EliminationsAndReconcilingItemsMember" xlink:to="csiq_EliminationsAndReconcilingItemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to eliminations and reconciling items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EliminationsAndReconcilingItemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Elimination and unallocated items</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information, Profit (Loss) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues and gross profit generated from each segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmericaMember" xlink:to="csiq_AmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the geographic area of America, in which the entity operates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The Americas</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CL" xlink:label="country_CL" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CL" xlink:to="country_CL_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CHILE</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chile</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MX" xlink:label="country_MX" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_MX" xlink:to="country_MX_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_MX_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mexico</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAmericaMember" xlink:to="csiq_OtherCountriesAmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other countries in America.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries America [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asia and other regions</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">India</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PK" xlink:to="country_PK_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pakistan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW" xlink:label="country_TW" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_TW" xlink:to="country_TW_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_TW_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TAIWAN</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_TW_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Taiwan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AE" xlink:to="country_AE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U.A.E</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_VN" xlink:to="country_VN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_VN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vietnam</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAsiaMember" xlink:to="csiq_OtherCountriesAsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other regions in Asia.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries Asia [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Europe</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ES" xlink:to="country_ES_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ES_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Spain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AU" xlink:to="country_AU_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AU_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Australia</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Netherlands</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ZA" xlink:to="country_ZA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ZA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">South Africa</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB" xlink:label="country_GB" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Britain</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_GB_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">United Kingdom</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CZ" xlink:to="country_CZ_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CZ_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Czech</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE" xlink:label="country_IE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IE" xlink:to="country_IE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">IRELAND</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ireland</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_RO" xlink:label="country_RO" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_RO" xlink:to="country_RO_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_RO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ROMANIA</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_RO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Romania</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_FR" xlink:to="country_FR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_FR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">France</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AR" xlink:to="country_AR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Argentina</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesEuropeMember" xlink:to="csiq_OtherCountriesEuropeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other countries in Europe.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries Europe [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the aggregation and reporting of combined amounts of individually immaterial countries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Series Of Individually Immaterial Countries [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues from External Customers and Long-Lived Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated by geographic location of customers' headquarter</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Lived Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-lived assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMember" xlink:label="csiq_SolarModulesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesMember" xlink:to="csiq_SolarModulesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar modules.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar modules</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarSystemKitsProductMember" xlink:to="csiq_SolarSystemKitsProductMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarSystemKitsProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar system kits, the product of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarSystemKitsProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar system kits</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UtilityScaleBatteryStorageMember" xlink:label="csiq_UtilityScaleBatteryStorageMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UtilityScaleBatteryStorageMember" xlink:to="csiq_UtilityScaleBatteryStorageMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UtilityScaleBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to Utility-scale battery storage.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UtilityScaleBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Utility Scale Battery Storage [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UtilityScaleBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Utility-scale battery storage</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ResidentialBatteryStorageMember" xlink:label="csiq_ResidentialBatteryStorageMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ResidentialBatteryStorageMember" xlink:to="csiq_ResidentialBatteryStorageMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ResidentialBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to residential battery storage.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ResidentialBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Residential Battery Storage [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ResidentialBatteryStorageMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Residential battery storage</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to China energy/EPC (including electricity sales).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">China Energy or Engineering, Procurement and Construction (includes Electricity Sales)</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCsiSolarProductsMember" xlink:to="csiq_OtherCsiSolarProductsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other CSI Solar products.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Csi Solar Products [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCsiSolarProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectsMember" xlink:to="csiq_SolarPowerProjectsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar power projects  the product of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar and battery storage power projects</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OmAndAssetManagementServicesMember" xlink:to="csiq_OmAndAssetManagementServicesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OmAndAssetManagementServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to O&amp;M and asset management services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OmAndAssetManagementServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O&amp;M and asset management services</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other global energy products (includes electricity sales).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Global Energy Products (includes Electricity Sales) [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others (includes electricity sales)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated from each product</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Major Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employer's contribution (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Cost Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined contributions schemes expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Medical Insurance Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for medical insurance benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Housing Funds</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for housing funds</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Unemployment Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for unemployment benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Other Statutory Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for other statutory benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAmount" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_GranteeStatusDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employees</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum aggregate number of shares to be issued</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual Percentage Increase in Authorized Shares on First Day of Each of Three Years Prior to Year of Amendment for Awards Other than Incentive Option Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual Percentage Increase in Authorized Shares on First Day of Each of Calendar Year from Year of Amendment for Awards Other than Incentive Option Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award Options Grants after Expiration of Specified Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares to be granted after expiration</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expiry term of share options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intrinsic value of options exercised (in dollars)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average exercise price of options outstanding (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average remaining contract terms of options outstanding (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intrinsic value of outstanding options (in dollars)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PerformanceSharesMember" xlink:to="us-gaap_PerformanceSharesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PerformanceSharesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Performance Shares [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PerformanceSharesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Performance shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingAxis" xlink:to="us-gaap_VestingAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VestingDomain" xlink:to="us-gaap_VestingDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VestingDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche one</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tranche two</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grant period (in years)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting percentage</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average grant date fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of unvested awards outstanding</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost at the date of grant</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated Share-based Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total recognized compensation cost</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total unrecognized share-based compensation costs</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted-average period of recognition of compensation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Shares</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Grant-Date Fair Value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total fair value of shares vested</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross unrecognized share-based compensation</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ParentCompanyMember" xlink:to="srt_ParentCompanyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ParentCompanyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Parent Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ReportableLegalEntitiesMember" xlink:to="srt_ReportableLegalEntitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ReportableLegalEntitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Legal Entities [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ReportableLegalEntitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable legal entities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements, Captions [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentInSubsidiaries" xlink:to="csiq_InvestmentInSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of investment in subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment In Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentInAffiliates" xlink:to="csiq_InvestmentInAffiliates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of investment in affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in Affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityIncomeLossFromSubsidiaries" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Income (Loss) from Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireSubsidiaries" xlink:to="csiq_PaymentsToAcquireSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Payments to Acquire Subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireAffiliates" xlink:to="csiq_PaymentsToAcquireAffiliates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of payments to acquire affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net amount paid or received by the reporting entity associated with the loans to subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for (Proceeds from) Loans to Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Funding of loans to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of Notes Receivable from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of loans from subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RepaymentOfLoanFromSubsidiaries" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RepaymentOfLoanFromSubsidiaries" xlink:to="csiq_RepaymentOfLoanFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with repayment of loans from subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of Loan From Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of loan from subsidiary</label>
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromLoansFromSubsidiaries" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow associated with loans from subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Loans from Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Funding of loans from a subsidiary</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract" xlink:to="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Fair Value Disclosure [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets:</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>20
<FILENAME>csiq-20221231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/18/2023 5:39:09 PM-->
<!--Modified on: 4/18/2023 5:39:09 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureOrganizationAndPrincipalActivities" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLosses" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInventories" roleURI="http://www.canadiansolar.com/role/DisclosureInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureProjectAssets" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosurePropertyPlantAndEquipmentNet" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSolarPowerSystemsNet" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIntangibleAssetsNet" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurement" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureVariableInterestEntities" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliates" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLease" roleURI="http://www.canadiansolar.com/role/DisclosureLease" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowings" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShortTermNotesPayable" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAccruedWarrantyCosts" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureRestrictedNetAssets" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureConvertibleNotes" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxes" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEarningsPerShare" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureRelatedPartyBalancesAndTransactions" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformation" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureMajorCustomers" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEmployeeBenefitPlans" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensation" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSubsequentEvent" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEvent" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAdditionalInformationFinancialStatementScheduleI" roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInventoriesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureProjectAssetsTables" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosurePropertyPlantAndEquipmentNetTables" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSolarPowerSystemsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIntangibleAssetsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementTables" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureVariableInterestEntitiesTables" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTables" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsTables" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAccruedWarrantyCostsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEarningsPerShareTables" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationTables" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureOrganizationAndPrincipalActivitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementMarketableSecuritiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementCarryingValueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseSupplementBalanceSheetInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseCashFlowDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShortTermNotesPayableDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureAccruedWarrantyCostsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureRestrictedNetAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureSubsequentEventDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20221231.xsd#DisclosureBorrowingsShortTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract_637225720287389721" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract_637225720287389721" xlink:to="dei_DocumentInformationTable_638174363408624311" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638174363408624311" xlink:to="dei_EntityAddressesAddressTypeAxis_638174363408624311" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityAddressesAddressTypeAxis_638174363408624311" xlink:to="dei_AddressTypeDomain_638174363408624311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_AddressTypeDomain_638174363408624311" xlink:to="dei_BusinessContactMember_638174363408624311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638174363408624311" xlink:to="dei_DocumentInformationLineItems_638174363408624311" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638174363408624311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityCentralIndexKey_638174363408624311" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentType_638174363408634318" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentRegistrationStatement_638174363408634318" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentAnnualReport_638174363408634318" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentTransitionReport_638174363408634318" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentShellCompanyReport_638174363408634318" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentPeriodEndDate_638174363408634318" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityFileNumber_638174363408634318" order="8" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityRegistrantName_638174363408634318" order="9" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityIncorporationStateCountryCode_638174363408634318" order="10" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityAddressAddressLine1_638174363408634318" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638174363408634318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityAddressCityOrTown_638174363408634318" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityAddressCountry_638174363408644306" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityAddressPostalZipCode_638174363408644306" order="14" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_Security12bTitle_638174363408644306" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_TradingSymbol_638174363408644306" order="16" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_SecurityExchangeName_638174363408644306" order="17" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_AmendmentFlag_638174363408644306" order="18" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_CurrentFiscalYearEndDate_638174363408644306" order="19" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityWellKnownSeasonedIssuer_638174363408644306" order="20" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638174363408644306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityVoluntaryFilers_638174363408644306" order="21" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityCurrentReportingStatus_638174363408654302" order="22" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityInteractiveDataCurrent_638174363408654302" order="23" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityFilerCategory_638174363408654302" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityEmergingGrowthCompany_638174363408654302" order="25" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentAccountingStandard_638174363408654302" order="26" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityShellCompany_638174363408654302" order="27" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_EntityCommonStockSharesOutstanding_638174363408654302" order="28" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638174363408654302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentFiscalYearFocus_638174363408654302" order="29" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_DocumentFiscalPeriodFocus_638174363408664299" order="30" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_IcfrAuditorAttestationFlag_638174363408664299" order="31" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_AuditorName_638174363408664299" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_AuditorLocation_638174363408664299" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_AuditorFirmId_638174363408664299" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName_638174363408664299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_ContactPersonnelName_638174363408664299" order="35" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_CityAreaCode_638174363408674297" order="36" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638174363408624311" xlink:to="dei_LocalPhoneNumber_638174363408674297" order="37" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_638174363408674297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_AssetsCurrentAbstract_638174363408674297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363408674297" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363408674297" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_AccountsReceivableNetCurrent_638174363408674297" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638174363408674297" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_UnbilledReceivablesCurrent_638174363408674297" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638174363408684305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_InventoryNet_638174363408684305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638174363408684305" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638174363408684305" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_DerivativeAssetsCurrent_638174363408684305" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363408684305" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363408684305" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363408674297" xlink:to="us-gaap_AssetsCurrent_638174363408684305" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363408684305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638174363408684305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="csiq_SolarPowerSystems_638174363408684305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638174363408684305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638174363408684305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638174363408694299" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_EquityMethodInvestments_638174363408694299" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638174363408694299" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363408694299" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638174363408694299" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent_638174363408694299" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_OtherAssetsNoncurrent_638174363408694299" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363408674297" xlink:to="us-gaap_Assets_638174363408694299" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_ShortTermBorrowings_638174363408704299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_AccountsPayableTradeCurrent_638174363408704299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="csiq_ShortTermNotesPayable_638174363408704299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638174363408704299" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_AccountsPayableOtherCurrent_638174363408704299" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638174363408704299" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638174363408704299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638174363408704299" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363408714298" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_OtherLiabilitiesCurrent_638174363408714298" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363408704299" xlink:to="us-gaap_LiabilitiesCurrent_638174363408714298" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_LongTermNotesAndLoans_638174363408714298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_ConvertibleNotesPayable_638174363408714298" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363408714298" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363408714298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363408714298" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_638174363408724298" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363408724298" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="csiq_FinancingLiabilitiesNonCurrent_638174363408724298" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638174363408724298" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_Liabilities_638174363408724298" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638174363408724298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_CommitmentsAndContingencies_638174363408724298" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_CommonStockValue_638174363408734298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_TreasuryStockCommonValue_638174363408734298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638174363408734298" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638174363408734298" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363408734298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363408734298" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638174363408744298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_StockholdersEquity_638174363408744298" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638174363408744298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_MinorityInterest_638174363408744298" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408744298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363408734298" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408744298" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638174363408744298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363408694299" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638174363408744298" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363408754301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638174363408754301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockSharesIssued_638174363408754301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockSharesOutstanding_638174363408754301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_TreasuryStockCommonShares_638174363408754301" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="csiq_SalesRevenueAbstract_638174363408754301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SalesRevenueAbstract_638174363408754301" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363408754301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_638174363408754301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract_638174363408754301" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638174363408754301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_638174363408754301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638174363408754301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_638174363408754301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363408754301" xlink:to="us-gaap_SellingAndMarketingExpense_638174363408764303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363408754301" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638174363408764303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363408754301" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638174363408764303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363408754301" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638174363408764303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363408754301" xlink:to="us-gaap_OperatingExpenses_638174363408764303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_638174363408764303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_InterestExpense_638174363408764303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_InvestmentIncomeInterest_638174363408764303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363408764303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363408764303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638174363408764303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_GainLossOnInvestments_638174363408764303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363408764303" xlink:to="us-gaap_NonoperatingIncomeExpense_638174363408774299" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363408774299" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638174363408774299" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638174363408774299" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_ProfitLoss_638174363408774299" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638174363408774299" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363408774299" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareBasic_638174363408774299" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638174363408774299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638174363408774299" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareDiluted_638174363408784299" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638174363408784299" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ProfitLoss_638174363408784299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363408784299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363408784299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638174363408784299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363408784299" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363408784299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363408784299" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638174363408784299" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638174363408794305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638174363408794305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638174363408794305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638174363408794305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363408794305" xlink:to="us-gaap_StatementEquityComponentsAxis_638174363408794305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_CommonStockMember_638174363408794305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_TreasuryStockCommonMember_638174363408794305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638174363408794305" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_RetainedEarningsMember_638174363408794305" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638174363408794305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638174363408794305" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_ParentMember_638174363408804304" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_NoncontrollingInterestMember_638174363408804304" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408794305" xlink:to="us-gaap_EquityComponentDomain_638174363408804304" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363408794305" xlink:to="us-gaap_StatementLineItems_638174363408804304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408804304" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408804304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_CommonStockSharesIssued_638174363408804304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockCommonValue_638174363408804304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockCommonShares_638174363408804304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_ProfitLoss_638174363408804304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363408804304" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_638174363408804304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_638174363408804304" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638174363408814300" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638174363408814300" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638174363408814300" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638174363408814300" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638174363408814300" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638174363408814300" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockSharesRetired" xlink:label="us-gaap_TreasuryStockSharesRetired_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockSharesRetired_638174363408814300" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockRetiredCostMethodAmount" xlink:label="us-gaap_TreasuryStockRetiredCostMethodAmount_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockRetiredCostMethodAmount_638174363408814300" order="15" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363408814300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_638174363408814300" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_638174363408824300" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363408824300" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638174363408824300" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638174363408824300" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638174363408824300" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638174363408824300" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363408824300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638174363408824300" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638174363408834299" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_CommonStockSharesIssued_638174363408834299" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockCommonValue_638174363408834299" order="26" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638174363408804304" xlink:to="us-gaap_TreasuryStockCommonShares_638174363408834299" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638174363408834299" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363408834299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363408834299" xlink:to="srt_ConsolidatedEntitiesAxis_638174363408834299" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363408834299" xlink:to="srt_ConsolidatedEntitiesDomain_638174363408844304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363408844304" xlink:to="srt_SubsidiariesMember_638174363408844304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363408834299" xlink:to="us-gaap_StatementEquityComponentsAxis_638174363408844304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638174363408844304" xlink:to="us-gaap_EquityComponentDomain_638174363408844304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638174363408844304" xlink:to="us-gaap_CommonStockMember_638174363408844304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363408834299" xlink:to="us-gaap_StatementLineItems_638174363408844304" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408844304" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638174363408844304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408844304" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363408844304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408844304" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_638174363408844304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408844304" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638174363408844304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_638174363408844304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363408844304" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_638174363408844304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_ProfitLoss_638174363408854301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638174363408854301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_AccretionExpense_638174363408854301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363408854301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363408854301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363408854301" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_AssetImpairmentCharges_638174363408854301" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="csiq_ProjectAssetsImpairmentCharge_638174363408854301" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_ImpairmentOfInvestments_638174363408854301" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363408854301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363408854301" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638174363408864302" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638174363408864302" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="csiq_NonCashOperatingLeaseExpenses_638174363408864302" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_InventoryWriteDown_638174363408864302" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_ShareBasedCompensation_638174363408864302" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638174363408864302" order="15" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap_638174363408864302" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363408864302" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363408864302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363408864302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638174363408874298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363408874298" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInInventories_638174363408874298" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638174363408874298" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638174363408874298" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638174363408874298" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363408874298" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363408874298" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363408874298" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363408884299" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638174363408884299" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363408884299" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638174363408884299" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638174363408884299" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638174363408884299" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638174363408884299" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363408884299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363408884299" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638174363408894300" order="18" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363408864302" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638174363408894300" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363408854301" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363408894300" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363408894300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638174363408894300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638174363408894300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638174363408904300" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_638174363408904300" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638174363408904300" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638174363408904300" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638174363408904300" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363408904300" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363408894300" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363408904300" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromNotesPayable_638174363408914301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_RepaymentsOfNotesPayable_638174363408914301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638174363408914301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_PaymentsToMinorityShareholders_638174363408914301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638174363408914301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638174363408914301" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638174363408924301" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363408924301" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities_638174363408924301" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638174363408924301" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_FinanceLeasePrincipalPayments_638174363408924301" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638174363408924301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638174363408924301" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638174363408934299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638174363408934299" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromSubscriptionAdvances" xlink:label="csiq_ProceedsFromSubscriptionAdvances_638174363408934299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="csiq_ProceedsFromSubscriptionAdvances_638174363408934299" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638174363408934299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638174363408934299" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363408934299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363408934299" order="15" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363408934299" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363408934299" order="16" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363408974328" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363408914301" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363408974328" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363408974328" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363408974328" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638174363408974328" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638174363408974328" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408974328" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408974328" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408984310" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638174363408984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638174363408984310" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638174363408984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638174363408984310" xlink:to="us-gaap_InterestPaidNet_638174363408984310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_638174363408984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638174363408984310" xlink:to="us-gaap_IncomeTaxesPaidNet_638174363408984310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638174363408984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638174363408984310" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638174363408984310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638174363408994303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638174363408984310" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638174363408994303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363408994303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363408994303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363408994303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638174363408994303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363408994303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638174363408994303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408994303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363408994303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xlink:type="extended" xlink:title="10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_638174363409004308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations_638174363409004308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638174363409004308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638174363409004308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" xlink:type="extended" xlink:title="10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_638174363409004308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_638174363409004308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventories" xlink:type="extended" xlink:title="10401 - Disclosure - INVENTORIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock_638174363409004308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock_638174363409004308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssets" xlink:type="extended" xlink:title="10501 - Disclosure - PROJECT ASSETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_638174363409004308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_638174363409004308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xlink:type="extended" xlink:title="10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638174363409014306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638174363409014306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xlink:type="extended" xlink:title="10701 - Disclosure - SOLAR POWER SYSTEMS, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock_638174363409014306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsTextBlock_638174363409014306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xlink:type="extended" xlink:title="10801 - Disclosure - INTANGIBLE ASSETS, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_638174363409014306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_638174363409014306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xlink:type="extended" xlink:title="10901 - Disclosure - FAIR VALUE MEASUREMENT" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_638174363409014306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_638174363409014306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xlink:type="extended" xlink:title="11001 - Disclosure - VARIABLE INTEREST ENTITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_638174363409014306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_638174363409014306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xlink:type="extended" xlink:title="11101 - Disclosure - INVESTMENTS IN AFFILIATES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638174363409024305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638174363409024305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLease" xlink:type="extended" xlink:title="11201 - Disclosure - LEASE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638174363409024305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638174363409024305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowings" xlink:type="extended" xlink:title="11301 - Disclosure - BORROWINGS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638174363409024305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638174363409024305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xlink:type="extended" xlink:title="11401 - Disclosure - SHORT-TERM NOTES PAYABLE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock_638174363409034308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayableTextBlock_638174363409034308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xlink:type="extended" xlink:title="11501 - Disclosure - ACCRUED WARRANTY COSTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_638174363409034308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_638174363409034308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xlink:type="extended" xlink:title="11601 - Disclosure - RESTRICTED NET ASSETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_638174363409034308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_638174363409034308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xlink:type="extended" xlink:title="11701 - Disclosure - CONVERTIBLE NOTES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_638174363409034308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_638174363409034308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11801 - Disclosure - INCOME TAXES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638174363409034308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638174363409034308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xlink:type="extended" xlink:title="11901 - Disclosure - EARNINGS PER SHARE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638174363409044307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_638174363409044307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xlink:type="extended" xlink:title="12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638174363409044307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638174363409044307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="12101 - Disclosure - COMMITMENTS AND CONTINGENCIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638174363409044307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638174363409044307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="12201 - Disclosure - SEGMENT INFORMATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638174363409044307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638174363409044307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xlink:type="extended" xlink:title="12301 - Disclosure - MAJOR CUSTOMERS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock_638174363409044307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureTextBlock_638174363409044307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xlink:type="extended" xlink:title="12401 - Disclosure - EMPLOYEE BENEFIT PLANS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638174363409054305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638174363409054305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xlink:type="extended" xlink:title="12501 - Disclosure - SHARE-BASED COMPENSATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638174363409054305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638174363409054305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEvent" xlink:type="extended" xlink:title="12601 - Disclosure - SUBSEQUENT EVENT" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_638174363409054305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_638174363409054305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xlink:type="extended" xlink:title="12701 - Disclosure - Additional Information - Financial Statement Schedule I" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638174363409064305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638174363409064305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638174363409064305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638174363409064305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates_638174363409064305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638174363409064305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638174363409064305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638174363409064305" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_638174363409064305" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_638174363409064305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock_638174363409064305" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ProjectAssetsPolicyTextBlock_638174363409074304" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy_638174363409074304" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_638174363409074304" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638174363409074304" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638174363409074304" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638174363409074304" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LandUseRightPolicyTextBlock" xlink:label="csiq_LandUseRightPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_LandUseRightPolicyTextBlock_638174363409074304" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_638174363409074304" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638174363409074304" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638174363409074304" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy_638174363409074304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligationsPolicy_638174363409074304" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_638174363409084303" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638174363409084303" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638174363409084303" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638174363409084303" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638174363409084303" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_638174363409084303" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638174363409084303" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy_638174363409084303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_StandardProductWarrantyPolicy_638174363409084303" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638174363409094303" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638174363409094303" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_638174363409094303" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638174363409094303" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_638174363409094303" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock_638174363409094303" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_638174363409094303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638174363409094303" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638174363409104302" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_UnusualOrInfrequentItemPolicyTextBlock_638174363409104302" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638174363409104302" order="38" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638174363409104302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638174363409104302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfElectricityRevenueTableTextBlock_638174363409104302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638174363409104302" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638174363409104302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638174363409114307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638174363409114307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638174363409114307" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409114307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409114307" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409114307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409114307" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638174363409114307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409114307" xlink:to="us-gaap_AllowanceForCreditLossMember_638174363409114307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409114307" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638174363409114307" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409114307" xlink:to="csiq_AllowanceForOtherReceivablesMember_638174363409114307" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409114307" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409114307" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638174363409114307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409114307" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638174363409114307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638174363409124306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409114307" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638174363409124306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xlink:type="extended" xlink:title="30403 - Disclosure - INVENTORIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638174363409124306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638174363409124306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xlink:type="extended" xlink:title="30503 - Disclosure - PROJECT ASSETS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640928650455218" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_638174363409124306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640928650455218" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_638174363409124306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xlink:type="extended" xlink:title="30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638174363409124306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638174363409124306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xlink:type="extended" xlink:title="30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638174363409134307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638174363409134307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xlink:type="extended" xlink:title="30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638174363409134307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638174363409134307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xlink:type="extended" xlink:title="30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638174363409134307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638174363409134307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638174363409134307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638174363409134307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xlink:type="extended" xlink:title="31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638174363409134307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638174363409134307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xlink:type="extended" xlink:title="31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_638174363409144307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_638174363409144307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTables" xlink:type="extended" xlink:title="31203 - Disclosure - LEASE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_638174363409144307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock_638174363409144307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_638174363409144307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_638174363409144307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638174363409144307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638174363409144307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638174363409144307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638174363409144307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xlink:type="extended" xlink:title="31303 - Disclosure - BORROWINGS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_638174363409154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638174363409154307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638174363409154307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_638174363409154307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xlink:type="extended" xlink:title="31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638174363409154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="31803 - Disclosure - INCOME TAXES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638174363409154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638174363409154307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638174363409154307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638174363409154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638174363409154307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_638174363409164305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638174363409164305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xlink:type="extended" xlink:title="31903 - Disclosure - EARNINGS PER SHARE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638174363409164305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638174363409164305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_StatementTable_638174363409164305" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409164305" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363409164305" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363409164305" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363409164305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363409164305" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638174363409164305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_638174363409164305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363409164305" xlink:to="csiq_SolarPowerSystemCommitmentsMember_638174363409164305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409164305" xlink:to="us-gaap_StatementLineItems_638174363409174305" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409174305" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_638174363409174305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="32203 - Disclosure - SEGMENT INFORMATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638174363409174305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638174363409174305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638174363409174305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638174363409174305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xlink:type="extended" xlink:title="32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638174363409174305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638174363409174305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xlink:type="extended" xlink:title="40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable_638174363409184306" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409184306" xlink:to="srt_ConsolidatedEntitiesAxis_638174363409184306" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363409184306" xlink:to="srt_ConsolidatedEntitiesDomain_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363409184306" xlink:to="srt_SubsidiariesMember_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409184306" xlink:to="srt_OwnershipAxis_638174363409184306" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638174363409184306" xlink:to="srt_OwnershipDomain_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638174363409184306" xlink:to="csiq_CanadianSolarMember_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409184306" xlink:to="srt_CounterpartyNameAxis_638174363409184306" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638174363409184306" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409184306" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638174363409184306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember_638174363409184306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409184306" xlink:to="csiq_CanadianSolarEmployeesMember_638174363409184306" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409184306" xlink:to="us-gaap_BalanceSheetLocationAxis_638174363409194306" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638174363409194306" xlink:to="us-gaap_BalanceSheetLocationDomain_638174363409194306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherPayablesMember" xlink:label="csiq_OtherPayablesMember_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409194306" xlink:to="csiq_OtherPayablesMember_638174363409194306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409184306" xlink:to="us-gaap_StatementLineItems_638174363409194306" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638174363409194306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638174363409194306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SharePurchaseProceedsFromThirdPartyInvestors" xlink:label="csiq_SharePurchaseProceedsFromThirdPartyInvestors_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="csiq_SharePurchaseProceedsFromThirdPartyInvestors_638174363409194306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638174363409194306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PercentageOfDiscountOnIssueOfShares" xlink:label="csiq_PercentageOfDiscountOnIssueOfShares_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="csiq_PercentageOfDiscountOnIssueOfShares_638174363409194306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PremiumDiscountOnIssueOfShares" xlink:label="csiq_PremiumDiscountOnIssueOfShares_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="csiq_PremiumDiscountOnIssueOfShares_638174363409194306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SubscriptionAdvances" xlink:label="csiq_SubscriptionAdvances_638174363409194306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="csiq_SubscriptionAdvances_638174363409194306" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638174363409204303" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409194306" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638174363409204303" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GainContingenciesTable_638174363409204303" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638174363409204303" xlink:to="us-gaap_BalanceSheetLocationAxis_638174363409204303" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638174363409204303" xlink:to="us-gaap_BalanceSheetLocationDomain_638174363409204303" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409204303" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638174363409204303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638174363409204303" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638174363409204303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638174363409204303" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638174363409204303" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638174363409204303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638174363409204303" xlink:to="us-gaap_FinancialGuaranteeMember_638174363409214307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638174363409204303" xlink:to="srt_ConsolidatedEntitiesAxis_638174363409214307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363409214307" xlink:to="srt_ConsolidatedEntitiesDomain_638174363409214307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363409214307" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638174363409214307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638174363409204303" xlink:to="us-gaap_GainContingenciesLineItems_638174363409214307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_638174363409214307" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_638174363409214307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_638174363409214307" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure_638174363409214307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409214307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409214307" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" xlink:to="us-gaap_BuildingMember_638174363409224309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" xlink:to="us-gaap_MachineryAndEquipmentMember_638174363409224309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" xlink:to="us-gaap_FurnitureAndFixturesMember_638174363409224309" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" xlink:to="us-gaap_VehiclesMember_638174363409224309" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409214307" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638174363409224309" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" xlink:to="srt_RangeAxis_638174363409224309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363409224309" xlink:to="srt_RangeMember_638174363409224309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409224309" xlink:to="srt_MinimumMember_638174363409224309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409224309" xlink:to="srt_MaximumMember_638174363409224309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_638174363409224309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_638174363409224309" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_638174363409224309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember_638174363409224309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain_638174363409224309" xlink:to="us-gaap_ServiceLifeMember_638174363409224309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409214307" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409234305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409234305" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638174363409234305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409234305" xlink:to="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638174363409234305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409234305" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense_638174363409234305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409234305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409234305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409234305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409234305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409234305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409234305" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638174363409234305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638174363409234305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409234305" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638174363409234305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409234305" xlink:to="us-gaap_UseRightsMember_638174363409244306" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409234305" xlink:to="srt_RangeAxis_638174363409244306" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363409244306" xlink:to="srt_RangeMember_638174363409244306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409244306" xlink:to="srt_MinimumMember_638174363409244306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409244306" xlink:to="srt_MaximumMember_638174363409244306" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409234305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409244306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409244306" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638174363409244306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xlink:type="extended" xlink:title="40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOfInvestments_638174363409244306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638174363409244306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetRetirementObligation" xlink:label="us-gaap_AssetRetirementObligation_638174363409244306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligation_638174363409244306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638174363409254306" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409254306" xlink:to="srt_ProductOrServiceAxis_638174363409254306" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363409254306" xlink:to="srt_ProductsAndServicesDomain_638174363409254306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409254306" xlink:to="us-gaap_ElectricityMember_638174363409254306" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409254306" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638174363409254306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409254306" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives_638174363409254306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_1" xlink:to="us-gaap_DisaggregationOfRevenueTable_638174363409254306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638174363409254306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409254306" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638174363409254306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638174363409254306" xlink:to="us-gaap_SegmentDomain_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363409264307" xlink:to="csiq_CsiSolarSegmentMember_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363409264307" xlink:to="csiq_GlobalEnergySegmentMember_638174363409264307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409254306" xlink:to="srt_ProductOrServiceAxis_638174363409264307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363409264307" xlink:to="srt_ProductsAndServicesDomain_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409264307" xlink:to="us-gaap_ElectricityMember_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409254306" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638174363409264307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409264307" xlink:to="us-gaap_Revenues_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="us-gaap_OperatingLeaseLeaseIncome_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409264307" xlink:to="us-gaap_OperatingLeaseLeaseIncome_638174363409264307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xlink:label="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLeaseIncome_638174363409264307" xlink:to="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_638174363409264307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363409264307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409264307" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363409264307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638174363409274305" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409274305" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638174363409274305" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638174363409274305" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638174363409274305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638174363409274305" xlink:to="us-gaap_TransferredAtPointInTimeMember_638174363409274305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638174363409274305" xlink:to="us-gaap_TransferredOverTimeMember_638174363409274305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409274305" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638174363409274305" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638174363409274305" xlink:to="us-gaap_SegmentDomain_638174363409274305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363409274305" xlink:to="csiq_CsiSolarSegmentMember_638174363409274305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363409274305" xlink:to="csiq_GlobalEnergySegmentMember_638174363409274305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409274305" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638174363409274305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363409274305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409274305" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363409274305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_638174363409284305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract_638174363409284305" xlink:to="us-gaap_UnbilledReceivablesCurrent_638174363409284305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_638174363409284305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638174363409284305" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638174363409284305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638174363409284305" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_638174363409284305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638174363409284305" xlink:to="us-gaap_ContractWithCustomerLiability_638174363409284305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638174363409284305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638174363409284305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638174363409284305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_638174363409294307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409294307" xlink:to="srt_ProductOrServiceAxis_638174363409294307" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363409294307" xlink:to="srt_ProductsAndServicesDomain_638174363409294307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409294307" xlink:to="us-gaap_ShippingAndHandlingMember_638174363409294307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409294307" xlink:to="us-gaap_StatementLineItems_638174363409294307" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409294307" xlink:to="us-gaap_SellingExpense_638174363409294307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409294307" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638174363409294307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638174363409294307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409294307" xlink:to="srt_ProductOrServiceAxis_638174363409294307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363409294307" xlink:to="srt_ProductsAndServicesDomain_638174363409294307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember_638174363409294307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409294307" xlink:to="us-gaap_GrantMember_638174363409294307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409294307" xlink:to="us-gaap_BalanceSheetLocationAxis_638174363409304314" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638174363409304314" xlink:to="us-gaap_BalanceSheetLocationDomain_638174363409304314" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherCurrentLiabilitiesMember" xlink:label="us-gaap_OtherCurrentLiabilitiesMember_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409304314" xlink:to="us-gaap_OtherCurrentLiabilitiesMember_638174363409304314" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409304314" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_638174363409304314" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638174363409294307" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638174363409304314" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638174363409304314" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638174363409304314" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638174363409304314" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsCurrent" xlink:label="csiq_GovernmentGrantsCurrent_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="csiq_GovernmentGrantsCurrent_638174363409304314" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GovernmentGrantsNonCurrent" xlink:label="csiq_GovernmentGrantsNonCurrent_638174363409304314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638174363409304314" xlink:to="csiq_GovernmentGrantsNonCurrent_638174363409304314" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable_638174363409314304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638174363409314304" xlink:to="srt_ProductOrServiceAxis_638174363409314304" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363409314304" xlink:to="srt_ProductsAndServicesDomain_638174363409314304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409314304" xlink:to="csiq_StandardSolarModuleMember_638174363409314304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409314304" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_638174363409314304" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CertainSolarModuleMember" xlink:label="csiq_CertainSolarModuleMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409314304" xlink:to="csiq_CertainSolarModuleMember_638174363409314304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BatteryStorageProductsMember" xlink:label="csiq_BatteryStorageProductsMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409314304" xlink:to="csiq_BatteryStorageProductsMember_638174363409314304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsByEpcServicesMember" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363409314304" xlink:to="csiq_SolarPowerProjectsByEpcServicesMember_638174363409314304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638174363409314304" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638174363409314304" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638174363409314304" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember_638174363409314304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" xlink:to="csiq_MaterialAndWorkmanShipMember_638174363409314304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_638174363409324308" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_638174363409324308" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638174363409314304" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_638174363409324308" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638174363409314304" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638174363409324308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_InsurancePolicyTerm_638174363409324308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_StandardProductWarrantyPeriod_638174363409324308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638174363409324308" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638174363409324308" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638174363409324308" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_638174363409324308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_638174363409324308" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_638174363409334304" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="us-gaap_ProductWarrantyExpense_638174363409334304" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638174363409334304" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638174363409334304" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StandardProductWarrantyExtensionPeriod" xlink:label="csiq_StandardProductWarrantyExtensionPeriod_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638174363409324308" xlink:to="csiq_StandardProductWarrantyExtensionPeriod_638174363409334304" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="extended" xlink:title="40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638174363409334304" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskTable_638174363409334304" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638174363409334304" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638174363409344309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638174363409344309" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638174363409344309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638174363409344309" xlink:to="us-gaap_SupplierConcentrationRiskMember_638174363409344309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638174363409334304" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638174363409344309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638174363409344309" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638174363409344309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638174363409344309" xlink:to="csiq_SupplierMember_638174363409344309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierBMember" xlink:label="csiq_SupplierBMember_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638174363409344309" xlink:to="csiq_SupplierBMember_638174363409344309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SupplierCMember" xlink:label="csiq_SupplierCMember_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638174363409344309" xlink:to="csiq_SupplierCMember_638174363409344309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638174363409334304" xlink:to="us-gaap_ConcentrationRiskLineItems_638174363409344309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638174363409344309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638174363409344309" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638174363409344309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638174363409354307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_638174363409354307" xlink:to="us-gaap_TypeOfAdoptionMember_638174363409354307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate202004Member" xlink:label="us-gaap_AccountingStandardsUpdate202004Member_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfAdoptionMember_638174363409354307" xlink:to="us-gaap_AccountingStandardsUpdate202004Member_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" xlink:to="us-gaap_VariableRateAxis_638174363409354307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_638174363409354307" xlink:to="us-gaap_VariableRateDomain_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:label="us-gaap_LondonInterbankOfferedRateLIBORMember_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638174363409354307" xlink:to="us-gaap_LondonInterbankOfferedRateLIBORMember_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" xlink:to="srt_StatementScenarioAxis_638174363409354307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementScenarioAxis_638174363409354307" xlink:to="srt_ScenarioUnspecifiedDomain_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScenarioUnspecifiedDomain_638174363409354307" xlink:to="srt_ScenarioForecastMember_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_638174363409354307" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638174363409354307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409354307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_638174363409354307" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409354307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637531197624997753" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_637531197624997753" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409364305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409364305" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409364305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409364305" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" xlink:to="us-gaap_AllowanceForCreditLossMember_638174363409364305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638174363409364305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" xlink:to="csiq_AllowanceForOtherReceivablesMember_638174363409364305" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdvancesToSuppliersAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersAndOtherReceivableMember_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409364305" xlink:to="csiq_AdvancesToSuppliersAndOtherReceivableMember_638174363409364305" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638174363409364305" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638174363409364305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363409364305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638174363409364305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" xlink:to="us-gaap_AccountsReceivableNetCurrent_638174363409364305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638174363409364305" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638174363409374306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638174363409374306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_638174363409374306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638174363409374306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6381743634093743061" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363409374306" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6381743634093743061" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638174363409374306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638174363409374306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638174363409374306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638174363409384309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638174363409374306" xlink:to="us-gaap_InventoryNet_638174363409384309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinishedGoodsModules" xlink:label="csiq_FinishedGoodsModules_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="csiq_FinishedGoodsModules_638174363409384309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638174363409384309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryWriteDown_638174363409384309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - PROJECT ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640936816385218" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638174363409384309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638174363409384309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLand_638174363409384309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638174363409384309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363409384309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638174363409384309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsImpairmentCharge_638174363409394313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_638174363409394313" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409394313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409394313" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409394313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409394313" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_BuildingMember_638174363409394313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_LeaseholdImprovementsMember_638174363409394313" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_MachineryAndEquipmentMember_638174363409394313" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_FurnitureAndFixturesMember_638174363409394313" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638174363409394313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_VehiclesMember_638174363409394313" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409394313" xlink:to="us-gaap_LandMember_638174363409404313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409394313" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638174363409404313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638174363409404313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638174363409404313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="us-gaap_ConstructionInProgressGross_638174363409404313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638174363409404313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638174363409404313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409404313" xlink:to="us-gaap_Depreciation_638174363409404313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409414310" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409414310" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409414310" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638174363409414310" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409414310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409414310" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638174363409414310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638174363409414310" xlink:to="us-gaap_AssetUnderConstructionMember_638174363409414310" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638174363409414310" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="csiq_SolarPowerSystemsGross_638174363409414310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638174363409414310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="csiq_SolarPowerSystems_638174363409414310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="us-gaap_Depreciation_638174363409414310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets_638174363409414310" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638174363409414310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638174363409414310" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638174363409414310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409424309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409424309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409424309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409424309" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638174363409424309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638174363409424309" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638174363409424309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638174363409424309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638174363409424309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638174363409424309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638174363409424309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638174363409424309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638174363409424309" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638174363409434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638174363409434315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638174363409434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638174363409434315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638174363409434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638174363409434315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638174363409494319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638174363409494319" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638174363409494319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638174363409494319" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638174363409494319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638174363409434315" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638174363409494319" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638174363409504331" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638174363409504331" xlink:to="us-gaap_DerivativeContractTypeDomain_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409504331" xlink:to="us-gaap_InterestRateSwapMember_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" xlink:to="us-gaap_HedgingDesignationAxis_638174363409504331" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638174363409504331" xlink:to="us-gaap_HedgingDesignationDomain_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638174363409504331" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638174363409504331" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_638174363409504331" xlink:to="us-gaap_HedgingRelationshipDomain_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingRelationshipDomain_638174363409504331" xlink:to="us-gaap_CashFlowHedgingMember_638174363409504331" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638174363409504331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_638174363409504331" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638174363409504331" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_638174363409504331" xlink:to="us-gaap_DerivativeNotionalAmount_638174363409514319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" xlink:to="us-gaap_BalanceSheetLocationAxis_638174363409514319" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638174363409514319" xlink:to="us-gaap_BalanceSheetLocationDomain_638174363409514319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409514319" xlink:to="csiq_DerivativesAssetsCurrentMember_638174363409514319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409514319" xlink:to="us-gaap_OtherNoncurrentAssetsMember_638174363409514319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638174363409514319" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_638174363409514319" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" xlink:to="us-gaap_HedgingDesignationAxis_638174363409514319" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638174363409514319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638174363409514319" xlink:to="us-gaap_HedgingDesignationDomain_638174363409514319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638174363409514319" xlink:to="us-gaap_NondesignatedMember_638174363409524311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638174363409524311" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638174363409524311" xlink:to="us-gaap_DerivativeContractTypeDomain_638174363409524311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409524311" xlink:to="us-gaap_ForeignExchangeForwardMember_638174363409524311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409524311" xlink:to="us-gaap_ForeignExchangeOptionMember_638174363409524311" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409524311" xlink:to="us-gaap_CommodityContractMember_638174363409524311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409524311" xlink:to="us-gaap_InterestRateSwapMember_638174363409524311" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638174363409514319" xlink:to="us-gaap_DerivativesFairValueLineItems_638174363409524311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638174363409524311" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638174363409524311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638174363409524311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638174363409524311" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638174363409524311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638174363409534309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638174363409534309" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638174363409534309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638174363409534309" xlink:to="us-gaap_DerivativeContractTypeDomain_638174363409534309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409534309" xlink:to="us-gaap_ForeignExchangeForwardMember_638174363409534309" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409534309" xlink:to="us-gaap_ForeignExchangeOptionMember_638174363409534309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409534309" xlink:to="us-gaap_CommodityContractMember_638174363409534309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638174363409534309" xlink:to="us-gaap_InterestRateSwapMember_638174363409534309" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638174363409534309" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_638174363409534309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638174363409534309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems_638174363409534309" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638174363409534309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails" xlink:type="extended" xlink:title="40904 - Disclosure - FAIR VALUE MEASUREMENT - Marketable securities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638174363409544311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFVNINoncurrent" xlink:label="us-gaap_EquitySecuritiesFVNINoncurrent_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFVNINoncurrent_638174363409544311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGain" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGain_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedGain_638174363409544311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedLoss" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedLoss_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_EquitySecuritiesFvNiUnrealizedLoss_638174363409544311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xlink:type="extended" xlink:title="40905 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638174363409544311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="csiq_ProjectAssetsImpairmentCharge_638174363409544311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638174363409544311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_LongTermNotesAndLoans_638174363409544311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_638174363409554313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_638174363409554313" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638174363409554313" xlink:to="srt_ConsolidatedEntitiesAxis_638174363409554313" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363409554313" xlink:to="srt_ConsolidatedEntitiesDomain_638174363409554313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363409554313" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638174363409554313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638174363409554313" xlink:to="us-gaap_VariableInterestEntityLineItems_638174363409554313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_Cash_638174363409554313" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="csiq_ProjectAssets_638174363409554313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_OtherAssets_638174363409554313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_Assets_638174363409554313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363409554313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_ShortTermBorrowings_638174363409554313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_LongTermDebt_638174363409564309" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_OtherLiabilities_638174363409564309" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638174363409554313" xlink:to="us-gaap_Liabilities_638174363409564309" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409564309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409564309" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409564309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409564309" xlink:to="srt_EquityMethodInvesteeNameDomain_638174363409564309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638174363409564309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638174363409564309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member_638174363409564309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_LavraSolarHoldingS.a.Member_638174363409564309" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638174363409574310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_638174363409574310" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638174363409574310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_638174363409574310" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638174363409574310" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_JaibaSolarHoldingS.a.Member_638174363409574310" order="9" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409564309" xlink:to="csiq_OtherEquityMethodInvesteesMember_638174363409574310" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409564309" xlink:to="srt_RangeAxis_638174363409574310" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363409574310" xlink:to="srt_RangeMember_638174363409574310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409574310" xlink:to="srt_MinimumMember_638174363409574310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409574310" xlink:to="srt_MaximumMember_638174363409574310" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409574310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409564309" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409574310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409574310" xlink:to="us-gaap_EquityMethodInvestments_638174363409584305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409574310" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363409584305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409584305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363409584305" xlink:to="srt_EquityMethodInvesteeNameDomain_638174363409584305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638174363409584305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638174363409584305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member_638174363409584305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_LavraSolarHoldingS.a.Member_638174363409584305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_638174363409594309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_638174363409594309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_JaibaSolarHoldingS.a.Member_638174363409594309" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638174363409594309" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638174363409594309" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638174363409594309" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363409584305" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363409594309" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_638174363409594309" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis_638174363409594309" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_638174363409594309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrivatePlacementMember" xlink:label="us-gaap_PrivatePlacementMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638174363409594309" xlink:to="us-gaap_PrivatePlacementMember_638174363409594309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain_638174363409594309" xlink:to="us-gaap_IPOMember_638174363409594309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638174363409594309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" xlink:to="dei_LegalEntityAxis_638174363409594309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638174363409594309" xlink:to="dei_EntityDomain_638174363409604307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409604307" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638174363409604307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638174363409584305" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363409604307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_638174363409604307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="csiq_NumberOfBoardMembers_638174363409604307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363409604307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_SharePrice_638174363409604307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfUnitsPurchased" xlink:label="csiq_NumberOfUnitsPurchased_638174363409604307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="csiq_NumberOfUnitsPurchased_638174363409604307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638174363409614305" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_638174363409614305" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363409614305" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="csiq_DecreaseOfNetAssets_638174363409614305" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638174363409604307" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638174363409614305" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638174363409614305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363409614305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638174363409614305" xlink:to="srt_RangeAxis_638174363409614305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363409614305" xlink:to="srt_RangeMember_638174363409624309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409624309" xlink:to="srt_MaximumMember_638174363409624309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638174363409614305" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638174363409624309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638174363409624309" xlink:to="us-gaap_LeaseCostAbstract_638174363409624309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638174363409624309" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638174363409624309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638174363409624309" xlink:to="us-gaap_FinanceLeaseInterestExpense_638174363409624309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638174363409624309" xlink:to="us-gaap_OperatingLeaseCost_638174363409624309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638174363409624309" xlink:to="us-gaap_ShortTermLeaseCost_638174363409624309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638174363409624309" xlink:to="us-gaap_LeaseCost_638174363409624309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638174363409624309" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_638174363409624309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638174363409624309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638174363409624309" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638174363409624309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xlink:type="extended" xlink:title="41202 - Disclosure - LEASE - Supplement balance sheet information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract_1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638174363409634306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LandUseRightsNet" xlink:label="csiq_LandUseRightsNet_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="csiq_LandUseRightsNet_638174363409634306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638174363409634306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363409634306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363409634306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638174363409634306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="us-gaap_OperatingLeaseLiability_638174363409634306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xlink:type="extended" xlink:title="41203 - Disclosure - LEASE - Cash flow (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_638174363409644312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_638174363409644312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638174363409644312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638174363409644312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638174363409644312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638174363409644312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xlink:type="extended" xlink:title="41204 - Disclosure - LEASE - Additional information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638174363409644312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638174363409644312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638174363409644312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638174363409654311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638174363409654311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638174363409654311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638174363409654311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41205 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638174363409654311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638174363409654311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638174363409664310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638174363409664310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638174363409664310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638174363409664310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638174363409664310" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638174363409664310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638174363409664310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_6381743634096543111" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638174363409664310" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638174363409674308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638174363409674308" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638174363409674308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638174363409674308" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638174363409674308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638174363409674308" xlink:to="us-gaap_OperatingLeaseLiability_638174363409674308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41207 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638174363409674308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638174363409674308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638174363409674308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638174363409674308" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638174363409674308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409674308" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638174363409674308" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409684311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409684311" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638174363409684311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409684311" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638174363409684311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638174363409684311" xlink:to="us-gaap_FinanceLeaseLiability_638174363409684311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiability_638174363409684311" xlink:to="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_638174363409684311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638174363409684311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638174363409684311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638174363409684311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638174363409684311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638174363409684311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638174363409694312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638174363409694312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638174363409694312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41210 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638174363409694312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638174363409694312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseLiability_638174363409694312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xlink:type="extended" xlink:title="41211 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638174363409694312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="csiq_LeaseLiabilityCurrent_638174363409694312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="csiq_LeaseLiabilityNoncurrent_638174363409704313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="csiq_LeaseLiability_638174363409704313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638174363409704313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638174363409704313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_OperatingLeaseLiability_638174363409704313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638174363409704313" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638174363409704313" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638174363409704313" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638174363409704313" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638174363409704313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638174363409694312" xlink:to="us-gaap_FinanceLeaseLiability_638174363409704313" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638174363409714311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_CreditFacilityAxis_638174363409714311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638174363409714311" xlink:to="us-gaap_CreditFacilityDomain_638174363409714311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="us-gaap_LineOfCreditMember_638174363409714311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WorkingCapitalFacilityMember" xlink:label="csiq_WorkingCapitalFacilityMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="csiq_WorkingCapitalFacilityMember_638174363409714311" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="csiq_NonBindingLineOfCreditMember_638174363409714311" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="csiq_ShortTermNotePayableMember_638174363409714311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="us-gaap_NonrecourseMember_638174363409714311" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RecourseMember" xlink:label="us-gaap_RecourseMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="us-gaap_RecourseMember_638174363409714311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TermLoanMember" xlink:label="csiq_TermLoanMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="csiq_TermLoanMember_638174363409714311" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="us-gaap_RevolvingCreditFacilityMember_638174363409714311" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FinancingFacilityMember" xlink:label="csiq_FinancingFacilityMember_638174363409714311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638174363409714311" xlink:to="csiq_FinancingFacilityMember_638174363409714311" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="srt_CounterpartyNameAxis_638174363409724309" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638174363409724309" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409724309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638174363409724309" xlink:to="csiq_BankBorrowingsMember_638174363409724309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="dei_LegalEntityAxis_638174363409724309" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638174363409724309" xlink:to="dei_EntityDomain_638174363409724309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638174363409724309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarSpainSociedadLimitadaMember_638174363409724309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638174363409724309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_638174363409724309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarProjectKKMember_638174363409724309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SunmexRenovablesS.a.DeC.v.Member" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member_638174363409724309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_SunmexRenovablesS.a.DeC.v.Member_638174363409724309" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638174363409734307" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiCellsYanchengCo.Ltd.Member" xlink:label="csiq_CsiCellsYanchengCo.Ltd.Member_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CsiCellsYanchengCo.Ltd.Member_638174363409734307" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_BrazilianSubsidiariesMember" xlink:label="csiq_BrazilianSubsidiariesMember_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_BrazilianSubsidiariesMember_638174363409734307" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" xlink:label="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_638174363409734307" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" xlink:label="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_638174363409734307" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourJapaneseSubsidiariesMember" xlink:label="csiq_FourJapaneseSubsidiariesMember_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409724309" xlink:to="csiq_FourJapaneseSubsidiariesMember_638174363409734307" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_DebtInstrumentAxis_638174363409734307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638174363409734307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638174363409734307" xlink:to="us-gaap_DebtInstrumentNameDomain_638174363409734307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LoanFacilityMember" xlink:label="csiq_LoanFacilityMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638174363409734307" xlink:to="csiq_LoanFacilityMember_638174363409744307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche1LoanFacilityMember" xlink:label="csiq_Tranche1LoanFacilityMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638174363409734307" xlink:to="csiq_Tranche1LoanFacilityMember_638174363409744307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Tranche2LoanFacilityMember" xlink:label="csiq_Tranche2LoanFacilityMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638174363409734307" xlink:to="csiq_Tranche2LoanFacilityMember_638174363409744307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MezzanineLoanFacilityMember" xlink:label="csiq_MezzanineLoanFacilityMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638174363409734307" xlink:to="csiq_MezzanineLoanFacilityMember_638174363409744307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_LongtermDebtTypeAxis_638174363409744307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638174363409744307" xlink:to="us-gaap_LongtermDebtTypeDomain_638174363409744307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638174363409744307" xlink:to="us-gaap_UnsecuredDebtMember_638174363409744307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_638174363409744307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638174363409744307" xlink:to="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_638174363409744307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_PledgedStatusAxis_638174363409754305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusAxis_638174363409754305" xlink:to="us-gaap_PledgedStatusDomain_638174363409754305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusDomain_638174363409754305" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638174363409754305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638174363409754305" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProjectMember" xlink:label="us-gaap_ProjectMember_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638174363409754305" xlink:to="us-gaap_ProjectMember_638174363409754305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarProjectMember" xlink:label="csiq_SolarProjectMember_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProjectMember_638174363409754305" xlink:to="csiq_SolarProjectMember_638174363409754305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363409754305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="srt_RangeAxis_638174363409754305" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363409754305" xlink:to="srt_RangeMember_638174363409764305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409764305" xlink:to="srt_MinimumMember_638174363409764305" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363409764305" xlink:to="srt_MaximumMember_638174363409764305" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409714311" xlink:to="us-gaap_DebtInstrumentLineItems_638174363409764305" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermBorrowingsOnProjectAssets" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_638174363409764305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="csiq_ShortTermBorrowingsOnProjectAssets_638174363409764305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_OtherShortTermBorrowings_638174363409774305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_DebtCurrent_638174363409774305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermBorrowingsOnProjectAssets" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="csiq_LongTermBorrowingsOnProjectAssets_638174363409774305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLongTermDebt" xlink:label="us-gaap_OtherLongTermDebt_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_OtherLongTermDebt_638174363409774305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_LongTermNotesAndLoans_638174363409774305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409774305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409774305" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt_638174363409784305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638174363409764305" xlink:to="us-gaap_SecuredDebt_638174363409784305" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638174363409784305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638174363409784305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_638174363409784305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing_638174363409784305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638174363409784305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638174363409784305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_638174363409784305" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_638174363409784305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_638174363409794306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_ProceedsFromLinesOfCredit_638174363409794306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638174363409794306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638174363409794306" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_638174363409794306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_638174363409794306" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_638174363409794306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_638174363409794306" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638174363409794306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638174363409794306" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638174363409804307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638174363409804307" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported_638174363409804307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedEquityNotSeparatelyReported_638174363409804307" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_638174363409804307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_638174363409804307" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PledgedAssetsSolarPowerSystems" xlink:label="csiq_PledgedAssetsSolarPowerSystems_638174363409804307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_PledgedAssetsSolarPowerSystems_638174363409804307" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt_638174363409804307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_SecuredShortTermDebt_638174363409804307" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638174363409814307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DebtInstrumentTerm_638174363409814307" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638174363409814307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DebtInstrumentFaceAmount_638174363409814307" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_638174363409814307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions_638174363409814307" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409814307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638174363409814307" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638174363409814307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_LineOfCredit_638174363409814307" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan_638174363409824307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_AmountOfDevelopmentLoan_638174363409824307" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures_638174363409824307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_TotalAmountOfMatures_638174363409824307" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmountOfAvailableCommitmentCancelled" xlink:label="csiq_AmountOfAvailableCommitmentCancelled_638174363409824307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_AmountOfAvailableCommitmentCancelled_638174363409824307" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsNet" xlink:label="us-gaap_DeferredFinanceCostsNet_638174363409824307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DeferredFinanceCostsNet_638174363409824307" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount" xlink:label="us-gaap_DebtInstrumentUnamortizedDiscount_638174363409834306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_DebtInstrumentUnamortizedDiscount_638174363409834306" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt_638174363409834306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_SecuredLongTermDebt_638174363409834306" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings_638174363409834306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_OtherBorrowings_638174363409834306" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638174363409834306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638174363409834306" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363409844306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409764305" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363409844306" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41302 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635942437309799352" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363409844306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638174363409844306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638174363409844306" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638174363409844306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638174363409854315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638174363409854315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638174363409854315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638174363409854315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638174363409844306" xlink:to="us-gaap_LongTermDebt_638174363409854315" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638174363409854315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtAxis" xlink:label="us-gaap_ExtinguishmentOfDebtAxis_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409854315" xlink:to="us-gaap_ExtinguishmentOfDebtAxis_638174363409854315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtAxis_638174363409854315" xlink:to="us-gaap_ExtinguishmentOfDebtTypeDomain_638174363409854315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtMember" xlink:label="us-gaap_ShortTermDebtMember_638174363409854315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain_638174363409854315" xlink:to="us-gaap_ShortTermDebtMember_638174363409854315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermDebtMember" xlink:label="us-gaap_LongTermDebtMember_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain_638174363409854315" xlink:to="us-gaap_LongTermDebtMember_638174363409864313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409854315" xlink:to="us-gaap_DebtInstrumentLineItems_638174363409864313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409864313" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_638174363409864313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409864313" xlink:to="us-gaap_InterestCostsIncurredAbstract_638174363409864313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638174363409864313" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_638174363409864313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638174363409864313" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638174363409864313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638174363409864313" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638174363409864313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638174363409864313" xlink:to="us-gaap_InterestExpense_638174363409864313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred_638174363409864313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638174363409864313" xlink:to="us-gaap_InterestCostsIncurred_638174363409864313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xlink:type="extended" xlink:title="41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayable_638174363409874312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xlink:type="extended" xlink:title="41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_638174363409874312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638174363409874312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" xlink:to="us-gaap_ProductWarrantyAccrualPayments_638174363409874312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638174363409874312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638174363409874312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_6381743634098743121" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638174363409874312" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_6381743634098743121" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xlink:type="extended" xlink:title="41601 - Disclosure - RESTRICTED NET ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638174363409884312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363409884312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xlink:type="extended" xlink:title="41701 - Disclosure - CONVERTIBLE NOTES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" xlink:to="us-gaap_DebtInstrumentTable_638174363409884312" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409884312" xlink:to="us-gaap_LongtermDebtTypeAxis_638174363409884312" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638174363409884312" xlink:to="us-gaap_LongtermDebtTypeDomain_638174363409884312" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638174363409884312" xlink:to="us-gaap_ConvertibleDebtMember_638174363409884312" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638174363409884312" xlink:to="us-gaap_DebtInstrumentLineItems_638174363409884312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_638174363409884312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638174363409884312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638174363409884312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638174363409884312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638174363409894312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_638174363409894312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_638174363409894312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_638174363409894312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638174363409894312" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638174363409894312" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638174363409894312" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638174363409894312" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_638174363409894312" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_638174363409894312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DeferredFinanceCostsGross_638174363409894312" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638174363409904311" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_AmortizationOfFinancingCosts_638174363409904311" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_638174363409904311" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638174363409884312" xlink:to="us-gaap_InterestPayableCurrent_638174363409904311" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638174363409904311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638174363409904311" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638174363409904311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638174363409904311" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA_638174363409904311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_CA_638174363409904311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_US_638174363409914312" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_CN_638174363409914312" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_JP_638174363409914312" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG" xlink:label="country_SG_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_SG_638174363409914312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_BR_638174363409914312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="country_TH_638174363409914312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409904311" xlink:to="csiq_OtherJurisdictionsMember_638174363409914312" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638174363409904311" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638174363409914312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409914312" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638174363409914312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638174363409914312" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638174363409914312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638174363409924307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638174363409924307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409914312" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638174363409924307" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638174363409924307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638174363409924307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638174363409924307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638174363409924307" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638174363409924307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638174363409924307" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="us-gaap_DomesticCountryMember_638174363409934313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_US_638174363409934313" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_JP_638174363409934313" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_SG" xlink:label="country_SG_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_SG_638174363409934313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_DE_638174363409934313" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_TH_638174363409934313" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_HK_638174363409934313" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638174363409934313" xlink:to="country_BR_638174363409934313" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638174363409924307" xlink:to="dei_LegalEntityAxis_638174363409934313" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638174363409934313" xlink:to="dei_EntityDomain_638174363409934313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarSolutionsIncMember_638174363409934313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_638174363409934313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarUSAIncMember_638174363409934313" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarSsesUsIncMember" xlink:label="csiq_CanadianSolarSsesUsIncMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarSsesUsIncMember_638174363409944307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_RecurrentEnergyGroupInc.Member_638174363409944307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarJapanKKMember_638174363409944307" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_638174363409944307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarEMEAGmbHMember_638174363409944307" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarInternationalLtdMember_638174363409944307" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638174363409944307" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363409934313" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638174363409944307" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638174363409924307" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363409944307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363409944307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_638174363409954310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638174363409954310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638174363409954310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363409954310" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638174363409944307" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="us-gaap_UnrecognizedTaxBenefits_638174363409954310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638174363409954310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638174363409954310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638174363409954310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_638174363409964307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638174363409964307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638174363409954310" xlink:to="us-gaap_UnrecognizedTaxBenefits_638174363409964307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable_638174363409964307" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409964307" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409964307" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638174363409964307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363409964307" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638174363409964307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363409964307" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638174363409974315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363409964307" xlink:to="us-gaap_StatementLineItems_638174363409974315" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409974315" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638174363409974315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638174363409974315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638174363409974315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsInventory_638174363409974315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638174363409974315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638174363409974315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638174363409974315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638174363409974315" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638174363409974315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638174363409974315" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638174363409984310" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638174363409984310" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsOther_638174363409984310" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsGross_638174363409984310" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638174363409984310" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxAssetsNet_638174363409984310" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638174363409984310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638174363409984310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638174363409984310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638174363409984310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638174363409994307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638174363409994307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638174363409984310" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638174363409994307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638174363409974315" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_638174363409994307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638174363409994307" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638174363409994307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638174363409994307" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363409994307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638174363409994307" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638174363409994307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638174363409994307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409974315" xlink:to="us-gaap_OperatingLossCarryforwards_638174363409994307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_638174363410044322" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363409974315" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_638174363410044322" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="csiq_IncomeTaxesTable_638174363410054349" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638174363410054349" xlink:to="srt_RangeAxis_638174363410054349" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363410054349" xlink:to="srt_RangeMember_638174363410054349" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410054349" xlink:to="srt_MinimumMember_638174363410054349" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410054349" xlink:to="srt_MaximumMember_638174363410054349" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638174363410054349" xlink:to="csiq_IncomeTaxesLineItems_638174363410054349" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638174363410054349" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638174363410054349" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638174363410054349" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638174363410054349" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638174363410054349" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638174363410054349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638174363410054349" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638174363410064312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638174363410064312" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638174363410054349" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638174363410064312" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638174363410054349" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638174363410064312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638174363410064312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_638174363410064312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638174363410064312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638174363410064312" xlink:to="csiq_PreferentialWithholdingTaxRate_638174363410064312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638174363410054349" xlink:to="csiq_IncomeTaxHolidayAbstract_638174363410064312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638174363410064312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638174363410064312" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638174363410064312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638174363410064312" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638174363410074308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638174363410064312" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638174363410074308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_638174363410074308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638174363410074308" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363410074308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638174363410074308" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638174363410074308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638174363410074308" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638174363410074308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638174363410074308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638174363410074308" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638174363410074308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638174363410074308" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638174363410084316" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638174363410084316" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638174363410084316" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_6381743634100843161" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638174363410084316" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_6381743634100843161" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638174363410084316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638174363410084316" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638174363410084316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638174363410084316" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638174363410084316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_638174363410084316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638174363410084316" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_638174363410084316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638174363410084316" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638174363410094315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363410094315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638174363410094315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_638174363410094315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638174363410094315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638174363410094315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638174363410094315" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638174363410094315" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_EarningsPerShareBasic_638174363410094315" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638174363410094315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638174363410094315" xlink:to="us-gaap_EarningsPerShareDiluted_638174363410094315" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638174363410104309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638174363410104309" xlink:to="us-gaap_RelatedPartyDomain_638174363410104309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363410104309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AffiliatedEntityMember" xlink:label="srt_AffiliatedEntityMember_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="srt_AffiliatedEntityMember_638174363410104309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIRenewableEnergyS.aMember" xlink:label="csiq_SalgueiroIRenewableEnergyS.aMember_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SalgueiroIRenewableEnergyS.aMember_638174363410104309" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiRenewableEnergyS.a.Member_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SalgueiroIiRenewableEnergyS.a.Member_638174363410104309" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SalgueiroIiiRenewableEnergyS.a.Member" xlink:label="csiq_SalgueiroIiiRenewableEnergyS.a.Member_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SalgueiroIiiRenewableEnergyS.a.Member_638174363410104309" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba3RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba3RenewableEnergyS.a.Member_638174363410104309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_Jaiba3RenewableEnergyS.a.Member_638174363410104309" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba4RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba4RenewableEnergyS.a.Member_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_Jaiba4RenewableEnergyS.a.Member_638174363410114316" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_Jaiba9RenewableEnergyS.a.Member" xlink:label="csiq_Jaiba9RenewableEnergyS.a.Member_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_Jaiba9RenewableEnergyS.a.Member_638174363410114316" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638174363410114316" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SuzhouIsilverMaterialsMember_638174363410114316" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_638174363410114316" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="srt_ChiefExecutiveOfficerMember_638174363410114316" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638174363410114316" order="13" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasSolarHoldingS.aMember_638174363410114316" order="14" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember_638174363410114316" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638174363410114316" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_638174363410114316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member_638174363410114316" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_FranciscoSaIiRenewableEnergyS.a.Member_638174363410124310" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FranciscoSaIiiRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_FranciscoSaIiiRenewableEnergyS.a.Member_638174363410124310" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasISolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasISolarRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasISolarRenewableEnergyS.a.Member_638174363410124310" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiSolarRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasIiSolarRenewableEnergyS.a.Member_638174363410124310" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIiiSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasIiiSolarRenewableEnergyS.a.Member_638174363410124310" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasIvSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasIvSolarRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasIvSolarRenewableEnergyS.a.Member_638174363410124310" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasVSolarRenewableEnergyS.a.Member" xlink:label="csiq_LavrasVSolarRenewableEnergyS.a.Member_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_LavrasVSolarRenewableEnergyS.a.Member_638174363410124310" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldingsLlcMember" xlink:label="csiq_SonoranWestSolarHoldingsLlcMember_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SonoranWestSolarHoldingsLlcMember_638174363410124310" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SonoranWestSolarHoldings2LlcMember" xlink:label="csiq_SonoranWestSolarHoldings2LlcMember_638174363410124310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_SonoranWestSolarHoldings2LlcMember_638174363410124310" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638174363410104309" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638174363410134308" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_LineOfCreditFacilityAxis_638174363410134308" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis_638174363410134308" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_638174363410134308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain_638174363410134308" xlink:to="csiq_ChineseCommercialBanksMember_638174363410134308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_IncomeStatementLocationAxis_638174363410134308" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_638174363410134308" xlink:to="us-gaap_IncomeStatementLocationDomain_638174363410134308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_638174363410134308" xlink:to="us-gaap_SalesMember_638174363410134308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_638174363410134308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_RelatedPartyTransactionAxis_638174363410134308" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis_638174363410134308" xlink:to="us-gaap_RelatedPartyTransactionDomain_638174363410144308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638174363410144308" xlink:to="csiq_AssetManagementServiceMember_638174363410144308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638174363410144308" xlink:to="csiq_OMServiceMember_638174363410144308" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_AwardTypeAxis_638174363410144308" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638174363410144308" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410144308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410144308" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638174363410144308" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638174363410144308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="srt_OwnershipAxis_638174363410144308" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638174363410144308" xlink:to="srt_OwnershipDomain_638174363410154307" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInc.Member" xlink:label="csiq_CanadianSolarInc.Member_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638174363410154307" xlink:to="csiq_CanadianSolarInc.Member_638174363410154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363410154307" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638174363410154307" xlink:to="srt_EquityMethodInvesteeNameDomain_638174363410154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363410154307" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638174363410154307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LavrasSolarHoldingS.aMember" xlink:label="csiq_LavrasSolarHoldingS.aMember_638174363410154307" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363410154307" xlink:to="csiq_LavrasSolarHoldingS.aMember_638174363410154307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638174363410154307" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638174363410164309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="dei_LegalEntityAxis_638174363410164309" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638174363410164309" xlink:to="dei_EntityDomain_638174363410164309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_KoreanInvestorMember" xlink:label="csiq_KoreanInvestorMember_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363410164309" xlink:to="csiq_KoreanInvestorMember_638174363410164309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChineseInvestorMember" xlink:label="csiq_ChineseInvestorMember_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363410164309" xlink:to="csiq_ChineseInvestorMember_638174363410164309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianInfrastructureFundMember" xlink:label="csiq_CanadianInfrastructureFundMember_638174363410164309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363410164309" xlink:to="csiq_CanadianInfrastructureFundMember_638174363410164309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638174363410104309" xlink:to="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638174363410174308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesNoncurrent" xlink:label="us-gaap_DueFromRelatedPartiesNoncurrent_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_DueFromRelatedPartiesNoncurrent_638174363410174308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties_638174363410174308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363410174308" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638174363410174308" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638174363410174308" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638174363410184312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638174363410184312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410184312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410184312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638174363410184312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638174363410184312" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage_638174363410184312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="csiq_PurchaseOfUnitsPercentage_638174363410184312" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties_638174363410184312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_RevenueFromRelatedParties_638174363410184312" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty_638174363410194309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="csiq_ServiceRevenueFromRelatedParty_638174363410194309" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638174363410194309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638174363410194309" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638174363410194309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638174363410194309" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty_638174363410194309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638174363410174308" xlink:to="us-gaap_CostsAndExpensesRelatedParty_638174363410194309" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638174363410204310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638174363410204310" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363410204310" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638174363410204310" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363410204310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363410204310" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638174363410204310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638174363410204310" xlink:to="csiq_SolarPowerSystemCommitmentsMember_638174363410204310" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638174363410204310" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638174363410204310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_638174363410204310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_638174363410204310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_638174363410204310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" xlink:to="us-gaap_PurchaseObligationDueInThirdYear_638174363410214320" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638174363410204310" xlink:to="us-gaap_PurchaseObligation_638174363410214320" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_638174363410214320" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638174363410214320" xlink:to="dei_LegalEntityAxis_638174363410214320" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638174363410214320" xlink:to="dei_EntityDomain_638174363410214320" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638174363410214320" xlink:to="csiq_CanadianSolarInternationalLtdMember_638174363410214320" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638174363410214320" xlink:to="srt_LitigationCaseAxis_638174363410214320" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_638174363410214320" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis_638174363410214320" xlink:to="srt_LitigationCaseTypeDomain_638174363410214320" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638174363410224316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_FirstAdministrativeReviewOfSolarOneMember_638174363410224316" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SecondAdministrativeReviewOfSolarOneMember_638174363410224316" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_ThirdAdministrativeReviewOfSolarOneMember_638174363410224316" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_FourthAdministrativeReviewOfSolarOneMember_638174363410224316" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_FifthAdministrativeReviewOfSolarOneMember_638174363410224316" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SixthAdministrativeReviewOfSolarOneMember_638174363410224316" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SeventhAdministrativeReviewOfSolarOneMember_638174363410224316" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeventhAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SeventhAdministrativeReviewOfSolarTwoMember_638174363410224316" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_EighthAdministrativeReviewOfSolarOneMember_638174363410224316" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638174363410224316" order="11" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_638174363410224316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_638174363410224316" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638174363410214320" xlink:to="csiq_EighthAdministrativeReviewOfSolarTwoMember_638174363410234310" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638174363410214320" xlink:to="srt_RangeAxis_638174363410234310" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363410234310" xlink:to="srt_RangeMember_638174363410234310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410234310" xlink:to="srt_MinimumMember_638174363410234310" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410234310" xlink:to="srt_MaximumMember_638174363410234310" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638174363410214320" xlink:to="us-gaap_LossContingenciesLineItems_638174363410234310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638174363410234310" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638174363410234310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638174363410234310" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638174363410234310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638174363410234310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638174363410234310" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638174363410234310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xlink:type="extended" xlink:title="42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638174363410244309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_NumberOfReportableSegments_638174363410244309" order="1" use="optional" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638174363410244309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638174363410244309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410244309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638174363410244309" xlink:to="srt_ConsolidationItemsAxis_638174363410244309" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410244309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410244309" xlink:to="srt_ConsolidationItemsDomain_638174363410244309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638174363410244309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410244309" xlink:to="us-gaap_OperatingSegmentsMember_638174363410244309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410244309" xlink:to="csiq_EliminationsAndReconcilingItemsMember_638174363410254319" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638174363410244309" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638174363410254319" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638174363410254319" xlink:to="us-gaap_SegmentDomain_638174363410254319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363410254319" xlink:to="csiq_CsiSolarSegmentMember_638174363410254319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363410254319" xlink:to="csiq_GlobalEnergySegmentMember_638174363410254319" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638174363410244309" xlink:to="us-gaap_SegmentReportingInformationLineItems_638174363410254319" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638174363410254319" xlink:to="us-gaap_NumberOfReportableSegments_638174363410254319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638174363410254319" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410254319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638174363410254319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" xlink:to="us-gaap_GrossProfit_638174363410254319" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638174363410254319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638174363410254319" xlink:to="us-gaap_OperatingIncomeLoss_638174363410254319" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638174363410264309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638174363410264309" xlink:to="srt_StatementGeographicalAxis_638174363410264309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638174363410264309" xlink:to="srt_SegmentGeographicalDomain_638174363410264309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638174363410264309" xlink:to="csiq_AmericaMember_638174363410264309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_US" xlink:label="country_US_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="country_US_638174363410264309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_BR" xlink:label="country_BR_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="country_BR_638174363410264309" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CA" xlink:label="country_CA_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="country_CA_638174363410264309" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CL" xlink:label="country_CL_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="country_CL_638174363410264309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_MX" xlink:label="country_MX_638174363410264309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="country_MX_638174363410264309" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638174363410264309" xlink:to="csiq_OtherCountriesAmericaMember_638174363410274315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638174363410264309" xlink:to="srt_AsiaMember_638174363410274315" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CN" xlink:label="country_CN_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_CN_638174363410274315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_JP" xlink:label="country_JP_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_JP_638174363410274315" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IN" xlink:label="country_IN_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_IN_638174363410274315" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_PK" xlink:label="country_PK_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_PK_638174363410274315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TW" xlink:label="country_TW_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_TW_638174363410274315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_HK" xlink:label="country_HK_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_HK_638174363410274315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AE" xlink:label="country_AE_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_AE_638174363410274315" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_TH" xlink:label="country_TH_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_TH_638174363410274315" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_VN" xlink:label="country_VN_638174363410274315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="country_VN_638174363410274315" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638174363410274315" xlink:to="csiq_OtherCountriesAsiaMember_638174363410284311" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638174363410264309" xlink:to="srt_EuropeMember_638174363410284311" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ES" xlink:label="country_ES_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_ES_638174363410284311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AU" xlink:label="country_AU_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_AU_638174363410284311" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_DE" xlink:label="country_DE_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_DE_638174363410284311" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_NL" xlink:label="country_NL_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_NL_638174363410284311" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_ZA" xlink:label="country_ZA_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_ZA_638174363410284311" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_GB" xlink:label="country_GB_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_GB_638174363410284311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_CZ" xlink:label="country_CZ_638174363410284311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_CZ_638174363410284311" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_IE" xlink:label="country_IE_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_IE_638174363410294310" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_RO" xlink:label="country_RO_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_RO_638174363410294310" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_FR" xlink:label="country_FR_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_FR_638174363410294310" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2022/country-2022.xsd#country_AR" xlink:label="country_AR_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="country_AR_638174363410294310" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638174363410284311" xlink:to="csiq_OtherCountriesEuropeMember_638174363410294310" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638174363410264309" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638174363410294310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638174363410264309" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638174363410294310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410294310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638174363410294310" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410294310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638174363410294310" xlink:to="us-gaap_NoncurrentAssets_638174363410304312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638174363410304312" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638174363410304312" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638174363410304312" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638174363410304312" xlink:to="us-gaap_SegmentDomain_638174363410304312" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363410304312" xlink:to="csiq_CsiSolarSegmentMember_638174363410304312" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_GlobalEnergySegmentMember" xlink:label="csiq_GlobalEnergySegmentMember_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638174363410304312" xlink:to="csiq_GlobalEnergySegmentMember_638174363410304312" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638174363410304312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638174363410304312" xlink:to="srt_ProductOrServiceAxis_638174363410304312" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638174363410304312" xlink:to="srt_ProductsAndServicesDomain_638174363410314321" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarModulesMember" xlink:label="csiq_SolarModulesMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_SolarModulesMember_638174363410314321" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_SolarSystemKitsProductMember_638174363410314321" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_UtilityScaleBatteryStorageMember" xlink:label="csiq_UtilityScaleBatteryStorageMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_UtilityScaleBatteryStorageMember_638174363410314321" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ResidentialBatteryStorageMember" xlink:label="csiq_ResidentialBatteryStorageMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_ResidentialBatteryStorageMember_638174363410314321" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" xlink:label="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_638174363410314321" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherCsiSolarProductsMember" xlink:label="csiq_OtherCsiSolarProductsMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_OtherCsiSolarProductsMember_638174363410314321" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_SolarPowerProjectsMember" xlink:label="csiq_SolarPowerProjectsMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_SolarPowerProjectsMember_638174363410314321" order="7" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OmAndAssetManagementServicesMember" xlink:label="csiq_OmAndAssetManagementServicesMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_OmAndAssetManagementServicesMember_638174363410314321" order="8" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" xlink:label="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638174363410314321" xlink:to="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_638174363410314321" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638174363410304312" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410314321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410314321" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638174363410324310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" xlink:to="us-gaap_AssetImpairmentCharges_638174363410324310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_638174363410324310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" xlink:to="us-gaap_ImpairmentOfInvestments_638174363410324310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638174363410324310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638174363410314321" xlink:to="csiq_ProjectAssetsImpairmentCharge_638174363410324310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xlink:type="extended" xlink:title="42301 - Disclosure - MAJOR CUSTOMERS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638174363410324310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersDisclosureAbstract" xlink:to="us-gaap_Revenues_638174363410324310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_StatementTable_638174363410334319" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363410334319" xlink:to="srt_RangeAxis_638174363410334319" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363410334319" xlink:to="srt_RangeMember_638174363410334319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410334319" xlink:to="srt_MinimumMember_638174363410334319" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410334319" xlink:to="srt_MaximumMember_638174363410334319" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638174363410334319" xlink:to="us-gaap_StatementLineItems_638174363410334319" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638174363410334319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_638174363410334319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638174363410334319" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638174363410334319" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638174363410334319" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638174363410334319" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_638174363410334319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638174363410334319" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_638174363410334319" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410344313" xlink:to="us-gaap_AwardTypeAxis_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410344313" xlink:to="us-gaap_EmployeeStockOptionMember_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410344313" xlink:to="us-gaap_GranteeStatusAxis_638174363410344313" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638174363410344313" xlink:to="us-gaap_GranteeStatusDomain_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638174363410344313" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638174363410344313" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638174363410354318" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638174363410354318" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638174363410354318" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638174363410354318" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638174363410354318" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638174363410354318" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_638174363410354318" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638174363410354318" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638174363410354318" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638174363410354318" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638174363410354318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638174363410354318" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410344313" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638174363410364311" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" xlink:to="us-gaap_AwardTypeAxis_638174363410364311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638174363410364311" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410364311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638174363410364311" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638174363410364311" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PerformanceSharesMember" xlink:label="us-gaap_PerformanceSharesMember_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RestrictedStockUnitsRSUMember_638174363410364311" xlink:to="us-gaap_PerformanceSharesMember_638174363410364311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638174363410364311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" xlink:to="srt_RangeAxis_638174363410364311" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638174363410364311" xlink:to="srt_RangeMember_638174363410374315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410374315" xlink:to="srt_MinimumMember_638174363410374315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638174363410374315" xlink:to="srt_MaximumMember_638174363410374315" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" xlink:to="us-gaap_VestingAxis_638174363410374315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis_638174363410374315" xlink:to="us-gaap_VestingDomain_638174363410374315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638174363410374315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638174363410374315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" xlink:to="us-gaap_GranteeStatusAxis_638174363410374315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638174363410374315" xlink:to="us-gaap_GranteeStatusDomain_638174363410374315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638174363410374315" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638174363410374315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638174363410364311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410374315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410374315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638174363410384311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638174363410384311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638174363410384311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638174363410384311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638174363410384311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638174363410384311" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638174363410384311" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638174363410384311" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638174363410394311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638174363410394311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638174363410394311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638174363410394311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6381743634103943111" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638174363410384311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6381743634103943111" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638174363410374315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638174363410394311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638174363410394311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638174363410394311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638174363410404309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638174363410404309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638174363410404309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638174363410404309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638174363410404309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638174363410404309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638174363410404309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638174363410404309" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638174363410404309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638174363410394311" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638174363410404309" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xlink:type="extended" xlink:title="42601 - Disclosure - SUBSEQUENT EVENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363410414319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract_1" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638174363410414319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638174363410414319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract_1" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638174363410414319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xlink:type="extended" xlink:title="42701 - Disclosure - Financial Statement Schedule I (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363410414319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363410414319" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363410414319" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638174363410414319" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410424317" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410424317" xlink:to="srt_ConsolidatedEntitiesAxis_638174363410424317" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363410424317" xlink:to="srt_ConsolidatedEntitiesDomain_638174363410424317" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363410424317" xlink:to="srt_ParentCompanyMember_638174363410424317" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410424317" xlink:to="srt_ConsolidationItemsAxis_638174363410424317" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410424317" xlink:to="srt_ConsolidationItemsDomain_638174363410424317" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410424317" xlink:to="srt_ReportableLegalEntitiesMember_638174363410424317" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410424317" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" xlink:to="us-gaap_AssetsAbstract_638174363410424317" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="us-gaap_AssetsCurrentAbstract_638174363410424317" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363410424317" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638174363410424317" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_638174363410424317" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363410424317" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_638174363410424317" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363410424317" xlink:to="us-gaap_DerivativeAssetsCurrent_638174363410434315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363410424317" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638174363410434315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638174363410424317" xlink:to="us-gaap_AssetsCurrent_638174363410434315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="csiq_InvestmentInSubsidiaries_638174363410434315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="csiq_InvestmentInAffiliates_638174363410434315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638174363410434315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="us-gaap_OtherAssetsNoncurrent_638174363410434315" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638174363410424317" xlink:to="us-gaap_Assets_638174363410434315" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" xlink:to="us-gaap_ShortTermBorrowings_638174363410444311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" xlink:to="us-gaap_DueToRelatedPartiesCurrent_638174363410444311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638174363410444311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" xlink:to="us-gaap_OtherLiabilitiesCurrent_638174363410444311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638174363410434315" xlink:to="us-gaap_LiabilitiesCurrent_638174363410444311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" xlink:to="us-gaap_ConvertibleNotesPayable_638174363410444311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638174363410444311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638174363410444311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638174363410444311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638174363410434315" xlink:to="us-gaap_Liabilities_638174363410444311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_CommonStockValue_638174363410454312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_TreasuryStockCommonValue_638174363410454312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638174363410454312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638174363410454312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638174363410454312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638174363410454312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638174363410454312" xlink:to="us-gaap_StockholdersEquity_638174363410454312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410424317" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638174363410464309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410464309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410464309" xlink:to="srt_ConsolidationItemsAxis_638174363410464309" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410464309" xlink:to="srt_ConsolidationItemsDomain_638174363410464309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410464309" xlink:to="srt_ReportableLegalEntitiesMember_638174363410464309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410464309" xlink:to="srt_ConsolidatedEntitiesAxis_638174363410464309" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363410464309" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363410464309" xlink:to="srt_ConsolidatedEntitiesDomain_638174363410464309" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363410464309" xlink:to="srt_ParentCompanyMember_638174363410474321" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410464309" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638174363410474321" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" xlink:to="us-gaap_CommonStockSharesIssued_638174363410474321" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" xlink:to="us-gaap_CommonStockSharesOutstanding_638174363410474321" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410474321" xlink:to="us-gaap_TreasuryStockCommonShares_638174363410474321" order="4" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410474321" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410474321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410474321" xlink:to="srt_ConsolidationItemsAxis_638174363410474321" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410474321" xlink:to="srt_ConsolidationItemsDomain_638174363410484315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410484315" xlink:to="srt_ReportableLegalEntitiesMember_638174363410484315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410474321" xlink:to="srt_ConsolidatedEntitiesAxis_638174363410484315" order="2" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363410484315" xlink:to="srt_ConsolidatedEntitiesDomain_638174363410484315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363410484315" xlink:to="srt_ParentCompanyMember_638174363410484315" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410474321" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638174363410484315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638174363410484315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_GrossProfit_638174363410484315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_OperatingExpensesAbstract_638174363410484315" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363410484315" xlink:to="us-gaap_SellingExpense_638174363410484315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363410484315" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638174363410484315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638174363410484315" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363410484315" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638174363410484315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638174363410484315" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638174363410494314" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_OperatingExpenses_638174363410494314" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_OperatingIncomeLoss_638174363410494314" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_InterestExpense_638174363410494314" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_InvestmentIncomeInterest_638174363410494314" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363410494314" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638174363410494314" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638174363410494314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_GainLossOnInvestments_638174363410494314" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638174363410504310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638174363410494314" xlink:to="us-gaap_NonoperatingIncomeExpense_638174363410504310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363410504310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638174363410504310" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638174363410504310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638174363410504310" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638174363410504310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638174363410504310" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363410504310" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410484315" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638174363410504310" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410514325" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410514325" xlink:to="srt_ConsolidationItemsAxis_638174363410514325" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410514325" xlink:to="srt_ConsolidationItemsDomain_638174363410514325" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410514325" xlink:to="srt_ReportableLegalEntitiesMember_638174363410514325" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410514325" xlink:to="srt_ConsolidatedEntitiesAxis_638174363410514325" order="2" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363410514325" xlink:to="srt_ConsolidatedEntitiesDomain_638174363410514325" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363410514325" xlink:to="srt_ParentCompanyMember_638174363410514325" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410514325" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410514325" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410514325" xlink:to="us-gaap_ProfitLoss_638174363410514325" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410514325" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638174363410514325" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638174363410514325" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410514325" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638174363410514325" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410524316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410524316" xlink:to="srt_ConsolidatedEntitiesAxis_638174363410524316" order="1" use="optional" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638174363410524316" xlink:to="srt_ConsolidatedEntitiesDomain_638174363410524316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638174363410524316" xlink:to="srt_ParentCompanyMember_638174363410524316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410524316" xlink:to="srt_ConsolidationItemsAxis_638174363410524316" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638174363410524316" xlink:to="srt_ConsolidationItemsDomain_638174363410524316" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638174363410524316" xlink:to="srt_ReportableLegalEntitiesMember_638174363410524316" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638174363410524316" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="us-gaap_ProfitLoss_638174363410534321" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638174363410534321" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_AccretionExpense_638174363410534321" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638174363410534321" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638174363410534321" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638174363410534321" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638174363410534321" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_ShareBasedCompensation_638174363410534321" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363410534321" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638174363410534321" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638174363410534321" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363410544314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638174363410544314" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363410544314" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638174363410544314" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363410584331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638174363410584331" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363410584331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638174363410584331" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363410584331" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638174363410584331" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638174363410594349" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638174363410544314" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638174363410594349" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638174363410594349" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638174363410594349" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638174363410524316" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638174363410594349" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638174363410594349" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638174363410594349" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" xlink:to="csiq_PaymentsToAcquireAffiliates_638174363410594349" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638174363410604318" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638174363410604318" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638174363410594349" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638174363410604318" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638174363410604318" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_RepaymentOfLoanFromSubsidiaries" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="csiq_RepaymentOfLoanFromSubsidiaries_638174363410604318" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_638174363410604318" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries_638174363410604318" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638174363410614312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638174363410614312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_638174363410614312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_638174363410614312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638174363410614312" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638174363410604318" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638174363410614312" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363410614312" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638174363410614312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638174363410624313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638174363410624313" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363410624313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638174363410624313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6381743634106243131" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6381743634106243131" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638174363410624313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638174363410524316" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638174363410624313" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638174363410624313" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638174363410624313" xlink:to="us-gaap_InterestPaidNet_638174363410624313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails" xlink:type="extended" xlink:title="9940901 - Disclosure - FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="us-gaap_AssetsFairValueDisclosureAbstract_638174363410634311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AssetsFairValueDisclosureAbstract_638174363410634311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent" xlink:label="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638174363410634311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsFairValueDisclosureAbstract_638174363410634311" xlink:to="us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent_638174363410634311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xlink:type="extended" xlink:title="9941102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_638174363410634311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_638174363410634311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363410644322" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638174363410644322" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363410644322" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638174363410644322" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20221231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets_638174363410644322" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="csiq_DecreaseOfNetAssets_638174363410644322" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xlink:type="extended" xlink:title="9941302 - Disclosure - BORROWINGS - Short term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638174363410644322" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ShortTermBorrowings_638174363410644322" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>21
<FILENAME>csiq-20221231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.2.5.9 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/18/2023 5:39:09 PM-->
<!--Modified on: 4/18/2023 5:39:09 PM-->
<xsd:schema targetNamespace="http://www.canadiansolar.com/20221231" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:csiq="http://www.canadiansolar.com/20221231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt-roles="http://fasb.org/srt-roles/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:attributeFormDefault="unqualified" xmlns:srt="http://fasb.org/srt/2022" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</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://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>00100 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" id="StatementConsolidatedStatementsOfOperations">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" id="StatementConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" id="StatementConsolidatedStatementsOfCashFlowsParenthetical">
        <link:definition>00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails">
        <link:definition>40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (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://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" id="DisclosureAllowanceForCreditLossesDetails">
        <link:definition>40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (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://www.canadiansolar.com/role/DisclosureInventoriesDetails" id="DisclosureInventoriesDetails">
        <link:definition>40401 - Disclosure - INVENTORIES (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://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" id="DisclosureProjectAssetsDetails">
        <link:definition>40501 - Disclosure - PROJECT 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://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" id="DisclosurePropertyPlantAndEquipmentNetDetails">
        <link:definition>40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" id="DisclosureSolarPowerSystemsNetDetails">
        <link:definition>40701 - Disclosure - SOLAR POWER SYSTEMS, NET (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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" id="DisclosureIntangibleAssetsNetDetails">
        <link:definition>40801 - Disclosure - INTANGIBLE ASSETS, NET (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://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" id="DisclosureVariableInterestEntitiesDetails">
        <link:definition>41001 - Disclosure - VARIABLE INTEREST ENTITIES (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://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" id="DisclosureLeaseLeaseExpenseDetails">
        <link:definition>41201 - Disclosure - LEASE - Lease 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://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" id="DisclosureLeaseSupplementBalanceSheetInformationDetails">
        <link:definition>41202 - Disclosure - LEASE - Supplement balance sheet information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" id="DisclosureLeaseOperatingLeasesMaturitiesDetails">
        <link:definition>41205 - Disclosure - LEASE - Operating leases - Maturities (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://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" id="DisclosureLeaseOperatingLeasesGrossDifferenceDetails">
        <link:definition>41206 - Disclosure - LEASE - Operating leases - Gross difference (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://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" id="DisclosureLeaseFinanceLeasesMaturitiesDetails">
        <link:definition>41207 - Disclosure - LEASE - Finance leases - Maturities (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://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" id="DisclosureLeaseFinanceLeasesGrossDifferenceDetails">
        <link:definition>41208 - Disclosure - LEASE - Finance leases - Gross difference (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://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" id="DisclosureLeaseTotalLeasesMaturitiesDetails">
        <link:definition>41209 - Disclosure - LEASE - Total leases - Maturities (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://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" id="DisclosureLeaseTotalLeasesGrossDifferenceDetails">
        <link:definition>41210 - Disclosure - LEASE - Total leases - Gross difference (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://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" id="DisclosureLeaseTotalLeasesSummaryDetails">
        <link:definition>41211 - Disclosure - LEASE - Total leases - Summary (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://www.canadiansolar.com/role/DisclosureBorrowingsDetails" id="DisclosureBorrowingsDetails">
        <link:definition>41301 - Disclosure - BORROWINGS (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://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" id="DisclosureBorrowingsLongTermDetails">
        <link:definition>41302 - Disclosure - BORROWINGS - Long term (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://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesProvisionForIncomeTaxesDetails">
        <link:definition>41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <link:definition>41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" id="DisclosureIncomeTaxesReconciliationDetails">
        <link:definition>41804 - Disclosure - INCOME TAXES - Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsDetails">
        <link:definition>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (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://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails">
        <link:definition>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (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://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</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://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" id="StatementConsolidatedStatementsOfChangesInEquity">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" id="StatementConsolidatedStatementsOfChangesInEquityParenthetical">
        <link:definition>00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (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://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" id="DisclosureOrganizationAndPrincipalActivities">
        <link:definition>10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES</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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" id="DisclosureSummaryOfPrincipalAccountingPolicies">
        <link:definition>10201 - Disclosure - SUMMARY OF PRINCIPAL 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://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" id="DisclosureAllowanceForCreditLosses">
        <link:definition>10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES</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://www.canadiansolar.com/role/DisclosureInventories" id="DisclosureInventories">
        <link:definition>10401 - 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://www.canadiansolar.com/role/DisclosureProjectAssets" id="DisclosureProjectAssets">
        <link:definition>10501 - Disclosure - PROJECT 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://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" id="DisclosurePropertyPlantAndEquipmentNet">
        <link:definition>10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" id="DisclosureSolarPowerSystemsNet">
        <link:definition>10701 - Disclosure - SOLAR POWER SYSTEMS, NET</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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" id="DisclosureIntangibleAssetsNet">
        <link:definition>10801 - Disclosure - INTANGIBLE ASSETS, NET</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://www.canadiansolar.com/role/DisclosureFairValueMeasurement" id="DisclosureFairValueMeasurement">
        <link:definition>10901 - Disclosure - FAIR VALUE MEASUREMENT</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://www.canadiansolar.com/role/DisclosureVariableInterestEntities" id="DisclosureVariableInterestEntities">
        <link:definition>11001 - Disclosure - VARIABLE INTEREST ENTITIES</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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" id="DisclosureInvestmentsInAffiliates">
        <link:definition>11101 - Disclosure - INVESTMENTS IN AFFILIATES</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://www.canadiansolar.com/role/DisclosureBorrowings" id="DisclosureBorrowings">
        <link:definition>11301 - Disclosure - BORROWINGS</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://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" id="DisclosureShortTermNotesPayable">
        <link:definition>11401 - Disclosure - SHORT-TERM NOTES PAYABLE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" id="DisclosureAccruedWarrantyCosts">
        <link:definition>11501 - Disclosure - ACCRUED WARRANTY COSTS</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://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" id="DisclosureRestrictedNetAssets">
        <link:definition>11601 - Disclosure - RESTRICTED NET 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://www.canadiansolar.com/role/DisclosureConvertibleNotes" id="DisclosureConvertibleNotes">
        <link:definition>11701 - Disclosure - CONVERTIBLE NOTES</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://www.canadiansolar.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11801 - Disclosure - INCOME TAXES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" id="DisclosureEarningsPerShare">
        <link:definition>11901 - Disclosure - EARNINGS PER SHARE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" id="DisclosureRelatedPartyBalancesAndTransactions">
        <link:definition>12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>12101 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>12201 - Disclosure - SEGMENT INFORMATION</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://www.canadiansolar.com/role/DisclosureMajorCustomers" id="DisclosureMajorCustomers">
        <link:definition>12301 - Disclosure - MAJOR CUSTOMERS</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://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" id="DisclosureEmployeeBenefitPlans">
        <link:definition>12401 - Disclosure - EMPLOYEE BENEFIT PLANS</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://www.canadiansolar.com/role/DisclosureShareBasedCompensation" id="DisclosureShareBasedCompensation">
        <link:definition>12501 - Disclosure - SHARE-BASED COMPENSATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" id="DisclosureAdditionalInformationFinancialStatementScheduleI">
        <link:definition>12701 - Disclosure - Additional Information - Financial Statement Schedule I</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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" id="DisclosureSummaryOfPrincipalAccountingPoliciesPolicies">
        <link:definition>20202 - Disclosure - SUMMARY OF PRINCIPAL 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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" id="DisclosureSummaryOfPrincipalAccountingPoliciesTables">
        <link:definition>30203 - Disclosure - SUMMARY OF PRINCIPAL 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://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" id="DisclosureAllowanceForCreditLossesTables">
        <link:definition>30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (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://www.canadiansolar.com/role/DisclosureInventoriesTables" id="DisclosureInventoriesTables">
        <link:definition>30403 - 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://www.canadiansolar.com/role/DisclosureProjectAssetsTables" id="DisclosureProjectAssetsTables">
        <link:definition>30503 - Disclosure - PROJECT 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://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" id="DisclosurePropertyPlantAndEquipmentNetTables">
        <link:definition>30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" id="DisclosureSolarPowerSystemsNetTables">
        <link:definition>30703 - Disclosure - SOLAR POWER SYSTEMS, NET (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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" id="DisclosureIntangibleAssetsNetTables">
        <link:definition>30803 - Disclosure - INTANGIBLE ASSETS, NET (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" id="DisclosureFairValueMeasurementTables">
        <link:definition>30903 - Disclosure - FAIR VALUE MEASUREMENT (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://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" id="DisclosureVariableInterestEntitiesTables">
        <link:definition>31003 - Disclosure - VARIABLE INTEREST ENTITIES (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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" id="DisclosureInvestmentsInAffiliatesTables">
        <link:definition>31103 - Disclosure - INVESTMENTS IN AFFILIATES (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://www.canadiansolar.com/role/DisclosureBorrowingsTables" id="DisclosureBorrowingsTables">
        <link:definition>31303 - Disclosure - BORROWINGS (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://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" id="DisclosureAccruedWarrantyCostsTables">
        <link:definition>31503 - Disclosure - ACCRUED WARRANTY COSTS (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://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>31803 - Disclosure - INCOME TAXES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" id="DisclosureEarningsPerShareTables">
        <link:definition>31903 - Disclosure - EARNINGS PER SHARE (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" id="DisclosureCommitmentsAndContingenciesTables">
        <link:definition>32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (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://www.canadiansolar.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>32203 - Disclosure - SEGMENT INFORMATION (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://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" id="DisclosureShareBasedCompensationTables">
        <link:definition>32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" id="DisclosureOrganizationAndPrincipalActivitiesDetails">
        <link:definition>40101 - Disclosure - ORGANIZATION AND PRINCIPAL 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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails">
        <link:definition>40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails">
        <link:definition>40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails">
        <link:definition>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails">
        <link:definition>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails">
        <link:definition>40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails">
        <link:definition>40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
        <link:definition>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails">
        <link:definition>40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails">
        <link:definition>40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails">
        <link:definition>40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails">
        <link:definition>40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails">
        <link:definition>40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" id="DisclosureFairValueMeasurementDetails">
        <link:definition>40901 - Disclosure - FAIR VALUE MEASUREMENT (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" id="DisclosureFairValueMeasurementInterestRateSwapDetails">
        <link:definition>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" id="DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails">
        <link:definition>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" id="DisclosureFairValueMeasurementCarryingValueDetails">
        <link:definition>40905 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" id="DisclosureInvestmentsInAffiliatesDetails">
        <link:definition>41101 - Disclosure - INVESTMENTS IN AFFILIATES (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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" id="DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails">
        <link:definition>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (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://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" id="DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails">
        <link:definition>41303 - Disclosure - BORROWINGS - Long term narrative and interest 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://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" id="DisclosureShortTermNotesPayableDetails">
        <link:definition>41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" id="DisclosureAccruedWarrantyCostsDetails">
        <link:definition>41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" id="DisclosureRestrictedNetAssetsDetails">
        <link:definition>41601 - Disclosure - RESTRICTED NET 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://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" id="DisclosureConvertibleNotesDetails">
        <link:definition>41701 - Disclosure - CONVERTIBLE NOTES (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" id="DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails">
        <link:definition>41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (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://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" id="DisclosureIncomeTaxesMovementOfValuationAllowanceDetails">
        <link:definition>41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (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://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" id="DisclosureEarningsPerShareDetails">
        <link:definition>41901 - Disclosure - EARNINGS PER SHARE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" id="DisclosureRelatedPartyBalancesAndTransactionsDetails">
        <link:definition>42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (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://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" id="DisclosureCommitmentsAndContingenciesCommitmentsDetails">
        <link:definition>42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (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://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" id="DisclosureCommitmentsAndContingenciesContingenciesDetails">
        <link:definition>42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" id="DisclosureSegmentInformationNarrativeDetails">
        <link:definition>42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails">
        <link:definition>42202 - Disclosure - SEGMENT INFORMATION (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" id="DisclosureSegmentInformationDifferentGeographicLocationsDetails">
        <link:definition>42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (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://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" id="DisclosureSegmentInformationEachProductOrServiceDetails">
        <link:definition>42204 - Disclosure - SEGMENT INFORMATION - Each product or service (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://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" id="DisclosureMajorCustomersDetails">
        <link:definition>42301 - Disclosure - MAJOR CUSTOMERS (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://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" id="DisclosureEmployeeBenefitPlansDetails">
        <link:definition>42401 - Disclosure - EMPLOYEE BENEFIT PLANS (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://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" id="DisclosureShareBasedCompensationOptionsToEmployeesDetails">
        <link:definition>42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (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://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" id="DisclosureShareBasedCompensationRsusToEmployeesDetails">
        <link:definition>42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (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://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" id="DisclosureSubsequentEventDetails">
        <link:definition>42601 - Disclosure - SUBSEQUENT EVENT (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://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" id="DisclosureFinancialStatementScheduleIDetails">
        <link:definition>42701 - Disclosure - Financial Statement Schedule I (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://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails">
        <link:definition>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails">
        <link:definition>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (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://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" id="DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails">
        <link:definition>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails" id="DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails">
        <link:definition>9940901 - Disclosure - FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" id="DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails">
        <link:definition>9941102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (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://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" id="DisclosureBorrowingsShortTermDetails">
        <link:definition>9941302 - Disclosure - BORROWINGS - Short term (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://www.canadiansolar.com/role/DisclosureLease" id="DisclosureLease">
        <link:definition>11201 - Disclosure - LEASE</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://www.canadiansolar.com/role/DisclosureSubsequentEvent" id="DisclosureSubsequentEvent">
        <link:definition>12601 - Disclosure - SUBSEQUENT EVENT</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://www.canadiansolar.com/role/DisclosureLeaseTables" id="DisclosureLeaseTables">
        <link:definition>31203 - Disclosure - LEASE (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://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails" id="DisclosureFairValueMeasurementMarketableSecuritiesDetails">
        <link:definition>40904 - Disclosure - FAIR VALUE MEASUREMENT - Marketable securities (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://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" id="DisclosureLeaseCashFlowDetails">
        <link:definition>41203 - Disclosure - LEASE - Cash flow (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://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" id="DisclosureLeaseAdditionalInformationDetails">
        <link:definition>41204 - Disclosure - LEASE - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20221231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20221231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20221231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20221231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2022" schemaLocation="https://xbrl.sec.gov/country/2022/country-2022.xsd" />
  <xsd:element id="csiq_AdvancesOnInventoryPurchasesNonCurrent" name="AdvancesOnInventoryPurchasesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="AdvancesToSuppliersPolicyTextBlock" id="csiq_AdvancesToSuppliersPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForAdvancesToSuppliersMember" id="csiq_AllowanceForAdvancesToSuppliersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AmericaMember" id="csiq_AmericaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" id="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" id="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AssetsAcquisitionPolicyTextBlock" id="csiq_AssetsAcquisitionPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarEMEAGmbHMember" id="csiq_CanadianSolarEMEAGmbHMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarInternationalLtdMember" id="csiq_CanadianSolarInternationalLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarJapanKKMember" id="csiq_CanadianSolarJapanKKMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarSolutionsIncMember" id="csiq_CanadianSolarSolutionsIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarUSAIncMember" id="csiq_CanadianSolarUSAIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ChineseCommercialBanksMember" id="csiq_ChineseCommercialBanksMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAmount" id="csiq_DefinedContributionPlanEmployerContributionAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" id="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCurrencyRiskPolicyTextBlock" id="csiq_ForeignCurrencyRiskPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxAdditionalDisclosureAbstract" id="csiq_IncomeTaxAdditionalDisclosureAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayAbstract" id="csiq_IncomeTaxHolidayAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" id="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" id="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesForeignCorporateTaxRate" id="csiq_IncomeTaxesForeignCorporateTaxRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesLineItems" id="csiq_IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesTable" id="csiq_IncomeTaxesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncreaseDecreaseInAdvanceToSuppliers" id="csiq_IncreaseDecreaseInAdvanceToSuppliers" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="IncreaseDecreaseInProjectAssets" id="csiq_IncreaseDecreaseInProjectAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="InsurancePolicyTerm" id="csiq_InsurancePolicyTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="InsurancePremiumUnamortizedAmountNoncurrent" id="csiq_InsurancePremiumUnamortizedAmountNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="csiq_InterestCostsCapitalizedProjectAssets" name="InterestCostsCapitalizedProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" name="InterestCostsCapitalizedPropertyPlantAndEquipment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" name="LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" name="LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomersDisclosureAbstract" id="csiq_MajorCustomersDisclosureAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomersDisclosureTextBlock" id="csiq_MajorCustomersDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" id="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="NonBindingLineOfCreditMember" id="csiq_NonBindingLineOfCreditMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NumberOfBoardMembers" name="NumberOfBoardMembers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="NumberOfBoardMembersDesignatedByTheAcquiredEntity" id="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OperatingLossCarryforwardsSubjectToExpiration" name="OperatingLossCarryforwardsSubjectToExpiration" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="OtherCountriesAmericaMember" id="csiq_OtherCountriesAmericaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherCountriesAsiaMember" id="csiq_OtherCountriesAsiaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherCountriesEuropeMember" id="csiq_OtherCountriesEuropeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherEquityMethodInvesteesMember" id="csiq_OtherEquityMethodInvesteesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherJurisdictionsMember" id="csiq_OtherJurisdictionsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherNoncurrentAssetsAdjustment" id="csiq_OtherNoncurrentAssetsAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="csiq_PledgedAssetsNotSeparatelyReportedInventory" name="PledgedAssetsNotSeparatelyReportedInventory" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" name="PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="PreferentialWithholdingTaxRate" id="csiq_PreferentialWithholdingTaxRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ProductWarrantyAccrualRateForSalesOfSolarModules" id="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ProjectAssetsAbstract" id="csiq_ProjectAssetsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProjectAssetsImpairmentCharge" name="ProjectAssetsImpairmentCharge" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element name="ProjectAssetsPlantsAndLand" id="csiq_ProjectAssetsPlantsAndLand" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" id="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="csiq_ProjectAssetsPlantsAndLandCurrentPortion" name="ProjectAssetsPlantsAndLandCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" name="ProjectAssetsPlantsAndLandNonCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element name="ProjectAssetsPolicyTextBlock" id="csiq_ProjectAssetsPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PropertyPlantAndEquipmentExcludingConstructionInProgressNet" id="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" id="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfInterestExpenseTableTextBlock" id="csiq_ScheduleOfInterestExpenseTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" id="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfProjectAssetsTableTextBlock" id="csiq_ScheduleOfProjectAssetsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SecuredShortTermDebt" id="csiq_SecuredShortTermDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermNotesPayableTextBlock" id="csiq_ShortTermNotesPayableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_StandardProductWarrantyPeriod" name="StandardProductWarrantyPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="StockOptionsAndRestrictedStockUnitsMember" id="csiq_StockOptionsAndRestrictedStockUnitsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" id="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" name="ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element name="ValuationAllowancesAndReservesForeignExchangeEffect" id="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" id="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_AllowanceForOtherReceivablesMember" name="AllowanceForOtherReceivablesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProjectAssetsDisclosureTextBlock" name="ProjectAssetsDisclosureTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_ConvertibleNotesDisclosureAbstract" name="ConvertibleNotesDisclosureAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ConvertibleNotesDisclosureTextBlock" name="ConvertibleNotesDisclosureTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromConvertibleDebtInitialIssuance" name="ProceedsFromConvertibleDebtInitialIssuance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" name="DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" name="ProceedsFromConvertibleDebtAdditionalIssuance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" name="DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_EquityMethodInvestmentOwnershipPercentageSold" name="EquityMethodInvestmentOwnershipPercentageSold" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" name="DeferredTaxAssetsRelatedToSaleOfProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_StandardSolarModuleMember" name="StandardSolarModuleMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" name="PledgedAssetsNotSeparatelyReportedRestrictedCash" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_PledgedEquityNotSeparatelyReported" name="PledgedEquityNotSeparatelyReported" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" name="CanadianSolarManufacturingThailandCo.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_DerivativesAssetsCurrentMember" name="DerivativesAssetsCurrentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_DerivativesLiabilitiesCurrentMember" name="DerivativesLiabilitiesCurrentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerSystems" name="SolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_PaymentsToAcquireSolarPowerSystems" name="PaymentsToAcquireSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_SolarPowerSystemsPolicyPolicyTextBlock" name="SolarPowerSystemsPolicyPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerSystemsAbstract" name="SolarPowerSystemsAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerSystemsTextBlock" name="SolarPowerSystemsTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_DeferredTaxAssetsFutureDeductibleExpenses" name="DeferredTaxAssetsFutureDeductibleExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" name="ScheduleOfSolarPowerSystemsComponentsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" name="AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_DecreaseOfNetAssets" name="DecreaseOfNetAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_PropertyAndEquipmentPurchaseCommitmentMember" name="PropertyAndEquipmentPurchaseCommitmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" name="CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_DebtInstrumentInterestRateFloatingPercentage" name="DebtInstrumentInterestRateFloatingPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" />
  <xsd:element id="csiq_DebtSecuredByPropertyPlantAndEquipmentMember" name="DebtSecuredByPropertyPlantAndEquipmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarProjectKKMember" name="CanadianSolarProjectKKMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ServiceRevenueFromRelatedParty" name="ServiceRevenueFromRelatedParty" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_UnrealizedGainLossFromSalesToInvestees" name="UnrealizedGainLossFromSalesToInvestees" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_SolarPowerSystemsReclassifiedToProjectAssets" name="SolarPowerSystemsReclassifiedToProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_EquityIncomeLossFromSubsidiaries" name="EquityIncomeLossFromSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_IncreaseDecreaseInValueAddedTaxReceivable" name="IncreaseDecreaseInValueAddedTaxReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" name="IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" name="OtherOperatingIncomeExpensePolicyPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" name="ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" name="OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" name="CanadianSolarSunenergyBaotouCo.Ltd.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" name="GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" name="ProceedsFromSaleOrDisposalOfSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" name="DeferredTaxLiabilitiesInsuranceRecoverable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" name="PledgedAssetsNotSeparatelyReportedAccountsReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" name="EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_PaymentsForProceedsFromLoansToSubsidiaries" name="PaymentsForProceedsFromLoansToSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_RecurrentEnergyGroupInc.Member" name="RecurrentEnergyGroupInc.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_CanadianSolarInfrastructureFundIncMember" name="CanadianSolarInfrastructureFundIncMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OMServiceMember" name="OMServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SuzhouIsilverMaterialsMember" name="SuzhouIsilverMaterialsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SuzhouKzoneEquipmentTechnologyMember" name="SuzhouKzoneEquipmentTechnologyMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" name="AssetsHeldForSaleNumberOfSolarPowerPlantsSold" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_FinancingLiabilitiesNonCurrent" name="FinancingLiabilitiesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_PurchaseOfUnitsPercentage" name="PurchaseOfUnitsPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" name="NumberOfBoardOfInvestmentCertificatesTaxExemption" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_AssetManagementServiceMember" name="AssetManagementServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" name="NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_SalesRevenueAbstract" name="SalesRevenueAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" name="OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_DeferredTaxAssetsInterestLimitation" name="DeferredTaxAssetsInterestLimitation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" name="ShippingsAndHandlingCostPolicyPolicyTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_MaterialAndWorkmanShipMember" name="MaterialAndWorkmanShipMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_EightyPercentInitialPowerCapacityMember" name="EightyPercentInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NinetySevenPercentInitialPowerCapacityMember" name="NinetySevenPercentInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_NinetyThreeInitialPowerCapacityMember" name="NinetyThreeInitialPowerCapacityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_BankBorrowingsMember" name="BankBorrowingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroSolarHoldingS.aMember" name="SalgueiroSolarHoldingS.aMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_JaibaSolarHoldingS.a.Member" name="JaibaSolarHoldingS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_FranciscoSaSolarHoldingS.a.Member" name="FranciscoSaSolarHoldingS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LavraSolarHoldingS.a.Member" name="LavraSolarHoldingS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_InvestmentInSubsidiaries" name="InvestmentInSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_PaymentsToAcquireSubsidiaries" name="PaymentsToAcquireSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" name="LuoyangJiwaNewMaterialTechnologyCo.LtdMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_UnrecognizedTaxStatueOfLimitationsExpirations" name="UnrecognizedTaxStatueOfLimitationsExpirations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_ShortTermNotesPayable" name="ShortTermNotesPayable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueYearTwo" name="LesseeLiabilityPaymentsDueYearTwo" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" name="LesseeLiabilityPaymentsDueNextTwelveMonths" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueYearThree" name="LesseeLiabilityPaymentsDueYearThree" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueYearFour" name="LesseeLiabilityPaymentsDueYearFour" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueYearFive" name="LesseeLiabilityPaymentsDueYearFive" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDueAfterYearFive" name="LesseeLiabilityPaymentsDueAfterYearFive" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityPaymentsDue" name="LesseeLiabilityPaymentsDue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LesseeLiabilityUndiscountedExcessAmount" name="LesseeLiabilityUndiscountedExcessAmount" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LeaseLiability" name="LeaseLiability" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LeaseLiabilityCurrent" name="LeaseLiabilityCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LeaseLiabilityNoncurrent" name="LeaseLiabilityNoncurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" name="LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" name="ScheduleOfEffectiveInterestRatesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_BifacialModuleAndDoubleGlassModuleMember" name="BifacialModuleAndDoubleGlassModuleMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProjectAssets" name="ProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_NonCashOperatingLeaseExpenses" name="NonCashOperatingLeaseExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" name="PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_SolarPowerSystemCommitmentsMember" name="SolarPowerSystemCommitmentsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_InvestmentInAffiliates" name="InvestmentInAffiliates" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_ContractLiabilitiesOtherCurrentLiabilities" name="ContractLiabilitiesOtherCurrentLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_PaymentsToAcquireAffiliates" name="PaymentsToAcquireAffiliates" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" name="PaymentsForFinancingCashFlowsFromFinanceLease" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_CanadianSolarEmployeesMember" name="CanadianSolarEmployeesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SixthAdministrativeReviewOfSolarOneMember" name="SixthAdministrativeReviewOfSolarOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap" name="DerecognitionOfCommodityHedgeAndInterestRateSwap" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_CanadianSolarMember" name="CanadianSolarMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_PercentageOfDiscountOnIssueOfShares" name="PercentageOfDiscountOnIssueOfShares" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_PremiumDiscountOnIssueOfShares" name="PremiumDiscountOnIssueOfShares" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="csiq_OtherPayablesMember" name="OtherPayablesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromSubscriptionAdvances" name="ProceedsFromSubscriptionAdvances" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_AdvancesToSuppliersAndOtherReceivableMember" name="AdvancesToSuppliersAndOtherReceivableMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIRenewableEnergyS.aMember" name="SalgueiroIRenewableEnergyS.aMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIiRenewableEnergyS.a.Member" name="SalgueiroIiRenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_WorkingCapitalFacilityMember" name="WorkingCapitalFacilityMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SalgueiroIiiRenewableEnergyS.a.Member" name="SalgueiroIiiRenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_Jaiba3RenewableEnergyS.a.Member" name="Jaiba3RenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_Jaiba9RenewableEnergyS.a.Member" name="Jaiba9RenewableEnergyS.a.Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LavrasSolarHoldingS.aMember" name="LavrasSolarHoldingS.aMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" name="LeadingInstitutionalInvestorsAndStrategicPartnersMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" name="ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_CsiSolarSegmentMember" name="CsiSolarSegmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_GlobalEnergySegmentMember" name="GlobalEnergySegmentMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SeriesOfIndividuallyImmaterialCountriesMember" name="SeriesOfIndividuallyImmaterialCountriesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_EliminationsAndReconcilingItemsMember" name="EliminationsAndReconcilingItemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_FinishedGoodsModules" name="FinishedGoodsModules" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" name="LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" name="RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="csiq_SolarModulesMember" name="SolarModulesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OtherCsiSolarProductsMember" name="OtherCsiSolarProductsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarSystemKitsProductMember" name="SolarSystemKitsProductMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarPowerProjectsMember" name="SolarPowerProjectsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_OmAndAssetManagementServicesMember" name="OmAndAssetManagementServicesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" name="SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" name="SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" name="LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="csiq_SaleLeasebackTransactionProceedsFinancingActivities" name="SaleLeasebackTransactionProceedsFinancingActivities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element name="ScheduleOfElectricityRevenueTableTextBlock" id="csiq_ScheduleOfElectricityRevenueTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="IncreaseDecreaseInDepreciationExpense" id="csiq_IncreaseDecreaseInDepreciationExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ReCrimsonHoldingsLlcMember" id="csiq_ReCrimsonHoldingsLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfUnitsPurchased" id="csiq_NumberOfUnitsPurchased" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" id="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AzumaKofujiDaiichiHatsudenshoG.k.Member" id="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarSpainSociedadLimitadaMember" id="csiq_CanadianSolarSpainSociedadLimitadaMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarSunenergyJiaxingCo.LtdMember" id="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="InsuranceClaimsOrWeatherRelatedProjectDamages" id="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SupplierMember" id="csiq_SupplierMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SupplierBMember" id="csiq_SupplierBMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AmountOfPerformanceBasedEnergyIncentives" id="csiq_AmountOfPerformanceBasedEnergyIncentives" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" id="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="HorusSolarS.a.DeCapitalVariableMember" id="csiq_HorusSolarS.a.DeCapitalVariableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIRenewableEnergyS.a.Member" id="csiq_FranciscoSaIRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIiRenewableEnergyS.a.Member" id="csiq_FranciscoSaIiRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FranciscoSaIiiRenewableEnergyS.a.Member" id="csiq_FranciscoSaIiiRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasISolarRenewableEnergyS.a.Member" id="csiq_LavrasISolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIiSolarRenewableEnergyS.a.Member" id="csiq_LavrasIiSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIiiSolarRenewableEnergyS.a.Member" id="csiq_LavrasIiiSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasIvSolarRenewableEnergyS.a.Member" id="csiq_LavrasIvSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LavrasVSolarRenewableEnergyS.a.Member" id="csiq_LavrasVSolarRenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SonoranWestSolarHoldingsLlcMember" id="csiq_SonoranWestSolarHoldingsLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SonoranWestSolarHoldings2LlcMember" id="csiq_SonoranWestSolarHoldings2LlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="YanchengJiwaNewMaterialTechnologyCo.LtdMember" id="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SharePurchaseProceedsFromThirdPartyInvestors" id="csiq_SharePurchaseProceedsFromThirdPartyInvestors" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SupplierCMember" id="csiq_SupplierCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="JushengSuzhouSolarTechCo.LtdMember" id="csiq_JushengSuzhouSolarTechCo.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfOtherParticipatingFinancialInstitutions" id="csiq_NumberOfOtherParticipatingFinancialInstitutions" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" id="csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FourJapaneseSubsidiariesMember" id="csiq_FourJapaneseSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" id="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="ProceedsFromLoansFromSubsidiaries" id="csiq_ProceedsFromLoansFromSubsidiaries" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="FirstAdministrativeReviewOfSolarOneMember" id="csiq_FirstAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SecondAdministrativeReviewOfSolarOneMember" id="csiq_SecondAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ThirdAdministrativeReviewOfSolarOneMember" id="csiq_ThirdAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FourthAdministrativeReviewOfSolarOneMember" id="csiq_FourthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FifthAdministrativeReviewOfSolarOneMember" id="csiq_FifthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SeventhAdministrativeReviewOfSolarOneMember" id="csiq_SeventhAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SubscriptionAdvances" id="csiq_SubscriptionAdvances" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="UnusualOrInfrequentItemPolicyTextBlock" id="csiq_UnusualOrInfrequentItemPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OtherGlobalEnergyProductsIncludesElectricitySalesMember" id="csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AdditionalAmountDrawnOfUnderBorrowing" id="csiq_AdditionalAmountDrawnOfUnderBorrowing" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AmountOfDevelopmentLoan" id="csiq_AmountOfDevelopmentLoan" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="TotalAmountOfMatures" id="csiq_TotalAmountOfMatures" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="ShortTermNotePayableMember" id="csiq_ShortTermNotePayableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" id="csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ProceedsFromPaymentsToMinorityShareHolder" id="csiq_ProceedsFromPaymentsToMinorityShareHolder" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SuzhouZhuoshengVentureInvestmentFundLlpMember" id="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="PledgedAssetsNotSeparatelyReportedProjectAssets" id="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="PledgedAssetsSolarPowerSystems" id="csiq_PledgedAssetsSolarPowerSystems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CanadianSolarSsesUsIncMember" id="csiq_CanadianSolarSsesUsIncMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="InterestCostsCapitalizedSolarPowerSystemNet" id="csiq_InterestCostsCapitalizedSolarPowerSystemNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="Jaiba4RenewableEnergyS.a.Member" id="csiq_Jaiba4RenewableEnergyS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RepaymentOfLoanFromSubsidiaries" id="csiq_RepaymentOfLoanFromSubsidiaries" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="UtilityScaleBatteryStorageMember" id="csiq_UtilityScaleBatteryStorageMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ResidentialBatteryStorageMember" id="csiq_ResidentialBatteryStorageMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SeventhAdministrativeReviewOfSolarTwoMember" id="csiq_SeventhAdministrativeReviewOfSolarTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EighthAdministrativeReviewOfSolarOneMember" id="csiq_EighthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="GovernmentGrantsCurrent" id="csiq_GovernmentGrantsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="GovernmentGrantsNonCurrent" id="csiq_GovernmentGrantsNonCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="CertainSolarModuleMember" id="csiq_CertainSolarModuleMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="BatteryStorageProductsMember" id="csiq_BatteryStorageProductsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StandardProductWarrantyExtensionPeriod" id="csiq_StandardProductWarrantyExtensionPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="SolarPowerProjectsByEpcServicesMember" id="csiq_SolarPowerProjectsByEpcServicesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" id="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="KoreanInvestorMember" id="csiq_KoreanInvestorMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarInc.Member" id="csiq_CanadianSolarInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ChineseInvestorMember" id="csiq_ChineseInvestorMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianInfrastructureFundMember" id="csiq_CanadianInfrastructureFundMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShortTermBorrowingsOnProjectAssets" id="csiq_ShortTermBorrowingsOnProjectAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LongTermBorrowingsOnProjectAssets" id="csiq_LongTermBorrowingsOnProjectAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LoanFacilityMember" id="csiq_LoanFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="Tranche1LoanFacilityMember" id="csiq_Tranche1LoanFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="Tranche2LoanFacilityMember" id="csiq_Tranche2LoanFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="MezzanineLoanFacilityMember" id="csiq_MezzanineLoanFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AmountOfAvailableCommitmentCancelled" id="csiq_AmountOfAvailableCommitmentCancelled" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SunmexRenovablesS.a.DeC.v.Member" id="csiq_SunmexRenovablesS.a.DeC.v.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TermLoanMember" id="csiq_TermLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="BrazilianSubsidiariesMember" id="csiq_BrazilianSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FinancingFacilityMember" id="csiq_FinancingFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiCellsYanchengCo.Ltd.Member" id="csiq_CsiCellsYanchengCo.Ltd.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" id="csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SolarPowerSystemsGross" id="csiq_SolarPowerSystemsGross" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="SuzhouFinancialLeasingCo.Ltd.Member" id="csiq_SuzhouFinancialLeasingCo.Ltd.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SolarProjectMember" id="csiq_SolarProjectMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LandUseRightPolicyTextBlock" id="csiq_LandUseRightPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="OperatingLeaseRightOfUseAssetExcludingLandUseRights" id="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LandUseRightsNet" id="csiq_LandUseRightsNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" id="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="PledgedAssetsNotSeparatelyReportedLandUseRights" id="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CanadianSolarEnergyHoldingSingaporePte.LtdMember" id="csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CanadianSolarEmeaCapitalMarketsS.a.uMember" id="csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NinthAndTenthAdministrativeReviewOfSolarOneMember" id="csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EighthAdministrativeReviewOfSolarTwoMember" id="csiq_EighthAdministrativeReviewOfSolarTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539757536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information [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_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001375877<span></span>
</td>
</tr>
<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_DocumentType', window );">Document Type</a></td>
<td class="text">20-F<span></span>
</td>
</tr>
<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_DocumentRegistrationStatement', window );">Document Registration Statement</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
</tr>
<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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentShellCompanyReport', window );">Document Shell Company Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2022<span></span>
</td>
</tr>
<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-33107<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CANADIAN SOLAR&#160;INC.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">A6<span></span>
</td>
</tr>
<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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<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>
</tr>
<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">N1K&#160;1E6<span></span>
</td>
</tr>
<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 shares with no par value<span></span>
</td>
</tr>
<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">CSIQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
</tr>
<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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<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_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
</tr>
<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>
</tr>
<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>
</tr>
<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">Large Accelerated Filer<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAccountingStandard', window );">Document Accounting Standard</a></td>
<td class="text">U.S. GAAP<span></span>
</td>
</tr>
<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>
</tr>
<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="nump">64,506,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_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2022<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
</tr>
<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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<span></span>
</td>
</tr>
<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_AuditorName', window );">Auditor Name</a></td>
<td class="text">Deloitte Touche Tohmatsu Certified Public Accountants LLP<span></span>
</td>
</tr>
<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Shanghai, China<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">1113<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_EntityAddressesAddressTypeAxis=dei_BusinessContactMember', window );">Business Contact</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_dei_DocumentInformationLineItems', window );"><strong>Document Information [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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<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>
</tr>
<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">N1K&#160;1E6<span></span>
</td>
</tr>
<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_ContactPersonnelName', window );">Contact Personnel Name</a></td>
<td class="text">Huifeng Chang<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">1-519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">837-1881<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_ContactPersonnelName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contact personnel</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ContactPersonnelName</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_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_DocumentAccountingStandard">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<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 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAccountingStandard</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:accountingStandardItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentRegistrationStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 registration statement.</p></div>
<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentRegistrationStatement</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_DocumentShellCompanyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for a Shell Company Report pursuant to section 13 or 15(d) 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 Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentShellCompanyReport</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_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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EntityAddressesAddressTypeAxis=dei_BusinessContactMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>23
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539918512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 981,434<span></span>
</td>
<td class="nump">$ 869,831<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash</a></td>
<td class="nump">978,116<span></span>
</td>
<td class="nump">560,633<span></span>
</td>
</tr>
<tr class="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 trade, net</a></td>
<td class="nump">970,950<span></span>
</td>
<td class="nump">651,372<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Accounts receivable, unbilled</a></td>
<td class="nump">57,770<span></span>
</td>
<td class="nump">37,244<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="nump">48,614<span></span>
</td>
<td class="nump">73,042<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">1,524,095<span></span>
</td>
<td class="nump">1,192,374<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValueAddedTaxReceivableCurrent', window );">Value added tax recoverable</a></td>
<td class="nump">158,773<span></span>
</td>
<td class="nump">125,882<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers, net</a></td>
<td class="nump">253,484<span></span>
</td>
<td class="nump">225,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">17,516<span></span>
</td>
<td class="nump">7,286<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion', window );">Project assets</a></td>
<td class="nump">385,964<span></span>
</td>
<td class="nump">594,107<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">267,941<span></span>
</td>
<td class="nump">434,177<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">5,644,657<span></span>
</td>
<td class="nump">4,771,827<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash</a></td>
<td class="nump">9,953<span></span>
</td>
<td class="nump">3,818<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">1,826,643<span></span>
</td>
<td class="nump">1,401,877<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_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">364,816<span></span>
</td>
<td class="nump">108,263<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">229,226<span></span>
</td>
<td class="nump">236,503<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_csiq_AdvancesOnInventoryPurchasesNonCurrent', window );">Advances to suppliers, net</a></td>
<td class="nump">65,352<span></span>
</td>
<td class="nump">34,239<span></span>
</td>
</tr>
<tr class="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 );">Investments in affiliates</a></td>
<td class="nump">115,784<span></span>
</td>
<td class="nump">98,819<span></span>
</td>
</tr>
<tr class="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 );">Intangible assets, net</a></td>
<td class="nump">17,530<span></span>
</td>
<td class="nump">18,992<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion', window );">Project assets</a></td>
<td class="nump">438,529<span></span>
</td>
<td class="nump">433,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_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">103,600<span></span>
</td>
<td class="nump">106,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesNoncurrent', window );">Amount due from related parties</a></td>
<td class="nump">33,489<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">187,549<span></span>
</td>
<td class="nump">174,453<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">9,037,128<span></span>
</td>
<td class="nump">7,388,342<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">1,443,816<span></span>
</td>
<td class="nump">1,592,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_AccountsPayableTradeCurrent', window );">Accounts payable</a></td>
<td class="nump">805,300<span></span>
</td>
<td class="nump">502,995<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_csiq_ShortTermNotesPayable', window );">Short-term notes payable</a></td>
<td class="nump">1,493,399<span></span>
</td>
<td class="nump">881,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_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">143<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableOtherCurrent', window );">Other payables</a></td>
<td class="nump">853,040<span></span>
</td>
<td class="nump">667,854<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">334,943<span></span>
</td>
<td class="nump">135,512<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">25,359<span></span>
</td>
<td class="nump">2,622<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">9,810<span></span>
</td>
<td class="nump">12,185<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">293,012<span></span>
</td>
<td class="nump">242,783<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">5,258,768<span></span>
</td>
<td class="nump">4,038,148<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">813,406<span></span>
</td>
<td class="nump">523,634<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayable', window );">Convertible notes</a></td>
<td class="nump">225,977<span></span>
</td>
<td class="nump">224,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">5,730<span></span>
</td>
<td class="nump">7,448<span></span>
</td>
</tr>
<tr class="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 tax liabilities</a></td>
<td class="nump">66,630<span></span>
</td>
<td class="nump">48,150<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Loss contingency accruals</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">15,148<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">25,714<span></span>
</td>
<td class="nump">23,215<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_csiq_FinancingLiabilitiesNonCurrent', window );">Financing liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,641<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">329,209<span></span>
</td>
<td class="nump">327,845<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">6,730,434<span></span>
</td>
<td class="nump">5,261,904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 21)</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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>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 shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively</a></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">835,543<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,127<span></span>
</td>
<td class="num">(19,428)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,275,520<span></span>
</td>
<td class="nump">1,035,552<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(170,551)<span></span>
</td>
<td class="num">(50,584)<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 Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,941,639<span></span>
</td>
<td class="nump">1,801,083<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">365,055<span></span>
</td>
<td class="nump">325,355<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 EQUITY</a></td>
<td class="nump">2,306,694<span></span>
</td>
<td class="nump">2,126,438<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 EQUITY</a></td>
<td class="nump">$ 9,037,128<span></span>
</td>
<td class="nump">$ 7,388,342<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdvancesOnInventoryPurchasesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capitalized payments made in advance for inventory that is expected to be received 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesOnInventoryPurchasesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_FinancingLiabilitiesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 financing liabilities 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinancingLiabilitiesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandNonCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ShortTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowings classified s short term notes payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableOtherCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableOtherCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvancesOnInventoryPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvancesOnInventoryPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401414&amp;loc=d3e603758-122996<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DerivativeAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date, which are usually due after one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss contingency liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14615-108349<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValueAddedTaxReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValueAddedTaxReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>24
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536800496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONSOLIDATED BALANCE SHEETS</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_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>25
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539798992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_csiq_SalesRevenueAbstract', window );"><strong>Net revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
<td class="nump">689,914<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">558,926<span></span>
</td>
<td class="nump">398,650<span></span>
</td>
<td class="nump">224,243<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">342,129<span></span>
</td>
<td class="nump">308,942<span></span>
</td>
<td class="nump">225,597<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">69,822<span></span>
</td>
<td class="nump">58,407<span></span>
</td>
<td class="nump">45,167<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
<td class="num">(25,523)<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 expense</a></td>
<td class="nump">907,075<span></span>
</td>
<td class="nump">718,931<span></span>
</td>
<td class="nump">469,484<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 );">Income from operations</a></td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
<td class="nump">220,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(74,266)<span></span>
</td>
<td class="num">(58,153)<span></span>
</td>
<td class="num">(71,874)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">40,615<span></span>
</td>
<td class="nump">11,051<span></span>
</td>
<td class="nump">9,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Gain (loss) on change in fair value of derivatives, net</a></td>
<td class="num">(44,489)<span></span>
</td>
<td class="nump">23,785<span></span>
</td>
<td class="nump">50,001<span></span>
</td>
</tr>
<tr class="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 );">Foreign exchange gain (loss), net</a></td>
<td class="nump">77,689<span></span>
</td>
<td class="num">(47,234)<span></span>
</td>
<td class="num">(64,820)<span></span>
</td>
</tr>
<tr class="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 );">Investment income (loss), net</a></td>
<td class="nump">858<span></span>
</td>
<td class="nump">18,634<span></span>
</td>
<td class="num">(8,559)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income (expense)</a></td>
<td class="nump">407<span></span>
</td>
<td class="num">(51,917)<span></span>
</td>
<td class="num">(85,946)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">356,468<span></span>
</td>
<td class="nump">138,464<span></span>
</td>
<td class="nump">134,484<span></span>
</td>
</tr>
<tr class="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 benefit (expense)</a></td>
<td class="num">(73,353)<span></span>
</td>
<td class="num">(35,844)<span></span>
</td>
<td class="nump">1,983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings of affiliates</a></td>
<td class="nump">15,440<span></span>
</td>
<td class="nump">7,256<span></span>
</td>
<td class="nump">10,779<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</a></td>
<td class="nump">298,555<span></span>
</td>
<td class="nump">109,876<span></span>
</td>
<td class="nump">147,246<span></span>
</td>
</tr>
<tr class="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="nump">58,587<span></span>
</td>
<td class="nump">14,628<span></span>
</td>
<td class="nump">543<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
</tr>
<tr class="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 );">Earnings per share - basic</a></td>
<td class="nump">$ 3.73<span></span>
</td>
<td class="nump">$ 1.55<span></span>
</td>
<td class="nump">$ 2.46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Shares used in computation - basic</a></td>
<td class="nump">64,324,558<span></span>
</td>
<td class="nump">61,614,391<span></span>
</td>
<td class="nump">59,575,898<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per share - diluted</a></td>
<td class="nump">$ 3.44<span></span>
</td>
<td class="nump">$ 1.46<span></span>
</td>
<td class="nump">$ 2.38<span></span>
</td>
</tr>
<tr class="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 );">Shares used in computation - diluted</a></td>
<td class="nump">71,183,135<span></span>
</td>
<td class="nump">68,872,102<span></span>
</td>
<td class="nump">62,306,819<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SalesRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>n/a</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SalesRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CostOfGoodsAndServicesSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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 foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539868128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(150,127)<span></span>
</td>
<td class="num">(26,296)<span></span>
</td>
<td class="nump">76,188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax', window );">Gain on changes in fair value of available-for-sale debt securities, net of tax of nil, nil and $487 for the years ended December 31, 2020, 2021 and 2022, respectively</a></td>
<td class="nump">904<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_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax', window );">Gain (loss) on interest rate swap, net of tax of nil, $20 and $239 for the years ended December 31, 2020, 2021 and 2022, respectively</a></td>
<td class="nump">716<span></span>
</td>
<td class="nump">59<span></span>
</td>
<td class="num">(4,115)<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_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of interest rate swap, net of tax of nil for the year ended December 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax', window );">Share of gain on changes in fair value of derivatives of affiliate, net of tax of nil for the year ended December 31, 2022</a></td>
<td class="nump">3,754<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">153,802<span></span>
</td>
<td class="nump">83,639<span></span>
</td>
<td class="nump">230,043<span></span>
</td>
</tr>
<tr class="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 );">Less: comprehensive income attributable to non-controlling interests</a></td>
<td class="nump">34,345<span></span>
</td>
<td class="nump">10,296<span></span>
</td>
<td class="nump">2,412<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 Canadian Solar Inc.</a></td>
<td class="nump">$ 119,457<span></span>
</td>
<td class="nump">$ 73,343<span></span>
</td>
<td class="nump">$ 227,631<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4613674-111683<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, before 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (dd)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=121577181&amp;loc=SL110061190-113977<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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>27
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530279120">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Shares</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Earnings Attributable to Canadian Solar Inc.</div></th>
<th class="th"><div>Non-Controlling Interests</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 );">Balance at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 703,806<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,179<span></span>
</td>
<td class="nump">$ 793,601<span></span>
</td>
<td class="num">$ (109,607)<span></span>
</td>
<td class="nump">$ 1,393,134<span></span>
</td>
<td class="nump">$ 31,924<span></span>
</td>
<td class="nump">$ 1,425,058<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_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TreasuryStockCommonValue', window );">Treasury stock, balance at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TreasuryStockCommonShares', window );">Treasury stock, balance (in shares) at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">609,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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">146,703<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
<td class="nump">543<span></span>
</td>
<td class="nump">147,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">74,319<span></span>
</td>
<td class="nump">74,319<span></span>
</td>
<td class="nump">1,869<span></span>
</td>
<td class="nump">76,188<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition of non-controlling interest's ownership</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,414)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common shares</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,963)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common shares (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">(381,330)<span></span>
</td>
<td class="nump">381,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Transfer of equity interest in subsidiaries to non-controlling shareholders</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,351)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,351)<span></span>
</td>
<td class="nump">273,904<span></span>
</td>
<td class="nump">224,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options and RSUs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,035<span></span>
</td>
<td class="text">&#160;<span></span>
</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,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="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 );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">830,030<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TreasuryStockSharesRetired', window );">Retirement of treasury stock (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(990,846)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TreasuryStockRetiredCostMethodAmount', window );">Retirement of treasury stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="num">$ (17,808)<span></span>
</td>
<td class="nump">$ 17,808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,724<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,123<span></span>
</td>
<td class="nump">14,123<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
<td class="num">(4,115)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,115)<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 );">Balance at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 687,033<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,236)<span></span>
</td>
<td class="nump">940,304<span></span>
</td>
<td class="num">(28,679)<span></span>
</td>
<td class="nump">1,570,422<span></span>
</td>
<td class="nump">322,363<span></span>
</td>
<td class="nump">1,892,785<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_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">59,820,384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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">95,248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
<td class="nump">14,628<span></span>
</td>
<td class="nump">109,876<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(21,964)<span></span>
</td>
<td class="num">(21,964)<span></span>
</td>
<td class="num">(4,332)<span></span>
</td>
<td class="num">(26,296)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition of non-controlling interest's ownership</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,719)<span></span>
</td>
<td class="num">(10,719)<span></span>
</td>
</tr>
<tr class="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 );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">562,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of ordinary shares, net of issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</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">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
</tr>
<tr class="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 );">Issuance of ordinary shares, net of issuance costs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">3,639,918<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,003<span></span>
</td>
<td class="nump">10,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee', window );">Disposal of subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,588)<span></span>
</td>
<td class="num">(6,588)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">59<span></span>
</td>
<td class="nump">59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59<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 );">Balance at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 835,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19,428)<span></span>
</td>
<td class="nump">1,035,552<span></span>
</td>
<td class="num">(50,584)<span></span>
</td>
<td class="nump">1,801,083<span></span>
</td>
<td class="nump">325,355<span></span>
</td>
<td class="nump">$ 2,126,438<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_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">64,022,678<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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">239,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">58,587<span></span>
</td>
<td class="nump">$ 298,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(125,885)<span></span>
</td>
<td class="num">(125,885)<span></span>
</td>
<td class="num">(24,242)<span></span>
</td>
<td class="num">(150,127)<span></span>
</td>
</tr>
<tr class="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 );">Share-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Transfer of equity interest in subsidiaries to non-controlling shareholders</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">544<span></span>
</td>
<td class="nump">11,729<span></span>
</td>
<td class="nump">4,094<span></span>
</td>
<td class="nump">15,823<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options and RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">483,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds from non-controlling interests</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,529<span></span>
</td>
<td class="nump">2,529<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee', window );">Disposal of subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,268)<span></span>
</td>
<td class="num">(1,268)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax', window );">Fair value change of available-for-sale debt securities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">904<span></span>
</td>
<td class="nump">904<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">716<span></span>
</td>
<td class="nump">716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">716<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax', window );">Share of fair value change on derivatives of affiliates</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,754<span></span>
</td>
<td class="nump">3,754<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,754<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 );">Balance at Dec. 31, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 835,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,127<span></span>
</td>
<td class="nump">$ 1,275,520<span></span>
</td>
<td class="num">$ (170,551)<span></span>
</td>
<td class="nump">$ 1,941,639<span></span>
</td>
<td class="nump">$ 365,055<span></span>
</td>
<td class="nump">$ 2,306,694<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_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2022</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">64,506,055<span></span>
</td>
</tr>
<tr><td colspan="9"></td></tr>
<tr><td colspan="9"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board of Directors on December 9, 2019, the Company repurchased </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">91,424</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">289,906</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2,000</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$3,963</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raise of RMB</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.78</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$261,332</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd. in 2020 to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</span></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represented proceeds from &#8220;at-the-market&#8221; offering of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3,639,918</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> shares of common shares in 2021, net of commissions and offering expenses of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$1,490</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(g))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDecreaseFromRedemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4616395-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromRedemptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569655-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, before 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (dd)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=121577181&amp;loc=SL110061190-113977<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21930-107793<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21914-107793<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124442411-227067<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568740-111683<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124436220&amp;loc=d3e21711-107793<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32136-110900<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4590271-111686<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 25: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4568447-111683<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TreasuryStockRetiredCostMethodAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease of par value, additional paid in capital (APIC) and retained earnings of common and preferred stock retired from treasury when treasury stock is accounted for under the cost method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockRetiredCostMethodAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_TreasuryStockSharesRetired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and preferred stock retired from treasury during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesRetired</td>
</tr>
<tr>
<td style="padding-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>28
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538309344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)<br> $ in Thousands, &#165; in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>May 27, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>CNY (&#165;)</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_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Shares</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_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased | shares</a></td>
<td class="nump">3,639,918<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Commissions and offering expenses | $</a></td>
<td class="nump">$ 1,490<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">CSI Solar Co</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_ProceedsFromMinorityShareholders', window );">Capital raised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 261,332<span></span>
</td>
<td class="nump">&#165; 1,780<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_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>29
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530490896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to net income:</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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">234,559<span></span>
</td>
<td class="nump">282,769<span></span>
</td>
<td class="nump">209,118<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,302<span></span>
</td>
<td class="nump">1,461<span></span>
</td>
<td class="nump">388<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss (gain) on disposal of property, plant and equipment</a></td>
<td class="num">(4,259)<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="num">(253)<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_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,091)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 on disposal of investments in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,392)<span></span>
</td>
<td class="num">(13,936)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment loss of property, plant and equipment</a></td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<span></span>
</td>
<td class="nump">11,854<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_csiq_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment loss of investments in affiliates</a></td>
<td class="nump">357<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">24,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives, net</a></td>
<td class="nump">44,489<span></span>
</td>
<td class="num">(23,785)<span></span>
</td>
<td class="num">(50,001)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings of affiliates</a></td>
<td class="num">(15,440)<span></span>
</td>
<td class="num">(7,256)<span></span>
</td>
<td class="num">(10,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_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">7,615<span></span>
</td>
<td class="nump">9,874<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_csiq_NonCashOperatingLeaseExpenses', window );">Non-cash operating lease expenses</a></td>
<td class="nump">13,208<span></span>
</td>
<td class="nump">14,321<span></span>
</td>
<td class="nump">19,260<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Write-down of inventories</a></td>
<td class="nump">7,475<span></span>
</td>
<td class="nump">14,070<span></span>
</td>
<td class="nump">42,907<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_UnrealizedGainLossFromSalesToInvestees', window );">Unrealized gain (loss) from sales to affiliates</a></td>
<td class="nump">5,971<span></span>
</td>
<td class="nump">35,890<span></span>
</td>
<td class="num">(66)<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_csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap', window );">Derecognition of interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,439<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred taxes</a></td>
<td class="nump">16,908<span></span>
</td>
<td class="num">(67,386)<span></span>
</td>
<td class="num">(21,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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="num">(357,276)<span></span>
</td>
<td class="num">(284,785)<span></span>
</td>
<td class="nump">65,379<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Accounts receivable, unbilled</a></td>
<td class="num">(23,367)<span></span>
</td>
<td class="num">(8,783)<span></span>
</td>
<td class="num">(12,064)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="num">(4,451)<span></span>
</td>
<td class="num">(68,912)<span></span>
</td>
<td class="nump">26,828<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(406,343)<span></span>
</td>
<td class="num">(518,741)<span></span>
</td>
<td class="num">(180,974)<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_csiq_IncreaseDecreaseInValueAddedTaxReceivable', window );">Value added tax recoverable</a></td>
<td class="num">(43,881)<span></span>
</td>
<td class="num">(21,873)<span></span>
</td>
<td class="nump">2,687<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_csiq_IncreaseDecreaseInAdvanceToSuppliers', window );">Advances to suppliers</a></td>
<td class="num">(52,893)<span></span>
</td>
<td class="num">(30,416)<span></span>
</td>
<td class="num">(138,915)<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_csiq_IncreaseDecreaseInProjectAssets', window );">Project assets</a></td>
<td class="num">(302,839)<span></span>
</td>
<td class="num">(73,375)<span></span>
</td>
<td class="num">(443,730)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">151,663<span></span>
</td>
<td class="num">(85,754)<span></span>
</td>
<td class="num">(72,188)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="num">(17,350)<span></span>
</td>
<td class="nump">20,357<span></span>
</td>
<td class="num">(11,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_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="nump">351,535<span></span>
</td>
<td class="nump">11,023<span></span>
</td>
<td class="num">(89,180)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInNotesPayableCurrent', window );">Short-term notes payable</a></td>
<td class="nump">721,039<span></span>
</td>
<td class="nump">150,982<span></span>
</td>
<td class="nump">120,445<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="num">(54)<span></span>
</td>
<td class="num">(171)<span></span>
</td>
<td class="num">(9,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_IncreaseDecreaseInOtherAccountsPayable', window );">Other payables</a></td>
<td class="num">(417)<span></span>
</td>
<td class="nump">126,215<span></span>
</td>
<td class="nump">10,386<span></span>
</td>
</tr>
<tr class="re">
<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 );">Advances from customers</a></td>
<td class="nump">209,855<span></span>
</td>
<td class="num">(53,998)<span></span>
</td>
<td class="nump">51,683<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(14,160)<span></span>
</td>
<td class="num">(14,156)<span></span>
</td>
<td class="num">(18,917)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">68,492<span></span>
</td>
<td class="nump">51,248<span></span>
</td>
<td class="nump">160,768<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(1,718)<span></span>
</td>
<td class="num">(7,281)<span></span>
</td>
<td class="num">(623)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(31,851)<span></span>
</td>
<td class="nump">31,886<span></span>
</td>
<td class="nump">33,054<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingActivitiesCashFlowStatement', window );">Loss contingency accruals</a></td>
<td class="num">(9,625)<span></span>
</td>
<td class="num">(10,939)<span></span>
</td>
<td class="nump">1,115<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">916,631<span></span>
</td>
<td class="num">(408,254)<span></span>
</td>
<td class="num">(120,541)<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="num">(19,355)<span></span>
</td>
<td class="num">(54,004)<span></span>
</td>
<td class="num">(17,758)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital', window );">Return of capital from affiliates</a></td>
<td class="nump">7,083<span></span>
</td>
<td class="nump">2,671<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 from disposal of investments in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,311<span></span>
</td>
<td class="nump">33,037<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_csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets', window );">Purchase of property, plant and equipment</a></td>
<td class="num">(627,115)<span></span>
</td>
<td class="num">(428,725)<span></span>
</td>
<td class="num">(334,781)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from disposal of property, plant and equipment</a></td>
<td class="nump">7,479<span></span>
</td>
<td class="nump">18,555<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_csiq_PaymentsToAcquireSolarPowerSystems', window );">Purchase of solar power systems</a></td>
<td class="num">(882)<span></span>
</td>
<td class="num">(775)<span></span>
</td>
<td class="num">(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_csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems', window );">Proceeds from disposal of solar power systems</a></td>
<td class="nump">2,302<span></span>
</td>
<td class="nump">18,397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(630,488)<span></span>
</td>
<td class="num">(429,570)<span></span>
</td>
<td class="num">(319,662)<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromNotesPayable', window );">Proceeds from short-term borrowings</a></td>
<td class="nump">1,387,537<span></span>
</td>
<td class="nump">1,742,064<span></span>
</td>
<td class="nump">1,667,703<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,695,563)<span></span>
</td>
<td class="num">(1,879,884)<span></span>
</td>
<td class="num">(1,561,597)<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_csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt', window );">Proceeds from long-term borrowings</a></td>
<td class="nump">770,368<span></span>
</td>
<td class="nump">588,082<span></span>
</td>
<td class="nump">207,632<span></span>
</td>
</tr>
<tr class="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 );">Acquisition of non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,719)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Proceeds from non-controlling interests</a></td>
<td class="nump">15,109<span></span>
</td>
<td class="nump">10,003<span></span>
</td>
<td class="nump">261,332<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_csiq_ProceedsFromPaymentsToMinorityShareHolder', window );">Repayment to non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,588)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Net proceeds from issuance of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<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_csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities', window );">Proceeds from (repayment of) third party financing liabilities</a></td>
<td class="num">(29,595)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,419<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_csiq_SaleLeasebackTransactionProceedsFinancingActivities', window );">Proceeds from sales-leaseback arrangement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,693<span></span>
</td>
<td class="nump">9,945<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Repayments of finance lease obligation</a></td>
<td class="num">(19,217)<span></span>
</td>
<td class="num">(23,090)<span></span>
</td>
<td class="num">(22,173)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromConvertibleDebt', window );">Net proceeds from issuance of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">222,826<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_csiq_ProceedsFromSubscriptionAdvances', window );">Proceeds from subscription of employee stock ownership plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,342<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">428,639<span></span>
</td>
<td class="nump">614,071<span></span>
</td>
<td class="nump">823,501<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="num">(179,561)<span></span>
</td>
<td class="nump">18,320<span></span>
</td>
<td class="nump">50,997<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">535,221<span></span>
</td>
<td class="num">(205,433)<span></span>
</td>
<td class="nump">434,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">1,434,282<span></span>
</td>
<td class="nump">1,639,715<span></span>
</td>
<td class="nump">1,205,420<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,969,503<span></span>
</td>
<td class="nump">1,434,282<span></span>
</td>
<td class="nump">1,639,715<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">76,511<span></span>
</td>
<td class="nump">71,006<span></span>
</td>
<td class="nump">78,747<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid, net of tax refund</a></td>
<td class="nump">77,400<span></span>
</td>
<td class="nump">57,396<span></span>
</td>
<td class="nump">38,193<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental schedule of non-cash activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Property, plant and equipment costs included in other payables</a></td>
<td class="nump">$ 549,883<span></span>
</td>
<td class="nump">$ 299,664<span></span>
</td>
<td class="nump">$ 244,512<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 derecognition of commodity hedge and interest rate swap.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInAdvanceToSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAdvanceToSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 uncertainty liability in income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled 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;">csiq_IncreaseDecreaseInProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInValueAddedTaxReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInValueAddedTaxReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NonCashOperatingLeaseExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 non-cash operating lease expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NonCashOperatingLeaseExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and Intangible 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 solar power systems that are used in the normal conduct of business to produce solar power.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the information pertaining to Proceeds from long term borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromPaymentsToMinorityShareHolder">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents to Proceeds From Payments To Minority Share holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromPaymentsToMinorityShareHolder</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from (Repayments of) financing liabilities of third parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>It represents the proceeds from the sale or disposal of solar power systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromSubscriptionAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash inflow from subscription advances.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromSubscriptionAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SaleLeasebackTransactionProceedsFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 received by a seller-lessee in a sale-leaseback recognized in financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SaleLeasebackTransactionProceedsFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_UnrealizedGainLossFromSalesToInvestees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents amount of unrealized gain, (loss) from sales to investees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnrealizedGainLossFromSalesToInvestees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccretionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6394232&amp;loc=d3e17558-110866<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126938201&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 obligations classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 or advances to an 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080555-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536381776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfCashFlowsAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 981,434<span></span>
</td>
<td class="nump">$ 869,831<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_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash - current</a></td>
<td class="nump">978,116<span></span>
</td>
<td class="nump">560,633<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_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash - non-current</a></td>
<td class="nump">9,953<span></span>
</td>
<td class="nump">3,818<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</a></td>
<td class="nump">$ 1,969,503<span></span>
</td>
<td class="nump">$ 1,434,282<span></span>
</td>
<td class="nump">$ 1,639,715<span></span>
</td>
<td class="nump">$ 1,205,420<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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120413173&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementOfCashFlowsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfCashFlowsAbstract</td>
</tr>
<tr>
<td style="padding-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>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616163648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">ORGANIZATION AND PRINCIPAL ACTIVITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. In July 2022, CSI completed its continuance from the corporate jurisdiction under the laws of the province of British Columbia to the corporate jurisdiction under the laws of the province of Ontario pursuant to the Business Corporations Act (Ontario), or OBCA. As a result, CSI is governed by the OBCA, and its affairs are governed by its notice of articles and the articles.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) is one of the world&#8217;s largest solar technology and renewable energy companies, leading manufacturer of solar photovoltaic modules, provider of solar energy and battery storage solutions, and developer of utility-scale solar and battery storage projects. The Company&#8217;s geographic footprint is diversified, as its sales as well as development pipeline in various stages of development are located across North America, South America, Europe, South Africa, the Middle East, Australia and Asia.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#8220;MSS&#8221;) subsidiary, CSI Solar Co., Ltd., in China (&#8220;the IPO&#8221;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#8220;third-party investors&#8221;), the Company completed a capital raise in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000 on the date of transaction), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB7.50 billion (approximately $1,100,000 on the date of transaction). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500 on the date of transaction) at the same price. Total proceeds of $224,553 were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#8220;ESOP scheme&#8221;) and utilized a limited liability partnership (the &#8220;LLP&#8221;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB248 million ($36,342 on the date of transaction) at a discount of 30%, or at an equity valuation of RMB5.25 billion (approximately $768,000 on the date of transaction), for which the vesting conditions include the successful completion of the IPO and service period. The related subscription advances of $36,342 were fully received and recorded as other payables on the consolidated balance sheets, The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, nil was recognized in the years ended December 31, 2020, 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">As of December 31, 2021 and 2022, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of CSI Solar Co., Ltd. The Company&#8217;s wholly-owned global project development business, its Global Energy segment, is not a part of the IPO transaction.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;).</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_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820537900688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. The permanent equity represented by third party or affiliate interest in non-wholly owned entities that the Company consolidates is shown as non-controlling interests in equity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity, the non-controlling shareholder or partner do not hold substantive participating rights, redemption rights and no other conditions exist that would indicate that a company does not control the entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE, except for financial guarantee provided by the Company with respect to the debt obligations of the consolidated VIEs of $5,912 and $25,257 as of December 31, 2021 and 2022, respectively. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Reclassifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain prior period balances have been reclassified to conform to the current period presentation in the Company&#8217;s consolidated financial statements and the accompanying notes. Such reclassifications had no effect on previously reported results of operations or retained earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of total cost and estimates of variable consideration), allowance for credit losses on accounts receivable, advances to suppliers and other receivables, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand, money market fund and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;&#160;Allowance for credit losses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s accounts receivable trade, advances to suppliers and other receivables are presented net of an allowance for credit losses. The Company establishes current expected credit losses (&#8220;CECL&#8221;) through an assessment based on external credit rating, internal credit rating and historical loss rates of debtors. Where CECL is measured on a collective basis or caters for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of its accounts receivable trade in order to reduce its exposure to credit loss. The Company provides an allowance for accounts receivable trade considering factors such as historical collection experience, the age of the accounts receivable and other currently available evidence supporting recoverability. An allowance is recorded regardless of whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $1,409 and $1,873 as of December 31, 2021 and 2022, respectively and a corresponding reduction in general and administrative expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets consist primarily of capitalized costs relating to solar and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage project. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules, batteries storage, inverters, energy stations, power plant controllers and related equipment. Interest costs incurred on debt during the construction phase, all deferred financing costs amortized during the construction phase, and indirect project costs are also capitalized within project assets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Solar and battery storage projects are classified as project assets unless the Company has intention not to sell them to third parties. In that case, these projects that the Company intends to hold and operate to generate income from the sale or storage of electricity are classified as solar power systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar and battery storage projects as guided by ASC 970. The costs to develop or construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year are classified as project assets-current. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Otherwise, the Company considers the project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the project asset and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within cost of revenues in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets are often held in separate legal entities and VIEs which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity, the project assets will be reclassified to solar and battery storage power systems at the lower of their carrying amounts, adjusted for any depreciation expense that would have been recognized had the project assets been continuously classified as held and used, or fair value at the date of the subsequent decision not to sell.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. The Company recognizes adjustments to provisional amounts to reflect additional information obtained for incomplete facts and circumstances as of acquisition date. The measurement period ends once the Company receives sufficient information to finalize fair value, however, the period will not exceed 1 year from the acquisition date. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power systems generally comprised of ground-mounted utility-scale projects that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation. The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the power purchase agreements (&#8220;PPA&#8221;) and performance based energy incentives, permits, consents, construction costs, equipment costs, land costs, interest costs capitalized, and other costs capitalized. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems are retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change was being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1-10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;Land use rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Land use rights represent operating leases in accordance with ASC 842.  The amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) is recorded as operating lease right-of-use (&#8220;ROU&#8221;) assets on the consolidated balance sheets. Amounts are charged to earnings ratably over the land use right periods of generally </span>50 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on capital, and the rest of the amount is considered as return of capital.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2020, 2021 and 2022, the Company recorded $24,060, nil and $357 of impairment charges on its investments, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets, when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss for amount by which the carrying amount of the assets exceeds its fair value. Fair value is generally measured based on either quoted market prices, if available, or discounted cash flow analyses. The Company recorded impairment charges for long-lived assets of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sale to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company&#8217;s long-lived assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. The Company recognizes the fair value of a liability for an assets retirement obligation (&#8220;ARO&#8221;) in the period in which the obligation is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset, except in cases where the asset is depreciated over lease terms that differ from its useful life. Upon settlement of the obligation, the Company eliminates the liability and, based on actual cost to retire, may incur a gain or loss. The Company&#8217;s ARO included in solar power systems were $110 and $399 as of December 31, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception based on the relevant facts and circumstances. Operating leases are included in operating lease ROU assets and operating lease liabilities on the consolidated balance sheets. Finance leases are included in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period in which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less and do not include a purchase option or extension that is reasonably certain to be exercised are not recorded on the consolidated balance sheets, and instead the lease expense is recognized on a straight-line basis over the term of the lease.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense in the Company&#8217;s consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment loss on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer. The Company is subjected to sales taxes, goods and services taxes and value added taxes on its sales of products, and recognizes revenue net of these taxes and estimated returns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power products, including solar modules, solar system kits, inverters, accessories and materials related to solar power products are transferred at a point in time when the customers obtain control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include charges to customers for shipping and handling activities. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (ab) for the Company&#8217;s accounting policy for warranty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customers. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration solutions, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total estimated costs to determine its progress towards contract completion and to calculate the corresponding amount of revenue to recognize. The Company is also required to make estimates of revenues and costs to complete its projects. In making such estimates, significant judgment is required to evaluate the underlying assumptions, including the impact of any performance incentives, liquidated damages, and other payments to customers. If estimated total costs of any contract are greater than the estimated net revenues of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates using the cost-based input method of revenue recognition are recorded in the period in which the revisions are identified. At the inception of each contract that includes variable consideration, the Company evaluates the amount of potential payment and the likelihood that the payments will be received. The Company utilizes either the most likely amount method or expected value method to estimate the amount expected to be received based on which method best predicts the amount expected to be received. The contracts do not contain significant financing component.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Performance obligation for long term service contract, including capacity, operating system performance and battery augmentation, is accounted for separately if the performance obligation is considered to be distinct. The Company considers the performance obligation to be distinct if the customer can benefit from the good or service either on its own or together with other resources readily available to the customer, and the Company&#8217;s promise to transfer the good or service to the customer is separately identifiable from other promises in the contract. The Company generally allocates the transaction price to each performance obligation based on a relative standalone selling price basis. The Company develops assumptions that require judgment to determine the standalone selling price for each performance obligation in consideration of applicable market conditions, relevant entity-specific factors and information about the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development activities, including sourcing land, interconnection, structuring power purchase agreements, obtaining permits and other requirements) are recognized at a point in time when customers obtain control of solar power or battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customers, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operations and Maintenance (&#8220;O&amp;M&#8221;) and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performance and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company generally recognizes electricity revenue based on the price stated in the PPAs when the specific volume of electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the attached conditions have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2020, 2021 and 2022, the Company recognized performance-based energy incentives related to electricity generated of $6,628, $9,402 and $2,908, respectively, in revenue. The Company will evaluate its long-term PPAs to determine whether the PPAs should be accounted for as an operating lease. A lease is deemed to exist when a single off-taker has the ability or right to operate the solar power plant, control physical access, or is entitled to obtain substantially all the output from the facility. Variable lease payment is recognized over the term of lease as contingent rent revenue when output is delivered, whereas fixed lease payment is recognized as lease revenue on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s electricity revenue during the years ended December 31, 2020, 2021 and 2022 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electricity Revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,256</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,579</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,835</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company determined that certain PPAs are operating leases and as a result, recognizes revenue as contingent rental revenue when output is delivered. Such revenue, which is presented as electricity revenue above, amounted to $2,457, $4,940 and $4,736 for the years ended December 31, 2020, 2021 and 2022, respectively. The remaining amounts of $7,249, $24,480 and $19,099 for the years ended December 31, 2020, 2021 and 2022, respectively, are recorded in accordance with ASC 606.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2020, 2021 and 2022 has been disclosed under Segment Information. See Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,881,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,173,338</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 271,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,747</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 763,698</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,827</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2022, $219,836 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2022. Contract liabilities of $406,751 as of December 31, 2022 are expected to be realized within one year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,770</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,943</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,808</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 406,751</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has applied the practical expedient by accounting for contracts (or performance obligations) with similar characteristics on a portfolio basis. The Company does not expect that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would differ materially from applying the guidance to the individual contracts (or performance obligations) within that portfolio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed. Revenue recognized in years ended December 31, 2021 and 2022 from performance obligations satisfied in prior periods were insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period of more than one year are not material to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of 134,248, $316,358 and $453,865, are included in selling and distribution expenses for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $45,167, $58,407 and $69,822 for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In most case, the attached conditions of grants are for a specific performance or duration related to the construction and acquisition of property, plant and equipment, achievement of business development plan, technology innovation, and human capital development. These conditions may be subject to review, audit and approval by the local government authorities and, therefore, could be different from the amounts recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company has $786 and $165,946 of government grants in other current liabilities and other non-current liabilities, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (59,543)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (gain) loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,259)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,802)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company sold its standard solar modules typically with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In 2011, the Company increased its guarantee for defects in materials and workmanship to ten years. In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years. In 2022, the Company increased its guarantee for defects in materials and workmanship up to 15 years or 25 years for certain module types, and the Company warrant that, for a period of 25 years, its Ku/Hiku modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output. The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated warranty costs based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue from sales of solar module&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company warrants its battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. The Company continuously monitors its warranty failures and maintains a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Estimates related to the outstanding warranty liability are re-evaluated on an ongoing basis using best-available information and revisions are made as necessary. The Company has obtained warranties from its battery cell suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by the Company under EPC services, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties on solar module products. The insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy periods. The unamortized carrying amount is $528 and $264 as of December 31, 2021 and 2022, respectively, and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursable by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance companies are monitored to ensure the claim has been submitted to the insurance companies, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances, and the measurement of expected credit losses. To date, no provision has been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates or the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation as described above and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $87,729 and $84,474 as of December 31, 2021 and 2022, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $4,089 for the year ended December 31, 2022, to reflect the increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $26,931, $45,053 and $68,411 are included in cost of revenues for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i) net income, (ii) foreign currency translation adjustments, including gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities, (iii) the unrealized gains or losses (effective portion) on and de-recognition of derivative instruments that qualify for and have been designated as cash flow hedges and (iv) unrealized gains or losses in fair value of available-for-sale debt securities. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Japanese Yen, Brazilian reals, Australian dollars, South African rand and British pounds. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi and U.S. dollars. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht, may result in foreign exchange gains or losses. The Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials and equipment. The Company performs ongoing credit evaluations of its suppliers&#8217; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#8217;s expectation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2021 and 2022, gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2022.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritizes the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s money market fund included in cash equivalent, restricted cash balance, mutual funds to satisfy its obligations under its employee deferred compensation plan and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting. ASC 815 provides for three different ways to account for derivative instruments: (i) as a cash flow or fair value hedge; (ii) as a mark-to-market agreement with changes in fair value recognized in current period earnings; or (iii) as an accrual agreement, if the criteria for the normal purchase normal sale exception are met and documented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from non-functional currency-denominated monetary assets, liabilities and cash flows, and to hedge its commodity risk exposure to losses from raw material price fluctuations. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using observable inputs obtained from active markets or pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty with the Company, as necessary. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2020, the FASB issued ASU No. 2020-01, which clarifies that a company should consider observable transactions that require a company to either apply or discontinue the equity method of accounting under Topic 323, Investment &#8211; Equity Method and Joint Ventures, for the purposes of applying the measurement alternative in accordance with Topic 321, Investments &#8211; Equity Securities immediately before applying or upon discontinuing the equity method. The amendment was effective for fiscal years beginning after December 15, 2020. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. In addition, in December 2022, the FASB issued ASU No. 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,&#8221; which deferred the sunset date in Topic 848 from December 31, 2022 to December 31, 2024. The ASU 2022-06 became effective upon issuance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The Company has $208,621 of LIBOR debt as of December 31, 2022 and projects the balance will be approximately $185,326 by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In October 2021, the FASB issued ASU No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which require that an entity (acquirer) recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Revenue from Contracts with Customers (Topic 606). At the acquisition date, an acquirer should account for the related revenue contracts in accordance with Topic 606 as if it had originated the contracts. The amendments in this update also provide certain practical expedients for acquirers when recognizing and measuring acquired contract assets and contract liabilities from revenue contracts in a business combination. The standard is effective for interim and annual periods beginning after December 15, 2022, with early adoption permitted. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November 2021, the FASB issued ASU No. 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The Company adopted this new standard on January 1, 2022 and the adoption did not have a material impact on the Company&#8217;s consolidated financial statements. See note 2(aa) for discussion regarding such amounts recorded in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In September 2022, the FASB issued ASU No. 2022-04, Liabilities-Supplier Finance Programs (Subtopic 405-50) - Disclosure of Supplier Finance Program Obligations, which requires that a buyer in a supplier finance program disclose sufficient information about the program to allow a user of financial statements to understand the program&#8217;s nature, activity during the period, changes from period to period, and potential magnitude. The amendment in this update is expected to improve financial reporting by requiring new disclosures about the programs, thereby allowing financial statement users to better consider the effect of the programs on an entity&#8217;s working capital, liquidity, and cash flows. The new standard is effective for fiscal years beginning after December 15, 2022, except for the amendment on roll forward information which is effective for fiscal years beginning after December 15, 2023. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI https://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536832720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR CREDIT LOSSES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ReceivablesAbstract', window );"><strong>ALLOWANCE FOR CREDIT LOSSES</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_AllowanceForCreditLossesTextBlock', window );">ALLOWANCE FOR CREDIT LOSSES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables were included as a component of prepaid expenses and other current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable trade, net consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 698,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,020,880</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,126)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,930)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 651,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 970,950</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Advances to suppliers, net consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,682)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,375)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 260,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,836</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other receivable, net consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 280,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,999)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,196</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table presents the change in the allowances for credit losses related to the Company&#8217;s accounts receivable trade and advances to suppliers:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,712</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,647</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (639)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,490)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,502</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (197)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (53)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (141)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,079</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,424</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (109)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,295)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,436)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (834)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,374</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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_AllowanceForCreditLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI https://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesTextBlock</td>
</tr>
<tr>
<td style="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>34
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534660624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>INVENTORIES</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310,394</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,109</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 919,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 948,592</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,524,095</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Finished goods include modules of $163,078 and $161,138 as of December 31, 2021 and 2022, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the 5% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2020, 2021 and 2022, inventory was written down by $42,907, $14,070 and $7,475, respectively, to reflect the lower of cost and net realizable value.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616165680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</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_csiq_ProjectAssetsDisclosureTextBlock', window );">PROJECT ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Development cost, including project acquisition and land cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444,858</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other construction cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 379,635</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,361</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 824,493</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 594,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 385,964</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 433,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,529</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment loss on project assets of $369, $17,152 and $1,674 for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of project assets was $10,197, $17,316 and $26,439 for the years ended December 31, 2020, 2021 and 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information relating to project 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;">csiq_ProjectAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534660624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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, PLANT AND EQUIPMENT, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 720,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 764,577</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,896</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,441,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,470,957</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,928</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,527</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Freehold land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,691</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,285</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,320,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,376,170</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,019,988)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (908,888)</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,300,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,467,282</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,361</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,826,643</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of property, plant and equipment was $197,600, $266,956 and $225,351 for the years ended December 31, 2020, 2021 and 2022, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616160992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, NET<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, NET</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_csiq_SolarPowerSystemsTextBlock', window );">SOLAR POWER SYSTEMS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,707</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,684</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 209,200</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,907</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,760)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,091)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,263</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 364,816</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reclassified certain project assets of $117,560, nil and $263,710 to solar power systems during the years ended December 31, 2020, 2021 and 2022, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of solar power systems was $6,396, $11,212 and $4,074 for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of solar power systems, net was nil, nil and $18,666 for the years ended December 31, 2020, 2021 and 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarPowerSystemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_SolarPowerSystemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarPowerSystemsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization 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;">csiq_SolarPowerSystemsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616158896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS, NET<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>INTANGIBLE ASSETS, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">INTANGIBLE ASSETS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,430)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,131)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,517</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,561)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,530</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,082)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,977</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,644)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,992</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Amortization expense for the years ended December 31, 2020, 2021 and 2022 were $5,122, $4,601 and $3,586, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amortization expenses of the above intangible assets are expected to be approximately $3,102, $2,627, $2,186, $2,031, $1,977 and $5,607 for the years ending December&#160;31, 2023, 2024, 2025, 2026, 2027 and thereafter, respectively.</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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -URI https://asc.fasb.org/subtopic&amp;trid=2144471<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538318336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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_FairValueDisclosuresTextBlock', window );">FAIR VALUE MEASUREMENT</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2021 and 2022, with the exception of its listed equity securities, mutual funds to satisfy its obligations under its employee deferred compensation plan and money market funds which were measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using standard industry valuation models. As applicable, these models use market-based observable inputs, including credit risk, foreign exchange rates, forward and spot rates for currencies. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are considered as Level 2 inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap and commodity hedge</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#8217;s interest rate swap contracts with total notional amounts of approximately $399,000 were paid off following the loan repayment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">In 2021 and 2022, the Company entered into interest rate swaps to manage part of its interest rate risks, and entered into commodity hedge to manage part of its risks of rising raw material costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The estimated fair value of interest rate swaps and commodity hedge was measured based on observable market data, which were considered Level 2 inputs. The unrealized gains or losses on interest rate swaps that qualified as cash flow hedges were recognized in other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2021 and 2022 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2020, 2021 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,730</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,576</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,580</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,104</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,255</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,359</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (49,388)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,918</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,019)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,001</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (44,489)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Marketable securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd, listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB 91,370 (approximately $14,003) on the transaction date as part of the consideration. These shares were classified and accounted for as available-for-sale, and were carried at fair value of $20,195 and $18,337 as of December 31, 2021 and 2022, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $1,048 and $4,744 were recorded under investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively, and unrealized losses of $418 were recorded for the year ended December 31, 2022 under investment income (loss), net, in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment charges for certain solar product manufacturing asset group of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recorded impairment loss on project assets of $369, $17,152 and $1,674 for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $523,634 and $813,406 as of December 31, 2021 and 2022, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $224,675 and $225,977 as of December 31, 2021 and 2022, respectively, which approximates the fair value.</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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530665008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract', window );"><strong>VARIABLE INTEREST ENTITIES</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_VariableInterestEntityDisclosureTextBlock', window );">VARIABLE INTEREST ENTITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company, through its subsidiaries, may enter into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021 and 2022, the carrying amounts and classifications of the consolidated VIEs&#8217; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#8217;s consolidated balance sheets are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,903</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,315</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320,460</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,091</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,163</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 390,606</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 366,526</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,857</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,792</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,675</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,366</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 257,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,833</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net income and overall cash flow activities during the years ended December 31, 2020, 2021 and 2022 were insignificant to the Company&#8217;s consolidated financial statements.</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_VariableInterestEntityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI https://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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>41
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536656608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', window );"><strong>INVESTMENTS IN AFFILIATES</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 IN AFFILIATES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:39.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:19.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.17</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">RE Crimson Holdings LLC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-size:11pt;">Lavras Solar Holding S.A.</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Francisco Sa Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,868</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.85</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Salgueiro Solar Holding S.A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,595</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.38</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Jaiba Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,903</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15.92-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10.86-49</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company co-established an entity, Suzhou Financial Leasing Co., Ltd. and owned an effective interest of 4.78% and 4.17% as of December 31, 2021 and 2022, respectively. One of five board members is designated by CSI Solar. This investment is held through CSI Solar Co., Ltd. and is accounted for under the equity method, as CSI Solar Co., Ltd. has significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering. On March 5, 2021, CSIF issued 151,500 investment units at 125,115 Japanese yen per unit through public offering, the Company purchased 22,725 units in the amount of JPY2,843,238 ($25,683). Through its initial private placement of 1,500 units, the purchase of 25,395 units in the initial public offering on October 26, 2017 and allotment of 7,000 units on September 5, 2018, the Company held a total of 56,620 units as of December 31, 2021 and 2022 at a total subscription amount of JPY6,247,998 ($55,697). As of December 31, 2021 and 2022, the Company owned 14.64% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered to have significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company completed the sales of its majority interests in Lavras Solar Holding S.A. (&#8220;Lavras&#8221;) , Francisco Sa Solar Holding S.A (&#8220;Francisco Sa&#8221;), Salgueiro Solar Holding S.A (&#8220;Salgueiro&#8221;), and Jaiba Solar Holding S.A (&#8220;Jaiba&#8221;) to an unrelated third party. In connection with the project sales, the Company&#8217;s equity interest in <span style="-sec-ix-hidden:Hidden_MUI0Hs4i-UWlS0wnDlHGrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Lavras</span></span>, <span style="-sec-ix-hidden:Hidden_xi-hcSuPskCs8cLuNDV5sQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Francisco Sa</span></span>, <span style="-sec-ix-hidden:Hidden_X41kEkCh4UmEJSsmku8NvQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Salgueiro</span></span>, and Jaiba have each decreased to 20%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, the Company acquired a minor interest in Suzhou Zhuosheng Venture Investment Fund, LLP and owned an effective interest of 17.85% as of December 31, 2021 and 2022. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as it designated a representative to participate in the investee&#8217;s investment decision-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2021, the Company, through its wholly owned subsidiary, Recurrent Energy, LLC, completed the sale of its 80% stake in RE Crimson Holdings LLC (&#8220;Crimson&#8221;) to an unrelated third party. Effective with the sale of the equity interests, the Company ceased having controlling financial interests in Crimson, and accounted for the transaction as partial sales of real estates under ASC 360-20. The Company considered that it would continue to exercise significant influences over its retained 20% equity interests in Crimson, and has accounted for these interests pursuant to the equity method of accounting. In connection with the sale, $123,135 was recognized as revenue, and with the loss of controlling financial interests in Crimson, the Company derecognized net assets of $42,333 and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2021, the Company acquired a minor interest in JuSheng (Suzhou) Solar Tech Co., Ltd, and owned an effective interest of 4.55% and 4.38% as of December 31, 2021 and 2022, respectively. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as CSI Solar Co., Ltd. designated a representative director to participate in the investee&#8217;s policy-making processes and exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#8220;Horus&#8221;) which holds its Horus project, and Recursos Solares PV De M&#233;xico II S.A. De Capital Variable (&#8220;Recursos&#8221;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, $100,896 and $113,843 were recognized as revenue in 2020 and 2021, respectively and the Company&#8217;s interest in Horus and Recursos have each decreased to 49%. With the loss of controlling financial interests in Horus and Recursos, the Company derecognized net assets of $10,363 and $7,527 in 2020 and 2021, respectively, and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets. As of December 31, 2021 and 2022, we owned 49% of each of Horus and Recursos, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of affiliates were $10,779, $7,256 and $15,440 for the years ended December 31, 2020, 2021 and 2022, respectively. Refer to Note 20 for the Company&#8217;s related party balances and transactions in 2020, 2021 and 2022.</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_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -URI https://asc.fasb.org/topic&amp;trid=2196965<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>42
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538307760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeasesAbstract', window );"><strong>LEASE</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 );">LEASE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases manufacturing facilities in various regions where the Company operates. The Company also leases land for construction and operations of solar power systems, and leases office space, office equipment and motor vehicles for its sales and administrative functions. Leased assets are mainly located in the PRC, Brazil and United States. The land use rights represent lease prepayments and are expensed over the remaining term of the rights, which is generally 50 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes lease costs to its project assets and solar power systems, when such costs qualify for capitalization as during periods in which activities necessary to get the property ready for its intended use are in progress.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amortization of ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,406</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,936</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,028</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,364</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Supplemental balance sheet information related to leases was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,506</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,094</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,600</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,810</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,714</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other supplemental information related to leases was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,349)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,994)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,972)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,032)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,554)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,194)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,393</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets disposed through early termination of operating leases in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (965)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - finance leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, maturities of operating and finance lease liabilities were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,315</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,062</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,586</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,156</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,666</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,133</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,918</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,325</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,593</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_fABpZzIpOk-x8U7lksz8Cg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Short-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,507</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_ZpeYQQuy1023lBvr_RvBDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Long-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,086</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Tek3YO5uCkiiEpdXHPnrpg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total lease liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,593</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538307760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">BORROWINGS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;">&#160;BORROWINGS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Borrowings consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings related to project assets<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 474,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,521</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other short-term borrowings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,118,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,110,295</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,592,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443,816</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings related to project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 327,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,987</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,418</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 494,419</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 813,406</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,116,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,257,222</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company had contractual credit facilities of $3,412,104, of which $1,694,732 has been drawn under borrowings and $623,377 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $1,093,995 was available for draw down upon demand. In addition, as of December 31, 2022, the Company also had uncommitted credit facilities of $1,464,055, of which $562,490 has been drawn under borrowings and $426,734 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2022, $365,065 of the Company&#8217;s borrowings under its energy business were non-recourse in nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The lenders under the Company's non-recourse facilities generally require the pledge of underlying solar projects and do not have direct recourse to Canadian Solar Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, borrowings of $1,042,407 were secured by property, plant and equipment with carrying amounts of $414,244, inventories of $161,673, land use rights of $46,607, restricted cash of $6,715, accounts receivable of $33,690, equity interest of $34,859, project assets of $353,503 and solar power systems of&#160;$295,145. These borrowings were recorded as short-term borrowings of $207,134, non-recourse borrowings - current of $335,893, long-term borrowings of $470,208, and non-recourse borrowings of $29,172.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s significant borrowings during the years ended December 31, 2021 and 2022 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2016, Canadian Solar Projects K.K. obtained a syndicated three-year loan facility of JPY9,600,000 ($85,200) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and 13 other participating financial institutions. The facility is unsecured. The loan proceeds may be used to develop its solar project development pipeline in Japan and for general corporate working capital purposes. In 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9,100,000 ($88,200). In 2021, the subsidiary further expanded the facility to JPY10,000,000 ($89,859) for a term of three years, with a September 2024 maturity. In 2022, the subsidiary amended the facility agreement to tranche 1 loan facility of JPY7,500,000 ($57,198) guaranteed by the Company and tranche 2 loan facility of JPY2,500,000 ($19,066) secured by a pledge of equity interest in CSIF. As of December 31, 2022, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. obtained a five-year syndicated credit facility of $188,000 with the Siam Commercial Bank Public Company Limited (&#8220;SCB&#8221;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB3,540,000 ($106,729) from SCB to support the operations of its manufacturing Company in Thailand. As of December 31, 2022, the outstanding balance of the long-term loan was $34,606 and the outstanding balance of working capital facility was $11,777.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Recurrent Energy, LLC (&#8220;Recurrent&#8221;) executed a $75,000 development loan with Nomura Securities International, Inc. In 2021, the syndicated facility was renewed with Nomura at an expanded amount of $125,000 that matures in November 2023. The outstanding credit facility is secured by certain project assets in the U.S. and Canada, and is guaranteed by the Company. As of December 31, 2022, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated five-year non-recourse facility of AUD289,419 ($206,022) with Australia and New Zealand Banking Group Limited acting as the facility agent and 3 other financial institutions, to finance the construction of a portfolio of solar projects in Australia. The facility was secured by the project assets and was set to mature in 2025. The loan was assumed by a buyer in connection with the sale of the portfolio in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, Japan Green Infrastructure Fund LP obtained a six-year mezzanine loan facility of JPY18,000,000 ($174,241) with Madison Pacific Trust Limited acting as the facility agent and other four financial institutions. The facility is for the development and construction of solar projects in Japan. As of December 31, 2022, the outstanding non-recourse balance was $16,002. Subsequently in January 2023, the subsidiary cancelled the unused commitment of JPY15,901,795 ($122,208) under the facility agreement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Azuma Kofuji Daiichi Hatsudensho G.K. obtained a JPY24,513,530 ($230,759) project finance loan facility with Nomura Capital Investment Co., Ltd. acting as lead arranger and other participating financial institutions to construct the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by the Azuma Kofuji project and will mature in November 2023. As of December 31, 2022, the outstanding non-recourse balance was $148,867.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, four Japanese subsidiaries issued JPY8,100,000 ($73,167) of non-recourse green project bonds to construct a portfolio of projects in Japan. The project bonds are secured by certain project assets and will mature in 2039. As of December 31, 2022, the outstanding balance was $32,515.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained $60,000 project finance loan facility with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;). The facility has been partially drawn for the construction of the El Mayo project in Mexico. As of December 31, 2022, the outstanding balance was $28,000. The Company has provided a guarantee on the outstanding balance through a letter of credit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar Spain S.L.U obtained a &#8364;50,000 ($61,132) credit facility with Banco Santander, S.A. (&#8220;Santander&#8221;). The facility comprises a term loan of &#8364;25,000 and a revolving credit facility of &#8364;25,000, and is guaranteed by the Company. The facility will mature in May 2024. As of December 31, 2022, the loan was fully drawn and the revolving credit facility outstanding balance was $26,755.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, eight Brazilian subsidiaries obtained a BRL500,000 ($95,921) financing facility with BTG Pactual and Ita&#250; BBA to support the equity contribution for the development and construction of solar power projects in Brazil. The facility is guaranteed by the Company and will mature in December 2023. As of December 31, 2022, the outstanding balance was $87,873.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB580,000 ($90,918) long-term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property and plant, is guaranteed by CSI Solar, and matures in November 2028. As of December 31, 2022, $55,510 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, Canadian Solar EMEA Capital Markets, S.A.U. issued &#8364;30,000 ($34,106) fixed rate notes on Spain&#8217;s alternative fixed-income market (the &#8220;MARF&#8221;). The notes are guaranteed by the Company and mature on December 2, 2026. As of December 2021 and 2022, the carrying value net of unamortized issuance costs of the fixed rate notes were $33,676 and $31,638, respectively, and were included as a component of other non-current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2021 and 2022, CSI Cells (Yancheng) Co., Ltd. entered into credit facilities in the aggregate of RMB710,000 ($101,944) with various banks. The credit facilities of RMB 510,000 ($73,227) are unsecured and are guaranteed by CSI Solar. The remaining RMB 200,000 ($28,717) is secured by certain property, plant and equipment, and is guaranteed by CSI Solar. As of December 31, 2022, $78,072 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Between 2021 and 2022, Canadian Solar Sunenergy (Baotou) Co., Ltd. entered into credit facilities in the aggregate of RMB880,000 ($126,353) with six banks. Credit facility of RMB580,000 ($83,278) is guaranteed by CSI Solar, and the remaining RMB300,000 ($43,075) is secured by certain property, plant and equipment, and is guaranteed by Canadian Solar Manufacturing (Luoyang) Inc and CSI Solar. As of December 31, 2022, $101,407 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, the financial covenants related to these borrowings were met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In connection with the sale of solar projects for the years ended December 31, 2020, 2021 and 2022, borrowings of $316,496, $118,406 and $193,578, respectively, were assumed by the buyers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">These obtained long-term borrowings mentioned above bear effective floating interest rates from 1.2% to 8.3%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the borrowings are as follows. Included in the future principal repayment of 2023 are $333,521 of current portion of long-term borrowings, associated with certain solar and battery storage projects that are expected to be sold within one year:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443,816</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 639,862</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,615</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,775</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,475</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,679</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,257,222</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Weighted average effective interest rates on borrowings are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2020, 2021 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,439</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,666</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 154</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,266</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,371</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616307632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM NOTES PAYABLE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_NotesPayableAbstract', window );"><strong>SHORT-TERM NOTES PAYABLE</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_csiq_ShortTermNotesPayableTextBlock', window );">SHORT-TERM NOTES PAYABLE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s materials and equipment vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the bank&#8217;s settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable due to suppliers, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company&#8217;s restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2021 and 2022, short-term notes payable was $881,184 and $1,493,399, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShortTermNotesPayableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the 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;">csiq_ShortTermNotesPayableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_NotesPayableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NotesPayableAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529757328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ProductWarrantiesDisclosuresAbstract', window );"><strong>ACCRUED WARRANTY COSTS</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_ProductWarrantyDisclosureTextBlock', window );">ACCRUED WARRANTY COSTS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,053</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,411</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,432)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,943)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,207)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,937)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,677</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI https://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>46
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616329472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RESTRICTED NET ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract', window );"><strong>RESTRICTED NET ASSETS</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_RestrictedAssetsDisclosureTextBlock', window );">RESTRICTED NET ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to PRC&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employees of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#8217; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition to the general reserve, the Company&#8217;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#8217;s PRC subsidiaries are considered as restricted net assets amounting to $658,166 as of December 31, 2022.</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_RestrictedAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 assets that are restricted in their use, generally by contractual agreements or regulatory requirements. This would include, but not limited to, a description of the restricted assets and the terms of the restriction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-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>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534684848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONVERTIBLE NOTES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_ConvertibleNotesDisclosureAbstract', window );"><strong>CONVERTIBLE NOTES</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_csiq_ConvertibleNotesDisclosureTextBlock', window );">CONVERTIBLE NOTES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 16, 2020, the Company issued $200,000 of convertible notes (the &#8220;2020 Notes&#8221;). The Company granted the initial purchasers a 30-day option to purchase up to an additional $30,000 aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2020 Notes mature on October 1, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2020 Notes holders are entitled to receive interest at 2.50% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is 27.2707 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $36.67 per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#8220;Fundamental Change Make-Whole Premium&#8221;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after October 6, 2023, if the last reported sale price of the Company&#8217;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2021 and 2022, the carrying value of the convertible notes was $224,675 and $225,977, net of unamortized issuance costs of $5,325 and $4,023, respectively. The debt issuance costs are being amortized through interest expense over the period from September 16, 2020, the date of issuance, to October 1, 2025, the date of expiration, using the effective interest rate method at the rate of 3.18%. The amortization expense was $1,461 and $1,302 for the years ended December 31, 2021 and 2022, respectively. Coupon interest of $5,750 was recorded for each of the years ended December 31, 2021 and 2022, of which $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2021 and 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ConvertibleNotesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_ConvertibleNotesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ConvertibleNotesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ConvertibleNotesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>48
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538308544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses (benefits)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,357)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (117,145)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,275</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 184,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,943)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,705</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,179</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,956)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,728)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,424</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (39,412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,052</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,155</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,035</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,464</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,468</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,707)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,684)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,356</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,528</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,054</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (489)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 872</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,023</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,183</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,081</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,269</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,792)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,629</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,996</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,998)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (65,017)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (173)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,546</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,620</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,192)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,645)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,238)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (67,237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,084</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (439)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,078)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,248)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 312</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,661)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,028</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,881</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (489)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,103</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,569</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,538</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,353</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s major operating subsidiaries and their respective income taxes are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canada</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSI was incorporated in Ontario, Canada and was subject to both federal and Ontario provincial corporate income taxes at a rate of 26.5%. In July 2022, CSI filed articles of continuance to change its jurisdiction from the provincial jurisdiction of British Columbia to the provincial jurisdiction of Ontario. CSI is subject to federal and Ontario provincial corporate income taxes at a rate of 26.5% through December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2020, 2021 and 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 22.2%, 26.4% and 24.6% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar SSES (US) Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 21.9% for the year ended December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recurrent Energy Group Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 26.1%, 22.2% and 22.5% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 31.8% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Singapore</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd. was incorporated in Singapore and is subject to Singapore corporate income tax at a rate of approximately 17% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Brazil</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd. was incorporated in Brazil and is subject to Brazil corporate income tax at a rate of 34% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has three Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2017, 2017 and 2020, respectively, one of which expired in 2022 and the other two will expire in 2025 and 2028, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The major operating subsidiaries, including CSI Solartronics (Suzhou) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#8220;EIT Law&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company&#8217;s PRC subsidiaries, such as CSI New Energy Holding Co., Ltd. and Canadian Solar Manufacturing (Luoyang) Inc., were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. and Changshu Tlian Co., Ltd are HNTEs and enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and equity in earnings of affiliates and the actual provision and benefit for income taxes is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The aggregate amount and per share effect of tax holiday are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of U.S.&#160;Dollars,&#160;except per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,520</p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,318</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,772</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,351</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,332</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping and countervailing duty deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,723</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,474</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 491</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,677</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,031</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,761</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 272,714</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,682)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,488)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,226</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,899</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,914</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,856</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,630</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162,596</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,226</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (66,630)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162,596</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a 5% or 10% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2022, all of the undistributed earnings of approximately $592,731 attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $29,637 to $59,273, depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,682</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reversals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,585)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,671)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,531)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (663)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,488</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company has accumulated net operating losses of $579,862 of which $338,692 will expire between 2023 and 2042, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $45,682 and $43,488 as at December 31, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2021 and 2022 was $1,585 and $961, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table illustrates the movement and balance of the Company&#8217;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,863</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,011)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,763)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (415)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,770</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#8217;s taxation years from 2016 to 2022 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company&#8217;s income tax returns for 2017 through 2022 remain open to examination by the U.S. tax authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#8217;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2017 retrospectively, and on transfer pricing matters for taxation years up to 2012 retrospectively. There is no statute of limitations in case of tax evasion in PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820631014000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">EARNINGS PER SHARE</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,968</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,183</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,151</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,575,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,614,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,324,558</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 897,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 985,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 586,420</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,833,663</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,272,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,272,157</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,306,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,872,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,183,135</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.73</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.44</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,295</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI https://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534618864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RelatedPartyTransactionsAbstract', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">RELATED PARTY BALANCES AND TRANSACTIONS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties, current of $48,614 and amount due from related parties, non-current of $33,489 as of December 31, 2022 primarily consists of shareholder loans of $52,424 and $29,613, respectively, to Horus and Recursos, each the Company&#8217;s 49% owned affiliates in Mexico with the remaining 51% ownership by a Korean investor. No amount was due as of December 31, 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due to related parties as of December 31, 2022 was not material. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Guarantees and loans</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB135,000 ($20,648) in 2020, and from a Chinese bank of RMB12,000 ($1,882) in 2021, respectively. No amount was drawn down under the facilities as of December 31, 2020 and 2021. Dr. Shawn did not guarantee loan facilities of the Company in 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted 26,073 restricted share units to Dr. Shawn Qu in 2020 on account of his having guaranteed these loan facilities. No grants were made in 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, 2021 and 2022, the Company provided asset management service to CSIF, the Company&#8217;s 14.64% owned affiliate in Japan, in the amount JPY394,506 ($3,723), JPY829,053 ($7,541) and JPY545,131 ($4,180), respectively, and provided O&amp;M service to CSIF in the amount of JPY805,021 ($7,564), JPY981,161 ($9,195) and JPY914,933 ($7,036), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Sales and purchase contracts with affiliates (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_1LvL-xv2mkeNujMCoY0EMg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_pS-Go_5FLU2fFAyjeOmIPg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $119, $119 and $119, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $105, $105 and $114, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $11,636, $9,996 and $9,403, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_rX8mKLfInEixfE-FxeSSeA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_lRXaAHW03E6vCsPZ9oMrLg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $220, $211 and $211, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $7,170, $7,592 and $8,121, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company sold modules to Lavras I Solar Renewable Energy S.A, the Company&#8217;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $202. In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_MMEOmfiFiUGvrWM6wp5wpQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_kyTZTIb-nEa-mkyLsy99lQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> <span style="-sec-ix-hidden:Hidden_5FFKGbxPDkGKxFAQFeG8RQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">in</span></span> <span style="-sec-ix-hidden:Hidden_ZKUChQhi4EmS0C1BedBjBg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Brazil</span></span> with the remaining 80% ownership by Chinese investors, in the amounts of $5,707, $5,842, $6,049, $6,233 and $6,233, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2022, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. and Sonoran West Solar Holdings 2, LLC, each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_FaLdBc66G0qw20KSBvX4wA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_PAUKuvclakqwXFFUNtLlUQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in the United States held through RE Crimson Holdings LLC with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $207,728 and $159,655, respectively. In 2021, the Company provided battery storage solutions to these affiliates in the amounts of $12,822 and $6,955, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021 and 2022, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#8217;s 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB10,831 ($1,688) and RMB34,772 ($5,192), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the Company sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable Energy S.A., each the Company&#8217;s 20% <span style="-sec-ix-hidden:Hidden_M6CBjTP4X0SQ9Wbj1KLxcA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">owned</span></span> <span style="-sec-ix-hidden:Hidden_a2e5dw9jGkaHi-Y-vsnysw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">affiliate</span></span> in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $834, $3,210 and $3,046, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $5,971, $3,696 and $1,372, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, the Company sold two and two solar power projects to CSIF in the amount of JPY888,000 ($8,392) and JPY30,601,181 ($282,133), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#8217;s 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB31,388 ($4,545) and RMB19,378 ($2,995), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#8217;s 20% owned affiliate in Brazil, in the amount of BRL5,061 ($974).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. for cash and exchange of shares with an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB168,032 ($24,301) from this former affiliate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. for cash to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB7,381 ($1,048) from this former affiliate.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI https://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820631014000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>COMMITMENTS AND CONTINGENCIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2022, the commitments for the purchase of property, plant and equipment were approximately $300,294, and the payment schedule for the commitments is as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,766</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,475</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,294</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Solar power system commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, the commitments related to construction EPC and other services of the Company&#8217;s solar power systems were approximately $56,124, and the payment schedule for the commitments is as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,617</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,245</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,124</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">On October 17, 2012, the United States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November 30, 2012, the U.S. International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S. CSPV industry. The USITC&#8217;s determination was subsequently affirmed by the U.S. Court of International Trade, or CIT, and the U.S. Court of Appeals for the Federal Circuit, or Federal Circuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">As a result of these determinations, the Company was required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to the Company were 13.94% (antidumping duty) and 15.24% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#8217;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2015. As a result of these decisions, the duty rates applicable to the Company were revised to 9.67% (antidumping duty) and 20.94% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s countervailing duty rates, and no change was made to the Company&#8217;s countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#8217;s antidumping duty rates, and no change was made to the Company&#8217;s antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#8217;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to the Company was reduced to 8.52% (from 9.67%) and then to 3.96% (from 8.52%). Because the Company was not subject to the second administrative review of the countervailing duty order, its countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#8217;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, the Company&#8217;s antidumping duty rate was reduced to 0.00% (from 3.96%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the third administrative reviews in June 2017 (antidumping duty) and July 2017 (countervailing duty), and later amended in October 2017. As result of these decisions, the duty rates applicable to the Company were changed to 13.07% (from 8.52%) (antidumping duty) and 18.16% (from 20.94%) (countervailing duty). The assessed rates were appealed to the CIT. The CIT has twice remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to CIT&#8217;s remand orders, the USDOC issued a redetermination. The antidumping duty rate applicable to the Company was reduced to 4.12% (from 13.07%) and then further to 3.19% (from 4.12%). In June 2020, the CIT issued its third opinion sustaining the USDOC&#8217;s remand redetermination. The Company filed a motion for reconsideration with the CIT advocating for an even lower antidumping duty rate. In September 2020, the CIT granted the Company&#8217;s motion for reconsideration and remanded to USDOC for further consideration of its antidumping duty rate. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. As a result, the Company&#8217;s antidumping duty rate was reduced to 0.00% (from 3.19%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT has likewise twice remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. In August 2020, the CIT sustained USDOC&#8217;s second remand redetermination. As a result, the Company&#8217;s countervailing duty rate was reduced to 7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to the Company was reduced to 11.59% (from 18.16%) for the broader Company and 10.64% (from 18.16)% for Canadian Solar International Limited. The countervailing duty rates were appealed to the CIT. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT&#8217;s remand orders, the USDOC made a redetermination that reduced the Company&#8217;s countervailing duty rate to 5.02% (from 11.59%) for the broader Company and 4.22% (from 10.64 percent) for Canadian Solar International Limited. The Company appealed the CIT decision to the Federal Circuit to contest USDOC&#8217;s continued assessment of a countervailing duty rate related to the alleged electricity subsidy program. In January 2022, the Federal Circuit sustained the CIT&#8217;s decision, and no change was made to the Company&#8217;s countervailing duty rate. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fifth administrative reviews in July 2019 (antidumping duty) and August 2019 (countervailing duty). The antidumping duty rate applicable to the Company was lowered to 4.06% (from 13.07%). The countervailing duty rate applicable to the Company was reduced to 9.70% (from 11.59%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but this amendment resulted in no change to the Company&#8217;s 9.70% rate. The countervailing duty and antidumping duty rates were appealed to the CIT. Pursuant to the CIT&#8217;s remand order in the antidumping appeal, USDOC made a remand redetermination that reduced the Company&#8217;s antidumping duty rate to 3.30% (from 4.06%). In May 2021, the CIT sustained USDOC&#8217;s antidumping duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s antidumping duty redetermination and, therefore, this decision is final. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT&#8217;s remand order in the countervailing duty appeal, USDOC made a remand redetermination that reduced the Company&#8217;s countervailing duty rate to 3.65% (from 9.70%). In May 2022, the CIT sustained USDOC&#8217;s countervailing duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#8217;s countervailing duty redetermination and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of 68.93% (from 13.07%). The antidumping duty final results were amended to correct ministerial errors in December 2020 and as a result, the antidumping duty rate applicable to the Company was raised to 95.50% (from 68.93%). USDOC assessed a countervailing duty rate of 12.67% (from 9.70%). The countervailing duty final results were amended to correct ministerial errors in April 2021 and, as a result, the Company&#8217;s countervailing duty rate was reduced to 11.97% (from 12.67%). The antidumping duty rates were appealed to the CIT. The CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#8217;s rate. Pursuant to the CIT's remand order, the USDOC made a redetermination that reduced the Company's antidumping duty rate to 23.02% (from 95.50)%. This decision by the CIT was appealed to the Federal Circuit in March 2023, and the Company is currently participating in the appeal at the Federal Circuit. The Company did not appeal USDOC&#8217;s final results of its sixth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#8217;s countervailing duty rate is expected to remain at 11.97%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#8220;CSIL&#8221;) was raised to 19.28% (from 11.97%). USDOC did not change the rate of 11.97% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both of these companies. The Company did not appeal USDOC&#8217;s final results of its seventh administrative reviews and, therefore, these decisions are final. The Company&#8217;s antidumping duty rate will remain at 0.00% and the Company&#8217;s countervailing duty rate is expected to remain at 19.28% for CSIL.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the eighth administrative reviews in June 2022 (antidumping duty) and July 2022 (countervailing duty). The USDOC determined that the Canadian Solar entities subject to the eighth antidumping duty administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rate (0.00%) will remain unchanged for its Solar 1 CSPV products. The antidumping duty final results were amended to correct ministerial errors in August 2022, but this amendment resulted in no change to USDOC&#8217;s no shipment determination with respect to the Company. USDOC assessed a countervailing duty rate of 15.75% (from 19.28%). The countervailing duty final results were amended to correct ministerial errors in August 2022 and, as a result, the Company&#8217;s countervailing duty rate was raised to 15.87% (from 15.75%). The Company did not appeal USDOC&#8217;s final results of its eighth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#8217;s countervailing duty rate is expected to remain at 15.87%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The ninth and tenth antidumping duty and countervailing duty administrative reviews were initiated in February 2022 and February 2023 and are currently underway. The USDOC is currently scheduled to release the final results of the ninth antidumping and countervailing duty administrative reviews in May 2023, subject to potential extensions. The Company submitted no-shipment certifications in both the ninth and tenth administrative reviews. In its preliminary results, USDOC preliminary determined that the Company had no shipments and stated its intent to rescind the review for the Company. The Company&#8217;s countervailing duty rate, therefore, is expected to remain the same at 15.87%. USDOC will likely issue preliminary results of the tenth administrative reviews in late 2023 or early 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 2</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#8217;s Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced the Company&#8217;s countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The antidumping cash deposit rate applicable to the Company&#8217;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company was not subject to the first administrative reviews of the Solar 2 orders, the Company&#8217;s duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The Company&#8217;s antidumping duty rates for the Company&#8217;s Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#8217;s Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to the Company is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#8217;s duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to the Company was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. The Company&#8217;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The rate assessed to the Company in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#8217;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#8217;s Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC did not initiate the sixth administrative reviews of the Solar 2 China antidumping and countervailing duty orders because no parties requested reviews. The Company&#8217;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for its Chinese CSPV products. The USDOC published the final results of the sixth administrative review of the Taiwan antidumping duty order in March 2022. The USDOC determined that the Canadian Solar entities subject to the sixth administrative review had no shipments during the period of review and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders in April 2022. The countervailing duty review was not initiated with respect to the Company and therefore, the Company&#8217;s countervailing duty rates (33.58%) will remain unchanged for its Solar 2 China CSPV products. The USDOC rescinded the seventh administrative review of the Solar 2 Taiwan antidumping duty order in October 2022 and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 Taiwan CSPV products. The USDOC initiated the seventh administrative review of the Solar 2 China antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC rescinded the seventh administrative review of the Solar 2 China antidumping duty order in March 2023 with respect to the Canadian Solar entities and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The USDOC initiated the eighth administrative review of the Solar 2 China antidumping duty order in April 2023 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the eighth administrative review in late 2023 or early 2024, subject to potential extensions. The USDOC did not initiate the eighth administrative review of the Solar 2 China countervailing duty order because no parties requested reviews and therefore, the Company&#8217;s countervailing duty rates (33.58%) will remain unchanged for its Solar 2 China CSPV products. The USDOC initiated the eighth administrative review of the Solar 2 Taiwan antidumping duty order in April 2023, however, the review was not initiated with respect to the Company and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#8217;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#8217;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#8217; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#8217;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#8217;s April 2020 withdrawal of the bifacial exclusion before the CIT. On November 17, 2021, the CIT vacated USTR&#8217;s April 2020 withdrawal in <i style="font-style:italic;">Invenergy Renewables LLC v. United States</i>. The CIT&#8217;s judgment holding USTR&#8217;s April 2020 withdrawal of the bifacial exclusion unlawful was not appealed to the Federal Circuit and, therefore, this decision is final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early 2020, the USITC conducted a midterm review of the safeguard order, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the USTR, the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota (TRQ) on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#8217; production, capacity utilization, and employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The President must consider the USITC&#8217;s views but is not required to follow them or to take any action in the safeguard midterm review. On October 10, 2020, President Trump issued Proclamation 10101 pertaining to the midterm review. Proclamation 10101 authorized the following: (1) the revocation of the bifacial module exclusion effective October 25, 2020; (2) the reduction of the safeguard tariff to 18% <i style="font-style:italic;">ad valorem</i> (as opposed to 15% <i style="font-style:italic;">ad valorem</i> as prescribed in the original safeguard measures) effective February 7, 2021; and (3) the delegation to USTR of the President&#8217;s authority to ask the USITC to assess whether the safeguard measures should be extended. The President decided not to follow the USITC&#8217;s recommendation to increase the TRQ applicable to CSPV cells.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the issuance of Proclamation 10101, Invenergy and other plaintiffs (AES Distributed Energy, Inc., Clearway Energy Group LLC, EDF Renewables, Inc. (&#8220;EDF&#8221;), the Solar Energy Industries Association (&#8220;SEIA&#8221;)) sought to challenge the Proclamation and filed motions to amend their complaints with the CIT. The CIT ultimately denied plaintiffs&#8217; motions and refused to extend the bifacial module exclusion beyond October 24, 2020 as a consequence of the Proclamation (as opposed to USTR&#8217;s withdrawals). Subsequently, on December 29, 2020, Invenergy and another set of plaintiffs (SEIA, NextEra Energy, Inc., and EDF) commenced new and separate litigation once again challenging Proclamation 10101 in the CIT. This new complaint alleges that the President unlawfully terminated the bifacial module exclusion and revised the safeguard tariff, effective February 7, 2021, to be 18% ad valorem (as opposed to the originally announced 15% ad valorem). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On November 16, 2021, the CIT held in Solar Energy Industries Association et al. v. United States (SEIA) that the President acted outside of his statutory authority in issuing Proclamation 10101, and enjoined the Government from enforcing that proclamation. This judgment had the effect of reinstating the exclusion of bifacial modules from the safeguard tariffs and lowering the fourth year safeguard tariff to 15% ad valorem. On January 14, 2022, the Government filed a notice of appeal of SEIA to the Federal Circuit and the appeal remains ongoing. The Federal Circuit held oral argument on April 3, 2023, and the Federal Circuit&#8217;s decision is expected in mid to late 2023. In October 2022, Canadian Solar filed an appeal at the U.S. Court of International Trade (&#8220;CIT&#8221;) challenging U.S. Customs and Border Protection&#8217;s erroneous collection of certain Section 201 safeguard duties on bifacial panels pursuant to Proclamation 10101, which the CIT ruled &#8220;null and void&#8221; in SEIA. Canadian Solar&#8217;s appeal is stayed pending resolution of the SEIA appeal at the Federal Circuit</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2021, the USITC conducted an extension investigation of the safeguard measure, in response to petitions by representatives of the domestic industry. In December 2021, the USITC issued its determination and report finding that the safeguard order continues to be necessary to prevent or remedy the serious injury to the domestic industry, and that there is evidence that the domestic industry is making a positive adjustment to import competition. On February 4, 2022, President Biden issued a Proclamation extending the safeguard measure on U.S. imports of CSPV products for four years until February 6, 2026. The extended safeguard measure doubles the volume of the TRQ on imported CSPV cells to 5.0 gigawatts and maintains a tariff on imports of CSPV modules and above-quota CSPV cells, beginning at a rate of 14.75% ad valorem and declining annually by 0.25 percentage points to 14.50% in the sixth year, 14.25% in the seventh year, and 14.0% in the eighth year. The extended safeguard measure excludes bifacial panels. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">CSPV cells and modules from Canada are no longer subject to the safeguard measure as of February 1, 2022 following the United States and Canada&#8217;s entrance into a memorandum of understanding to resolve a dispute under the U.S.-Mexico-Canada Agreement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canadian</i> <i style="font-style:italic;">Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (&#8220;CBSA&#8221;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#8220;CITT&#8221;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#8220;SIMA&#8221;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result, the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#8217;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529757328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>SEGMENT INFORMATION</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 );">SEGMENT INFORMATION</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar power projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;M) services. The module sales from the Company&#8217;s MSS business to its Energy business were on terms and conditions similar to sales to third parties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following two reportable segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">CSI Solar</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#8217;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Global Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which carries out the Company&#8217;s global project development activities for both solar and battery storage project development, which include sourcing land, interconnection agreements, structuring power purchase agreements (PPAs), obtaining permits and other requirements. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn and minimizing capital risk.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 54pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The module, EPC and battery storage solutions sales from the Company&#8217;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues, gross profit and income from operations generated from each segment:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,975,612</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 821,525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (328,527)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,824,855</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 660,161</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (279,542)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,205,474</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,150,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,985)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,263,136</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,101)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,061</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,371,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (218,517)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,689,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 930,099</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (251,368)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,367,857</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 682,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,984</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 909,312</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,179</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,381</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,105,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 726,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (354,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,496,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 577,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (286,624)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786,581</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 608,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,092)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,914</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 253,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (86,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,430</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#8217;s evaluation of reportable segment operating performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Income from operations reflects management&#8217;s allocation and estimate as some services are shared by the Company&#8217;s </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> reportable segments.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the years ended December 31, 2020, 2021 and 2022, $11,854, $6,084 and $60,330 of long-lived asset impairment charges, respectively, were recorded related to property, plant and equipment in CSI Solar segment. In addition, the Company recorded $24,060, nil and $357 of investment impairment in the CSI Solar segment, and $369, $17,152 and $1,674 of project assets impairment in the Global Energy segment, and for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; global or regional headquarters, as appropriate:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 696,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,590,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,963,956</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 623,331</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,148</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Chile</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,370</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,912</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,934</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,221,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,279,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,793,651</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 504,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,207,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,904,862</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 509,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 325,344</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,141</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,772</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Pakistan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,531</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,411</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,254</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,974</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,941</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,078</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,612</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,620,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,139,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,739,779</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434,841</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,959</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 322,189</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,375</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,458</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,662</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,414</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,740</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Romania</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,804</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;France</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,147</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216,591</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">634,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">858,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,935,180</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets at December 31, 2021 and 2022 by geographic region, based on the physical location of the&#160;assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,668,177</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,497</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,761</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,017</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EU</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,182</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,440</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,200</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,545</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,770</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,635,429</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,312,589</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues generated from each product or&#160;service:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,348,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,328,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,534,379</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 302,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 538,157</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Utility-scale battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 440,030</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Residential battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 686</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,711</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,661</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,122</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 761,677</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,776</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,072</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI https://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>53
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539855792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_MajorCustomersDisclosureAbstract', window );"><strong>MAJOR CUSTOMERS</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_csiq_MajorCustomersDisclosureTextBlock', window );">MAJOR CUSTOMERS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2020, 2021 and 2022.No customers accounted for 10% or more of total net accounts receivable, net as of December 31, 2021 and 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MajorCustomersDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_MajorCustomersDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MajorCustomersDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the 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;">csiq_MajorCustomersDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>54
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534469184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT PLANS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CompensationAndRetirementDisclosureAbstract', window );"><strong>EMPLOYEE BENEFIT PLANS</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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">EMPLOYEE BENEFIT PLANS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2022. The expense incurred by the Company to these defined contributions schemes was $8,064, $14,362 and $17,753 for the years ended December 31, 2020, 2021 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2022, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $11,486, $13,584 and $15,918 for the years ended December 31, 2020, 2021 and 2022, respectively.</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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 55<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=123450688&amp;loc=d3e4179-114921<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section S99<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=21916913&amp;loc=d3e273930-122802<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI https://asc.fasb.org/topic&amp;trid=2235017<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39689-114964<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123447040&amp;loc=d3e1928-114920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>55
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534630816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</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 );">SHARE-BASED COMPENSATION</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten years period. As a result, the Plan will expire on, and no awards may be granted after June 30, 2029. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#8217;s ordinary shares and expire ten years from the date of&#160;grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2021 and 2022, no options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2020 was $893. As of December 31, 2022, there were 26,291 options outstanding with a weighted average exercise price of $9.33 and weighted average remaining contract terms of 0.4 year. The intrinsic value of outstanding options as of December 31, 2022 was $567. No compensation cost on options was recognized in the years ended December 31, 2020, 2021 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted 1,105,640, 2,161,098 and 444,167 RSUs in 2020, 2021 and 2022, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_hHHFnlg--0ahbYTGzML0Aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> to four years based on the specific terms of the grants. In 2020, 2,096,000 of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (50% vesting on the IPO date, then 25% vesting each on the first and <span style="-sec-ix-hidden:Hidden_MEszL5kOZEGqXfw7Ya9ExQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $25.69 per award. As of December 31, 2022, 2,036,000 of such RSUs were unvested and outstanding. 205,000 of the RSUs granted on October 25, 2022 are contingent on certain performance condition (50% vesting on achieving the performance condition, then 25% vesting each on the first and <span style="-sec-ix-hidden:Hidden_2OvoXvOiCkWZP2iuw8kCow;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">second</span></span> anniversaries of the achievement). As of December 31, 2022, 205,000 of such RSUs were unvested and outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs Activities (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $24,918, $55,822 and $12,909&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2020, 2021 and 2022, respectively. In the years ended December 31, 2020, 2021 and 2022, the Company recognized $12,350, $8,808 and $9,370 in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, there was $17,940 of total unrecognized share-based compensation related to unvested RSUs, excluding awards contingent on the IPO as described above, which is expected to be recognized over a weighted-average period of 2.0 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">A summary of the RSU activity is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,335,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.23</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.86</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (483,377)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.41</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (106,717)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27.03</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,189,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25.65</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The total fair value of RSUs vested during the years ended December 31, 2020, 2021 and 2022 was $14,420, $21,628 and $13,276, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2022, there was $68,689 of total gross unrecognized share-based compensation related to awards contingent on the IPO, and upon satisfaction of performance condition, this cost is expected to be recognized based on the ESOP scheme vesting condition and the RSU vesting period described above.</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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>56
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538307760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SubsequentEventsAbstract', window );"><strong>SUBSEQUENT EVENT</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 EVENT</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">26.&#160;SUBSEQUENT EVENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;).</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI https://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534520784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Additional Information - Financial Statement Schedule I<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract', window );"><strong>Additional Information - Financial Statement Schedule I</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_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock', window );">Additional Information - Financial Statement Schedule I</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Additional Information &#8212; Condensed Financial Statements of Parent Company</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following condensed financial statements of Canadian Solar Inc. has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, cash flows and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#8217;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2022 of $658,166, exceeded the 25%&#160;threshold.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries. The Company's share of income from its subsidiaries is reported as equity in earnings of subsidiaries in the condensed financial statements. These statements should be read in conjunction with the notes to the consolidated financial statements of the Company. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">BALANCE SHEETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="5" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">share</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,661</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 638,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 582,685</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 521</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,218</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 672,103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 611,564</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,992,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,158,474</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,745</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,755</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,837</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL ASSETS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,722,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,823,375</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 682,247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 640,055</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 762</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,676</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,522</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,923</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645,339</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 225,977</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,690</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,730</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 921,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 881,736</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Common shares &#8212; no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares <span style="-sec-ix-hidden:Hidden_lHlIklC8p0StPMDjXSNvdQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_ritm_IutKEWOsQ5pE7DhWQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December 31, 2021 and 2022, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 835,543</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 835,543</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,428)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,127</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,035,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,275,520</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,584)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (170,551)</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,801,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,941,639</p></td></tr><tr><td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">TOTAL LIABILITIES AND EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,722,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,823,375</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF OPERATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Selling and distribution expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 766</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 890</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,261</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (282)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,843</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,306</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (50,384)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,502)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,306)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expenses):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,628)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,677)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,229)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,563</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,341</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (844)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign exchange gain (loss), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,768</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,674)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 616</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income (expenses), net:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,894)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,561)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,200)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income tax benefit (expense)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (34,223)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,424</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,786</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,385</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 246,382</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,968</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF COMPREHENSIVE INCOME</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,968</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other comprehensive income (loss) (net of tax)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,905)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (120,511)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Comprehensive income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 227,631</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,457</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">STATEMENTS OF CASH FLOWS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,968</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to net cash provided by provided by (used in) operating activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accretion of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,302</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss (gain) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (25,341)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,043)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 844</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (171,293)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (101,385)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (246,382)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,370</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 805</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,319</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 287,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (206,892)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,990</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (13,183)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,900)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,907)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (340,502)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (42,224)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,610</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (27,293)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,154)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 306</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,915)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,702)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 439</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (22,877)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (264,201)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,714</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (126,487)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (138,456)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (65,421)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (2,766)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,273)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (990)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (264,848)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (201,192)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (122,050)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans to subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 253,816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,573</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (373,616)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (91,105)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (15,888)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from (repayment of) short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (80,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loan from subsidiary</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (49,554)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Loan from a subsidiary</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 280,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from changes in ownership interests in subsidiaries without change of control</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 224,553</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net proceeds from issuance of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,826</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of common shares</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (5,963)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 472,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 348,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (49,554)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (43,246)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (797)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,957</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,712</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (7,593)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (11,771)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,313</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,432</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,661</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,521</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</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_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.5-04(Schedule I))<br> -URI https://asc.fasb.org/extlink&amp;oid=126898705&amp;loc=d3e5864-122674<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=d3e5283-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>58
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538401296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. The permanent equity represented by third party or affiliate interest in non-wholly owned entities that the Company consolidates is shown as non-controlling interests in equity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity, the non-controlling shareholder or partner do not hold substantive participating rights, redemption rights and no other conditions exist that would indicate that a company does not control the entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#8217;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE, except for financial guarantee provided by the Company with respect to the debt obligations of the consolidated VIEs of $5,912 and $25,257 as of December 31, 2021 and 2022, respectively. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</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_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassification</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Reclassifications</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain prior period balances have been reclassified to conform to the current period presentation in the Company&#8217;s consolidated financial statements and the accompanying notes. Such reclassifications had no effect on previously reported results of operations or retained earnings.</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_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of total cost and estimates of variable consideration), allowance for credit losses on accounts receivable, advances to suppliers and other receivables, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash and cash equivalents and restricted cash</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand, money market fund and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when acquired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</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_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy', window );">Accounts receivable, unbilled</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</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_CreditLossFinancialInstrumentPolicyTextBlock', window );">Allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;&#160;Allowance for credit losses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s accounts receivable trade, advances to suppliers and other receivables are presented net of an allowance for credit losses. The Company establishes current expected credit losses (&#8220;CECL&#8221;) through an assessment based on external credit rating, internal credit rating and historical loss rates of debtors. Where CECL is measured on a collective basis or caters for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of its accounts receivable trade in order to reduce its exposure to credit loss. The Company provides an allowance for accounts receivable trade considering factors such as historical collection experience, the age of the accounts receivable and other currently available evidence supporting recoverability. An allowance is recorded regardless of whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $1,409 and $1,873 as of December 31, 2021 and 2022, respectively and a corresponding reduction in general and administrative expenses.</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_csiq_AdvancesToSuppliersPolicyTextBlock', window );">Advances to suppliers</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</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</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </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_csiq_ProjectAssetsPolicyTextBlock', window );">Project assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets consist primarily of capitalized costs relating to solar and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage project. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules, batteries storage, inverters, energy stations, power plant controllers and related equipment. Interest costs incurred on debt during the construction phase, all deferred financing costs amortized during the construction phase, and indirect project costs are also capitalized within project assets. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Solar and battery storage projects are classified as project assets unless the Company has intention not to sell them to third parties. In that case, these projects that the Company intends to hold and operate to generate income from the sale or storage of electricity are classified as solar power systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar and battery storage projects as guided by ASC 970. The costs to develop or construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year are classified as project assets-current. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Otherwise, the Company considers the project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the project asset and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within cost of revenues in the consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;">Project assets are often held in separate legal entities and VIEs which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2(b) above. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity, the project assets will be reclassified to solar and battery storage power systems at the lower of their carrying amounts, adjusted for any depreciation expense that would have been recognized had the project assets been continuously classified as held and used, or fair value at the date of the subsequent decision not to sell.</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_BusinessCombinationsPolicy', window );">Business combination</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. The Company recognizes adjustments to provisional amounts to reflect additional information obtained for incomplete facts and circumstances as of acquisition date. The measurement period ends once the Company receives sufficient information to finalize fair value, however, the period will not exceed 1 year from the acquisition date. </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_csiq_AssetsAcquisitionPolicyTextBlock', window );">Assets acquisition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</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, plant and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</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_csiq_SolarPowerSystemsPolicyPolicyTextBlock', window );">Solar power systems</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power systems generally comprised of ground-mounted utility-scale projects that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation. The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the power purchase agreements (&#8220;PPA&#8221;) and performance based energy incentives, permits, consents, construction costs, equipment costs, land costs, interest costs capitalized, and other costs capitalized. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems are retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#8217;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change was being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.</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_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy', window );">Intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1-10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_LandUseRightPolicyTextBlock', window );">Land use rights</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;Land use rights</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Land use rights represent operating leases in accordance with ASC 842.  The amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) is recorded as operating lease right-of-use (&#8220;ROU&#8221;) assets on the consolidated balance sheets. Amounts are charged to earnings ratably over the land use right periods of generally </span>50 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_EquityMethodInvestmentsPolicy', window );">Investments in affiliates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on capital, and the rest of the amount is considered as return of capital.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2020, 2021 and 2022, the Company recorded $24,060, nil and $357 of impairment charges on its investments, respectively.</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets, when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss for amount by which the carrying amount of the assets exceeds its fair value. Fair value is generally measured based on either quoted market prices, if available, or discounted cash flow analyses. The Company recorded impairment charges for long-lived assets of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively.</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_InterestCapitalizationPolicyPolicyTextBlock', window );">Interest capitalization</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sale to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</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_AssetRetirementObligationsPolicy', window );">Assets retirement obligation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company&#8217;s long-lived assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. The Company recognizes the fair value of a liability for an assets retirement obligation (&#8220;ARO&#8221;) in the period in which the obligation is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset, except in cases where the asset is depreciated over lease terms that differ from its useful life. Upon settlement of the obligation, the Company eliminates the liability and, based on actual cost to retire, may incur a gain or loss. The Company&#8217;s ARO included in solar power systems were $110 and $399 as of December 31, 2021 and 2022, respectively.</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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception based on the relevant facts and circumstances. Operating leases are included in operating lease ROU assets and operating lease liabilities on the consolidated balance sheets. Finance leases are included in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period in which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less and do not include a purchase option or extension that is reasonably certain to be exercised are not recorded on the consolidated balance sheets, and instead the lease expense is recognized on a straight-line basis over the term of the lease.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense in the Company&#8217;s consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in its consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment loss on its consolidated statements of operations.</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_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</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_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer. The Company is subjected to sales taxes, goods and services taxes and value added taxes on its sales of products, and recognizes revenue net of these taxes and estimated returns.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar power products</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power products, including solar modules, solar system kits, inverters, accessories and materials related to solar power products are transferred at a point in time when the customers obtain control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include charges to customers for shipping and handling activities. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (ab) for the Company&#8217;s accounting policy for warranty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customers. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery storage solutions and EPC services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue for the sales of battery storage solutions (system integration solutions, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#8217;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Revenue recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total estimated costs to determine its progress towards contract completion and to calculate the corresponding amount of revenue to recognize. The Company is also required to make estimates of revenues and costs to complete its projects. In making such estimates, significant judgment is required to evaluate the underlying assumptions, including the impact of any performance incentives, liquidated damages, and other payments to customers. If estimated total costs of any contract are greater than the estimated net revenues of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates using the cost-based input method of revenue recognition are recorded in the period in which the revisions are identified. At the inception of each contract that includes variable consideration, the Company evaluates the amount of potential payment and the likelihood that the payments will be received. The Company utilizes either the most likely amount method or expected value method to estimate the amount expected to be received based on which method best predicts the amount expected to be received. The contracts do not contain significant financing component.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Performance obligation for long term service contract, including capacity, operating system performance and battery augmentation, is accounted for separately if the performance obligation is considered to be distinct. The Company considers the performance obligation to be distinct if the customer can benefit from the good or service either on its own or together with other resources readily available to the customer, and the Company&#8217;s promise to transfer the good or service to the customer is separately identifiable from other promises in the contract. The Company generally allocates the transaction price to each performance obligation based on a relative standalone selling price basis. The Company develops assumptions that require judgment to determine the standalone selling price for each performance obligation in consideration of applicable market conditions, relevant entity-specific factors and information about the customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar and battery storage projects</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects and battery storage power projects (project development activities, including sourcing land, interconnection, structuring power purchase agreements, obtaining permits and other requirements) are recognized at a point in time when customers obtain control of solar power or battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customers, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The solar and battery storage projects are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#8220;project companies&#8221;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operations and Maintenance (&#8220;O&amp;M&#8221;) and asset management services</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performance and the costs of O&amp;M and asset management services are expensed when incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company generally recognizes electricity revenue based on the price stated in the PPAs when the specific volume of electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the attached conditions have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2020, 2021 and 2022, the Company recognized performance-based energy incentives related to electricity generated of $6,628, $9,402 and $2,908, respectively, in revenue. The Company will evaluate its long-term PPAs to determine whether the PPAs should be accounted for as an operating lease. A lease is deemed to exist when a single off-taker has the ability or right to operate the solar power plant, control physical access, or is entitled to obtain substantially all the output from the facility. Variable lease payment is recognized over the term of lease as contingent rent revenue when output is delivered, whereas fixed lease payment is recognized as lease revenue on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s electricity revenue during the years ended December 31, 2020, 2021 and 2022 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electricity Revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,256</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,579</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,835</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company determined that certain PPAs are operating leases and as a result, recognizes revenue as contingent rental revenue when output is delivered. Such revenue, which is presented as electricity revenue above, amounted to $2,457, $4,940 and $4,736 for the years ended December 31, 2020, 2021 and 2022, respectively. The remaining amounts of $7,249, $24,480 and $19,099 for the years ended December 31, 2020, 2021 and 2022, respectively, are recorded in accordance with ASC 606.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The disaggregation of revenue from contracts with customers for the years ended December 31, 2020, 2021 and 2022 has been disclosed under Segment Information. See Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,881,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,173,338</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 271,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,747</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 763,698</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,827</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2022, $219,836 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2022. Contract liabilities of $406,751 as of December 31, 2022 are expected to be realized within one year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,770</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,943</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,808</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 406,751</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has applied the practical expedient by accounting for contracts (or performance obligations) with similar characteristics on a portfolio basis. The Company does not expect that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would differ materially from applying the guidance to the individual contracts (or performance obligations) within that portfolio.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed. Revenue recognized in years ended December 31, 2021 and 2022 from performance obligations satisfied in prior periods were insignificant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period of more than one year are not material to the Company.</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_csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock', window );">Shipping and handling</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Shipping and handling </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of 134,248, $316,358 and $453,865, are included in selling and distribution expenses for the years ended December 31, 2020, 2021 and 2022, respectively.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and development</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $45,167, $58,407 and $69,822 for the years ended December 31, 2020, 2021 and 2022, respectively.</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_csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock', window );">Other operating income, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In most case, the attached conditions of grants are for a specific performance or duration related to the construction and acquisition of property, plant and equipment, achievement of business development plan, technology innovation, and human capital development. These conditions may be subject to review, audit and approval by the local government authorities and, therefore, could be different from the amounts recorded.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2022, the Company has $786 and $165,946 of government grants in other current liabilities and other non-current liabilities, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (59,543)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (gain) loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,259)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,802)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_StandardProductWarrantyPolicy', window );">Warranty cost</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2009, the Company sold its standard solar modules typically with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In 2011, the Company increased its guarantee for defects in materials and workmanship to ten years. In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years. In 2022, the Company increased its guarantee for defects in materials and workmanship up to 15 years or 25 years for certain module types, and the Company warrant that, for a period of 25 years, its Ku/Hiku modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output. The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated warranty costs based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue from sales of solar module&#160;products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company warrants its battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. The Company continuously monitors its warranty failures and maintains a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Estimates related to the outstanding warranty liability are re-evaluated on an ongoing basis using best-available information and revisions are made as necessary. The Company has obtained warranties from its battery cell suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by the Company under EPC services, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up a portion of its warranties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties on solar module products. The insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy periods. The unamortized carrying amount is $528 and $264 as of December 31, 2021 and 2022, respectively, and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursable by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance companies are monitored to ensure the claim has been submitted to the insurance companies, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances, and the measurement of expected credit losses. To date, no provision has been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates or the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation as described above and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $87,729 and $84,474 as of December 31, 2021 and 2022, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made upward adjustments to its accrued warranty costs of $4,089 for the year ended December 31, 2022, to reflect the increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $26,931, $45,053 and $68,411 are included in cost of revenues for the years ended December 31, 2020, 2021 and 2022, respectively.</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 translation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen, Brazilian reals (&#8220;BRL&#8221;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive income</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i) net income, (ii) foreign currency translation adjustments, including gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities, (iii) the unrealized gains or losses (effective portion) on and de-recognition of derivative instruments that qualify for and have been designated as cash flow hedges and (iv) unrealized gains or losses in fair value of available-for-sale debt securities. </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_csiq_ForeignCurrencyRiskPolicyTextBlock', window );">Foreign currency risk</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Japanese Yen, Brazilian reals, Australian dollars, South African rand and British pounds. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi and U.S. dollars. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht, may result in foreign exchange gains or losses. The Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of credit risk</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#8217;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials and equipment. The Company performs ongoing credit evaluations of its suppliers&#8217; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#8217;s expectation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2021 and 2022, gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2022.</p></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_FairValueOfFinancialInstrumentsPolicy', window );">Fair value of financial instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritizes the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s money market fund included in cash equivalent, restricted cash balance, mutual funds to satisfy its obligations under its employee deferred compensation plan and listed equity securities for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </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_DerivativesPolicyTextBlock', window );">Derivatives instruments and hedging activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting. ASC 815 provides for three different ways to account for derivative instruments: (i) as a cash flow or fair value hedge; (ii) as a mark-to-market agreement with changes in fair value recognized in current period earnings; or (iii) as an accrual agreement, if the criteria for the normal purchase normal sale exception are met and documented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from non-functional currency-denominated monetary assets, liabilities and cash flows, and to hedge its commodity risk exposure to losses from raw material price fluctuations. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using observable inputs obtained from active markets or pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty with the Company, as necessary. </p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Earnings per share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</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_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-based compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.</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_csiq_UnusualOrInfrequentItemPolicyTextBlock', window );">Risks and uncertainties related to the COVID-19 pandemic</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#160;Risks and uncertainties related to the COVID-19 pandemic</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#8217;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#8217;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.</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 );">Recently issued accounting pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2020, the FASB issued ASU No. 2020-01, which clarifies that a company should consider observable transactions that require a company to either apply or discontinue the equity method of accounting under Topic 323, Investment &#8211; Equity Method and Joint Ventures, for the purposes of applying the measurement alternative in accordance with Topic 321, Investments &#8211; Equity Securities immediately before applying or upon discontinuing the equity method. The amendment was effective for fiscal years beginning after December 15, 2020. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, &#8220;Reference Rate Reform (Topic 848)&#8221;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#8217;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#8220;Reference Rate Reform &#8212; Scope,&#8221; which clarified the scope of ASC 848 relating to contract modifications. In addition, in December 2022, the FASB issued ASU No. 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,&#8221; which deferred the sunset date in Topic 848 from December 31, 2022 to December 31, 2024. The ASU 2022-06 became effective upon issuance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#160;Recently issued accounting pronouncements (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The Company has $208,621 of LIBOR debt as of December 31, 2022 and projects the balance will be approximately $185,326 by the June 2023 discontinuance date. All of the Company&#8217;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August, 2020, the FASB issued ASU No. 2020-06, Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#8217;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#8217;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In October 2021, the FASB issued ASU No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which require that an entity (acquirer) recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Revenue from Contracts with Customers (Topic 606). At the acquisition date, an acquirer should account for the related revenue contracts in accordance with Topic 606 as if it had originated the contracts. The amendments in this update also provide certain practical expedients for acquirers when recognizing and measuring acquired contract assets and contract liabilities from revenue contracts in a business combination. The standard is effective for interim and annual periods beginning after December 15, 2022, with early adoption permitted. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November 2021, the FASB issued ASU No. 2021-10, &#8220;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#8221;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#8217;s financial statements. The Company adopted this new standard on January 1, 2022 and the adoption did not have a material impact on the Company&#8217;s consolidated financial statements. See note 2(aa) for discussion regarding such amounts recorded in 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In September 2022, the FASB issued ASU No. 2022-04, Liabilities-Supplier Finance Programs (Subtopic 405-50) - Disclosure of Supplier Finance Program Obligations, which requires that a buyer in a supplier finance program disclose sufficient information about the program to allow a user of financial statements to understand the program&#8217;s nature, activity during the period, changes from period to period, and potential magnitude. The amendment in this update is expected to improve financial reporting by requiring new disclosures about the programs, thereby allowing financial statement users to better consider the effect of the programs on an entity&#8217;s working capital, liquidity, and cash flows. The new standard is effective for fiscal years beginning after December 15, 2022, except for the amendment on roll forward information which is effective for fiscal years beginning after December 15, 2023. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#8217;s consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdvancesToSuppliersPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesToSuppliersPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_AssetsAcquisitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsAcquisitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ForeignCurrencyRiskPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ForeignCurrencyRiskPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_LandUseRightPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LandUseRightPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other operating income and other operating expense items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProjectAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 project asset costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarPowerSystemsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 solar power system used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_UnusualOrInfrequentItemPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 policy related to unusual and/or infrequent items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnusualOrInfrequentItemPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_AssetRetirementObligationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=2175671<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetRetirementObligationsPolicy</td>
</tr>
<tr>
<td style="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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6049-115624<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditLossFinancialInstrumentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 7A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120269220-210453<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3D<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267969-210447<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL82922895-210455<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 35<br> -Paragraph 13A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515542&amp;loc=SL120267917-210453<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 35<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124266218&amp;loc=SL120267834-210445<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 4A<br> -URI https://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120269210-210444<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919260-210447<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL120267845-210446<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919253-210447<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919272-210447<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 30<br> -Paragraph 5A<br> -URI https://asc.fasb.org/extlink&amp;oid=124256539&amp;loc=SL120254536-210444<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3C<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL120267966-210447<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 30<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=124268681&amp;loc=SL120267897-210452<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919244-210447<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3D<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267862-210455<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.Q4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122651532&amp;loc=SL122037091-237805<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3C<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267859-210455<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3A<br> -URI https://asc.fasb.org/extlink&amp;oid=124269663&amp;loc=SL120267853-210455<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditLossFinancialInstrumentPolicyTextBlock</td>
</tr>
<tr>
<td style="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_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41620-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41638-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41675-113959<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579240-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=SL94080555-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -URI https://asc.fasb.org/topic&amp;trid=2175825<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_InterestCapitalizationPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest capitalization.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCapitalizationPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126900757&amp;loc=d3e543-108305<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leasing arrangement entered into by lessee.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918666-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429488&amp;loc=d3e326-107755<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -URI https://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 treatment of receivables that are billable but have not been billed as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI https://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539963040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</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_csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock', window );">Schedule of expected useful lives of property and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of useful life intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">1-10 years</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfElectricityRevenueTableTextBlock', window );">Schedule of company's electricity revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';">&#160;&#160;&#160;&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electricity Revenue:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,256</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 629</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,579</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,706</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,420</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,835</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,704,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,881,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,173,338</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 271,513</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,747</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy Segment:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 687,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,068,179</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 763,698</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,904</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,827</p></td></tr><tr><td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and contract liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,770</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,943</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,808</p></td></tr><tr><td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 234,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 406,751</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock', window );">Summary of the Company's other operating income, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Government grants</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,245)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (38,468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (59,543)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (gain) loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,259)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,091)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Insurance claims on) weather-related project damages </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,025)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,523)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,068)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,802)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock', window );">Schedule of gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,257</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr><tr><td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Supplier C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(1)</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Not in excess of 10% of total advances to suppliers as of December 31, 2022.</p></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_csiq_ScheduleOfElectricityRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Schedule of Electricity Revenue</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfElectricityRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounting policy for other operating income and other operating expense items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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>60
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530122656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR CREDIT LOSSES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of allowances for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Advances&#160;to&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts&#160;Receivable&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Suppliers&#160;and</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Trade</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other&#160;Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,712</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cumulative-effect adjustment for the adoption of ASU 2016-13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,647</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (639)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,490)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,293</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,502</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (197)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (53)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (141)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 186</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,079</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Provision for credit losses, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,424</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Write-offs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (109)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,295)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,436)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (834)</p></td></tr><tr><td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance as of December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,374</p></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_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 698,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,020,880</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (47,126)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,930)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable trade, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 651,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 970,950</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember', window );">Allowances for advances to suppliers</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320,211</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,682)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,375)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advances to suppliers, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 260,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,836</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 280,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,195</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (9,999)</p></td></tr><tr><td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,196</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</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_AccountsNotesAndLoansReceivableLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AccountsNotesAndLoansReceivableLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534466752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>INVENTORIES</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 inventories</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310,394</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,109</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 919,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 948,592</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,192,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,524,095</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534508864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</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_csiq_ScheduleOfProjectAssetsTableTextBlock', window );">Schedule of project assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; Development cost, including project acquisition and land cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444,858</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other construction cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 469,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 379,635</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,361</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 824,493</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 594,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 385,964</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 433,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,529</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfProjectAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of project 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;">csiq_ScheduleOfProjectAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>63
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534668368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</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_csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock', window );">Schedule of property, plant and equipment, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Buildings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 720,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 764,577</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,896</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Machinery</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,441,546</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,470,957</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,928</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,527</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Freehold land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,691</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,285</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,320,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,376,170</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,019,988)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (908,888)</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,300,897</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,467,282</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 359,361</p></td></tr><tr><td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,401,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,826,643</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of property, plant and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_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>64
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534439296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_csiq_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, NET</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_csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock', window );">Schedule of solar power systems, net</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,707</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,684</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 209,200</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 381,907</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,760)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,091)</p></td></tr><tr><td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,263</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 364,816</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of solar power systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarPowerSystemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_SolarPowerSystemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>65
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534475040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>INTANGIBLE ASSETS, NET</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_csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,430)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,131)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,517</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,561)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,530</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,577</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,059</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,082)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,977</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,644)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,992</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 carrying value and amortization of finite-lived intangible assets by major class.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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>66
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536832848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments on the consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,730</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,576</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,580</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,104</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,255</p></td></tr><tr><td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,359</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</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_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of effect of derivative instruments on consolidated statements of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,807</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (49,388)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,918</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (4,019)</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (1,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,001</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,785</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"> (44,489)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624181-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5618551-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="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>67
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534653120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract', window );"><strong>VARIABLE INTEREST ENTITIES</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_ScheduleOfVariableInterestEntitiesTextBlock', window );">Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,903</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Project assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,315</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 320,460</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,091</p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,163</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total assets</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 390,606</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 366,526</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,857</p></td><td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 191,792</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,675</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,366</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 257,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,833</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</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_ScheduleOfVariableInterestEntitiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=SL6759159-111685<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5747-111685<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=SL6228884-111685<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5728-111685<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfVariableInterestEntitiesTextBlock</td>
</tr>
<tr>
<td style="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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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>68
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534463024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', window );"><strong>INVESTMENTS IN AFFILIATES</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_EquityMethodInvestmentsTextBlock', window );">Schedule of investments in affiliates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:39.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:19.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.17</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">RE Crimson Holdings LLC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,272</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="font-size:11pt;">Lavras Solar Holding S.A.</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,961</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.64</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Francisco Sa Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.85</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,868</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.85</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Salgueiro Solar Holding S.A</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,595</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.38</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Jaiba Solar Holding S.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,903</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,077</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15.92-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">10.86-49</p></td></tr><tr><td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,784</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>69
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530104352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amortization of ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,920</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,406</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest on lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,994</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,936</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,884</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,028</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,364</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock', window );">Schedule of supplement balance sheet information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,286</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,506</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,094</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,600</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,810</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities - non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,714</p></td></tr><tr><td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock', window );">Schedule of other supplemental information</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,349)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,994)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating cash outflows from operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,972)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,032)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Financing cash outflows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,554)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20,194)</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,393</p></td></tr><tr><td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">ROU assets disposed through early termination of operating leases in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (965)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - finance leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of remaining lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average of lease discount rate - operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of lease maturities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,517</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,315</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,062</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,586</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,155</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,156</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,666</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,133</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,918</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,325</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,593</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_fABpZzIpOk-x8U7lksz8Cg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Short-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,507</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="-sec-ix-hidden:Hidden_ZpeYQQuy1023lBvr_RvBDg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Long-term</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,086</p></td></tr><tr><td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Tek3YO5uCkiiEpdXHPnrpg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Total lease liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,593</p></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_csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 components of leases that are recognized on the Balance Sheets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information relating to operating leases as of balance sheet.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820532995744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of bank borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings related to project assets<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 474,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 333,521</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other short-term borrowings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,118,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,110,295</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,592,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443,816</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings related to project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 327,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,987</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,418</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 494,419</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 523,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 813,406</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,116,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,257,222</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"/><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of future principal repayments on the long-term borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,443,816</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 639,862</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,615</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,775</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,475</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,679</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,257,222</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfEffectiveInterestRatesTableTextBlock', window );">Schedule of weighted average effective interest rates on borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">%  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_csiq_ScheduleOfInterestExpenseTableTextBlock', window );">Schedule of interest incurred</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,439</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,666</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 154</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,266</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,371</p></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_csiq_ScheduleOfEffectiveInterestRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 average effective interest rates on borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfEffectiveInterestRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfInterestExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest expenses related to borrowings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfInterestExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturity and sinking fund requirement 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="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>71
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534508864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ProductWarrantiesDisclosuresAbstract', window );"><strong>ACCRUED WARRANTY COSTS</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_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Summary of the Company's warranty activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,931</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,053</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,411</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,432)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,943)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,207)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,937)</p></td></tr><tr><td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,677</p></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_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538351840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>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_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAXES</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income (loss) before income taxes and equity in earnings of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (31,896)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (19,357)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (117,145)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,275</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 184,113</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,943)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,705</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,665</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,179</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,956)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,728)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,424</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (39,412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,448</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,052</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,562)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,155</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,949</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,035</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,464</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,468</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,707)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,421)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,684)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,276</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,356</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,528</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,047</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,054</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (489)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 872</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,023</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,722</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,183</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,081</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,269</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,792)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 685</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,629</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,604)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,996</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,998)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (65,017)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,571)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (173)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,546</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,620</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,192)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,645)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,238)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (67,237)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,084</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total income tax expense (benefit)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (439)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,078)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,248)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 312</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,661)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,028</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,694</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,881</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (489)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 617</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,103</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,395</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,569</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,538</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,983)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,353</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of true-up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_SummaryOfIncomeTaxHolidayTextBlock', window );">Schedule of aggregate amount and per share effect of the tax holiday</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="7" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of U.S.&#160;Dollars,&#160;except per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,466</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,520</p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of components of the deferred tax assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,318</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,772</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,404</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,351</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,332</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping and countervailing duty deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Government subsidies</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,723</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 110,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,474</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 491</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,677</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,800</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,031</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,690</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,761</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,494</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 272,714</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (45,682)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,488)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,226</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,899</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,914</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,046</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,856</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,630</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162,596</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 236,503</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,226</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,150)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (66,630)</p></td></tr><tr><td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 188,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 162,596</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</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_SummaryOfValuationAllowanceTextBlock', window );">Schedule of movement of the valuation allowance</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,682</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reversals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,585)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,671)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,531)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (663)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,118</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,682</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,488</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,863</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,011)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,763)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (678)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (415)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,628</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,770</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI https://asc.fasb.org/extlink&amp;oid=126976462&amp;loc=d3e36027-109320<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="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_SummaryOfIncomeTaxHolidayTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxHolidayTextBlock</td>
</tr>
<tr>
<td style="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_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="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>73
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530328112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computation of basic and diluted earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,968</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effect of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,183</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 148,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,151</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,575,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,614,391</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,324,558</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 897,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 985,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 586,420</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,833,663</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,272,157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,272,157</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,306,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,872,102</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,183,135</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.73</p></td></tr><tr><td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.44</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,877</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,295</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536482160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember', window );">Property, plant and equipment</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_LongTermPurchaseCommitmentTextBlock', window );">Schedule of payment for commitments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 267,766</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,475</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 300,294</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember', window );">Solar power system</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_LongTermPurchaseCommitmentTextBlock', window );">Schedule of payment for commitments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,617</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,245</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,124</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_LongTermPurchaseCommitmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentTextBlock</td>
</tr>
<tr>
<td style="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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820528602272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>SEGMENT INFORMATION</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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Summary of Company's revenues and gross profit and income from operations generated from each segment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,975,612</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 821,525</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (328,527)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,824,855</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 660,161</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (279,542)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,205,474</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,150,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 161,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (48,985)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,263,136</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 343,798</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 80,364</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,101)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,061</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,371,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,124,083</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (218,517)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,689,126</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 930,099</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (251,368)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,367,857</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 682,477</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 193,984</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,851</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 909,312</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,179</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190,381</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">and </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">unallocated </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CSI Solar</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Global Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">items </b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,105,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 726,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (354,716)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,496,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 577,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (286,624)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,786,581</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 608,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 149,115</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (68,092)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 689,914</p></td></tr><tr><td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income from operations <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 253,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (86,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,430</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#8217;s evaluation of reportable segment operating performance.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Income from operations reflects management&#8217;s allocation and estimate as some services are shared by the Company&#8217;s </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">two</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> reportable segments.</span></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 );">Summary of the Company's net revenues generated from different geographic locations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 696,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,590,573</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,963,956</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 442,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 623,331</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,148</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Chile</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,872</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,461</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,370</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,912</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,934</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,221,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,279,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,793,651</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Asia:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 504,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,207,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,904,862</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 560,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 509,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 325,344</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,141</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,772</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Pakistan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,531</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,422</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,411</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,254</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,974</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,941</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289,621</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,078</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128,440</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,612</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,620,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,139,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,739,779</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434,841</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,959</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,035</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 231,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 322,189</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,372</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,375</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,458</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,662</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,414</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Ireland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,844</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,740</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Romania</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,258</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,699</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"> </span><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,804</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;France</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,147</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,175</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216,591</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">634,550</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">858,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,935,180</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">7,468,610</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,668,177</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,497</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,761</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Argentina</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,017</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">EU</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,824</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,182</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,440</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,200</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,545</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,770</p></td></tr><tr><td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,635,429</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,312,589</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Summary of the Company's revenues generated from each product or service</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">CSI Solar:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,348,724</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,328,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,534,379</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 302,133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 538,157</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Utility-scale battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 440,030</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Residential battery storage</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 686</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">China energy/EPC (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 175,388</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,830</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,711</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,661</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,122</p></td></tr><tr><td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Global Energy:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar and battery storage projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 654,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,064,178</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 761,677</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M and asset management services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,334</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,776</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (includes electricity sales)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,072</p></td></tr><tr><td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,476,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,277,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,468,610</p></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_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=121556970&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="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>76
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534395984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of the RSU activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in whole US dollars)</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,335,303</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24.23</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 444,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29.86</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (483,377)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19.41</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (106,717)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27.03</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,189,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25.65</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</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_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_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="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>77
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530304032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)<br> $ in Thousands, &#165; in Millions</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SharePurchaseProceedsFromThirdPartyInvestors', window );">Proceeds from share purchases of third-party investors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 224,553<span></span>
</td>
<td class="nump">$ 224,553<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_csiq_PercentageOfDiscountOnIssueOfShares', window );">Percentage of discount on issue of shares</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">30.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PremiumDiscountOnIssueOfShares', window );">Premium on transaction issue of shares</a></td>
<td class="nump">&#165; 5,250<span></span>
</td>
<td class="nump">$ 768,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_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_OtherPayablesMember', window );">Other payables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SubscriptionAdvances', window );">Subscription advances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,342<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_CounterpartyNameAxis=csiq_CanadianSolarEmployeesMember', window );">Canadian Solar Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Equity fair value of consideration transferred</a></td>
<td class="nump">31<span></span>
</td>
<td class="nump">$ 4,500<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=csiq_CanadianSolarMember', window );">Canadian Solar</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Ownership percentage by non-controlling owners</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.40%<span></span>
</td>
<td class="nump">20.40%<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=csiq_CanadianSolarMember', window );">Canadian Solar | Third-Party Investors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan', window );">Aggregated transaction amount under employee incentive plan</a></td>
<td class="nump">248<span></span>
</td>
<td class="nump">$ 36,342<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">CSI Solar Co</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Aggregate consideration transferred</a></td>
<td class="nump">1,500<span></span>
</td>
<td class="nump">219,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_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable', window );">Equity fair value of consideration transferred</a></td>
<td class="nump">&#165; 7,500<span></span>
</td>
<td class="nump">$ 1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PercentageOfDiscountOnIssueOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount on issue of shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PercentageOfDiscountOnIssueOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PremiumDiscountOnIssueOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 premium or discount on issue of shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PremiumDiscountOnIssueOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SharePurchaseProceedsFromThirdPartyInvestors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SharePurchaseProceedsFromThirdPartyInvestors</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SubscriptionAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 subscription advances were fully received and recorded as other payables on the consolidated balance sheets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SubscriptionAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126975305&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126966197&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 expensed and capitalized 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 value of stock issued during the period as a result of employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 25<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=109244457&amp;loc=d3e16649-113920<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BalanceSheetLocationAxis=csiq_OtherPayablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_OtherPayablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CounterpartyNameAxis=csiq_CanadianSolarEmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CounterpartyNameAxis=csiq_CanadianSolarEmployeesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CounterpartyNameAxis=csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CounterpartyNameAxis=csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529961504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_GuaranteeObligationsByNatureAxis=us-gaap_FinancialGuaranteeMember', window );">Financial Guarantee | Variable Interest Entity</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_GainContingenciesLineItems', window );"><strong>Principal accounting policies:</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_GuaranteeObligationsMaximumExposure', window );">Guarantor obligations, maximum exposure</a></td>
<td class="nump">$ 25,257<span></span>
</td>
<td class="nump">$ 5,912<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid expenses and other current assets</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_GainContingenciesLineItems', window );"><strong>Principal accounting policies:</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_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for credit losses</a></td>
<td class="nump">$ 1,873<span></span>
</td>
<td class="nump">$ 1,409<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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_GainContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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_GuaranteeObligationsMaximumExposure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee or each group of similar guarantees before reduction for potential recoveries under recourse or collateralization provisions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124440162&amp;loc=d3e12069-110248<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteeObligationsMaximumExposure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GuaranteeObligationsByNatureAxis=us-gaap_FinancialGuaranteeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GuaranteeObligationsByNatureAxis=us-gaap_FinancialGuaranteeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533754784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_BuildingMember', window );">Buildings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor vehicles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | Depreciation life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">30 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker', window );">Maximum useful life of transferred to an offtaker</a></td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncreaseDecreaseInDepreciationExpense', window );">Increase or decrease in depreciation expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,186<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_ElectricGenerationEquipmentMember', window );">Solar power systems | Minimum | Depreciation life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | Maximum | Depreciation life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">25 years<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_csiq_IncreaseDecreaseInDepreciationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 increase Decrease in Depreciation 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;">csiq_IncreaseDecreaseInDepreciationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the maximum useful life of project to be transferred to an offtaker.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=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_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ChangeInAccountingEstimateByTypeAxis=us-gaap_ServiceLifeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ChangeInAccountingEstimateByTypeAxis=us-gaap_ServiceLifeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>80
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820528533712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2022</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Minimum</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Maximum</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember', window );">Land use rights</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">50 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=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_FiniteLivedIntangibleAssetsByMajorClassAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>81
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820539687040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</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_ImpairmentOfInvestments', window );">Impairment charges on investments</a></td>
<td class="nump">$ 357<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 24,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_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<span></span>
</td>
<td class="nump">$ 11,854<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetRetirementObligation', window );">Asset retirement obligation</a></td>
<td class="nump">$ 399<span></span>
</td>
<td class="nump">$ 110<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_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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetRetirementObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -Section 25<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=116646717&amp;loc=d3e6290-110844<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6392692&amp;loc=d3e7535-110849<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetRetirementObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>82
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536727904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember', window );">Electricity</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_csiq_AmountOfPerformanceBasedEnergyIncentives', window );">Amount of performance based energy incentives</a></td>
<td class="nump">$ 2,908<span></span>
</td>
<td class="nump">$ 9,402<span></span>
</td>
<td class="nump">$ 6,628<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AmountOfPerformanceBasedEnergyIncentives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 performance based energy incentives recognized in revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AmountOfPerformanceBasedEnergyIncentives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>83
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538493328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_OperatingLeaseIncomeComprehensiveIncomeExtensibleList', window );">Operating Lease, Lease Income, Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Other Operating Income (Expense), Net<span></span>
</td>
<td class="text">Other Operating Income (Expense), Net<span></span>
</td>
<td class="text">Other Operating Income (Expense), Net<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<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_ElectricityMember', window );">Electricity</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Total net revenues</a></td>
<td class="nump">23,835<span></span>
</td>
<td class="nump">29,420<span></span>
</td>
<td class="nump">9,706<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLeaseIncome', window );">Operating lease income</a></td>
<td class="nump">4,736<span></span>
</td>
<td class="nump">4,940<span></span>
</td>
<td class="nump">2,457<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">19,099<span></span>
</td>
<td class="nump">24,480<span></span>
</td>
<td class="nump">7,249<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Electricity</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Total net revenues</a></td>
<td class="nump">2,256<span></span>
</td>
<td class="nump">15,302<span></span>
</td>
<td class="nump">9,077<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=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Electricity</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Total net revenues</a></td>
<td class="nump">$ 21,579<span></span>
</td>
<td class="nump">$ 14,118<span></span>
</td>
<td class="nump">$ 629<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseIncomeComprehensiveIncomeExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of comprehensive income that includes operating lease 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123420820&amp;loc=SL77919311-209978<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLeaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and variable lease payments paid and payable to lessor. Includes, but is not limited to, 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124258985&amp;loc=SL77919372-209981<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123420820&amp;loc=SL77919311-209978<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6A<br> -URI https://asc.fasb.org/extlink&amp;oid=126900988&amp;loc=SL77927221-108306<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLeaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>84
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529431152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | CSI Solar Segment</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">6,173,338<span></span>
</td>
<td class="nump">3,881,573<span></span>
</td>
<td class="nump">2,704,332<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | Global Energy Segment</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">763,698<span></span>
</td>
<td class="nump">1,068,179<span></span>
</td>
<td class="nump">687,759<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | CSI Solar Segment</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">473,747<span></span>
</td>
<td class="nump">271,513<span></span>
</td>
<td class="nump">45,996<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | Global Energy Segment</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 57,827<span></span>
</td>
<td class="nump">$ 55,904<span></span>
</td>
<td class="nump">$ 38,408<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>85
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530159136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetAbstract', window );"><strong>Contract Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Accounts receivables, unbilled</a></td>
<td class="nump">$ 57,770<span></span>
</td>
<td class="nump">$ 37,244<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">334,943<span></span>
</td>
<td class="nump">135,512<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_csiq_ContractLiabilitiesOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="nump">71,808<span></span>
</td>
<td class="nump">98,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_ContractWithCustomerLiability', window );">Contract liability</a></td>
<td class="nump">406,751<span></span>
</td>
<td class="nump">$ 234,006<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from beginning balance of contract liabilities</a></td>
<td class="nump">219,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Contract liabilities expected to be recognized</a></td>
<td class="nump">$ 406,751<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_csiq_ContractLiabilitiesOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other current liabilities relating to contract liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ContractLiabilitiesOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractWithCustomerAssetNetAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126919976&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820532986352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">$ 69,822<span></span>
</td>
<td class="nump">$ 58,407<span></span>
</td>
<td class="nump">$ 45,167<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</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_SellingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">$ 453,865<span></span>
</td>
<td class="nump">$ 316,358<span></span>
</td>
<td class="nump">$ 134,248<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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533622592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense', window );">Net (gain) loss on disposal of property, plant and equipment</a></td>
<td class="nump">$ 4,259<span></span>
</td>
<td class="num">$ (83)<span></span>
</td>
<td class="nump">$ 253<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_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,091)<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_csiq_InsuranceClaimsOrWeatherRelatedProjectDamages', window );">(Insurance claims on) weather-related project damages</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,408<span></span>
</td>
<td class="num">(1,025)<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_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
<td class="num">(25,523)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember', window );">Other current liabilities</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_GovernmentGrantsCurrent', window );">Government grants, current</a></td>
<td class="nump">786<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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember', window );">Other noncurrent liabilities</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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_csiq_GovernmentGrantsNonCurrent', window );">Government grants, non current</a></td>
<td class="nump">165,946<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_ProductOrServiceAxis=us-gaap_GrantMember', window );">Government grants</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_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">$ (59,543)<span></span>
</td>
<td class="num">$ (38,468)<span></span>
</td>
<td class="num">$ (24,245)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_GovernmentGrantsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Current portion of government grants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GovernmentGrantsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_GovernmentGrantsNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non Current portion of government grants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GovernmentGrantsNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InsuranceClaimsOrWeatherRelatedProjectDamages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 (insurance claims) or weather related project damages.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsuranceClaimsOrWeatherRelatedProjectDamages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loss on disposal of property, plant and equipment included in other operating 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;">csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-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_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherCurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>88
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533328880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 31, 2009</div></th>
<th class="th"><div>Aug. 31, 2011</div></th>
<th class="th"><div>Jun. 30, 2009</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</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.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InsurancePremiumUnamortizedAmountNoncurrent', window );">Unamortized carrying amount of insurance premium</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">$ 264<span></span>
</td>
<td class="nump">$ 528<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InsuranceSettlementsReceivableNoncurrent', window );">Insurance receivable</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">84,474<span></span>
</td>
<td class="nump">87,729<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_csiq_OtherNoncurrentAssetsAdjustment', window );">Downward adjustment of other non-current assets</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">4,089<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_ProductWarrantyExpense', window );">Warranty costs (net effect of adjustment) included in cost of revenues</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">$ 68,411<span></span>
</td>
<td class="nump">$ 45,053<span></span>
</td>
<td class="nump">$ 26,931<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_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember', window );">80% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</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">84.80%<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_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</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">25 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</a></td>
<td class="text">2 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</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>
</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity</a></td>
<td class="text">25 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty', window );">Minimum percentage of decline in initial minimum power generation capacity for 10 years</a></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>
</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_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty', window );">Minimum percentage of decline in initial minimum power generation capacity for 25 years</a></td>
<td class="nump">20.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_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | Material and workmanship</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">6 years<span></span>
</td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 97 % initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</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">97.50%<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_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 93% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of revenue</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">0.55%<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_ProductOrServiceAxis=csiq_BifacialModuleAndDoubleGlassModuleMember', window );">Bifacial module and double glass module</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_CertainSolarModuleMember', window );">Certain solar module | Material and workmanship</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">15 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_BatteryStorageProductsMember', window );">Battery storage products</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</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">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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_StandardProductWarrantyExtensionPeriod', window );">Standard product warranty, extension period</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">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_SolarPowerProjectsByEpcServicesMember', window );">Solar power projects by EPC services</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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>
</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_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</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">2 years<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_csiq_InsurancePolicyTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the term of the insurance policy over which the insurance premium will be amortized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePolicyTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_InsurancePremiumUnamortizedAmountNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the unamortized carrying amount of insurance premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePremiumUnamortizedAmountNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherNoncurrentAssetsAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current 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;">csiq_OtherNoncurrentAssetsAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProductWarrantyAccrualRateForSalesOfSolarModules</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_StandardProductWarrantyExtensionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The extended period of time over which the entity guarantees against defects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_StandardProductWarrantyExtensionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_StandardProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the period of time over which the entity guarantees against defects in materials and workmanship.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_StandardProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_InsuranceSettlementsReceivableNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InsuranceSettlementsReceivableNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3,4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_StandardSolarModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_StandardSolarModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_BifacialModuleAndDoubleGlassModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_BifacialModuleAndDoubleGlassModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CertainSolarModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CertainSolarModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_BatteryStorageProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_BatteryStorageProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarPowerProjectsByEpcServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SolarPowerProjectsByEpcServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>89
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533319232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</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_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="nump">$ 253,484<span></span>
</td>
<td class="nump">$ 225,879<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=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</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_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="nump">$ 35,359<span></span>
</td>
<td class="nump">37,117<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=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</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_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,257<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=us-gaap_SupplierConcentrationRiskMember', window );">Supplier | Supplier C</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration of credit risk</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_AdvancesOnInventoryPurchases', window );">Advances to suppliers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,026<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_AdvancesOnInventoryPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvancesOnInventoryPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=csiq_SupplierCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>90
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538495888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</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_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,257,222<span></span>
</td>
<td class="nump">$ 2,116,504<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member', window );">Accounting Standards Update 2020-04 [Member] | Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</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_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="nump">$ 185,326<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member', window );">Accounting Standards Update 2020-04 [Member] | London Interbank Offered Rate (LIBOR) [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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>Recently issued accounting pronouncements</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_DebtLongtermAndShorttermCombinedAmount', window );">Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 208,621<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_DebtLongtermAndShorttermCombinedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the aggregate of total long-term debt, including current maturities and short-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;">us-gaap_DebtLongtermAndShorttermCombinedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems</td>
</tr>
<tr>
<td style="padding-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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate202004Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533649520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR CREDIT LOSSES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Receivable, Net</a></td>
<td class="nump">$ 970,950<span></span>
</td>
<td class="nump">$ 651,372<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">1,020,880<span></span>
</td>
<td class="nump">698,498<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(49,930)<span></span>
</td>
<td class="num">(47,126)<span></span>
</td>
<td class="num">$ (40,293)<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_AccountsReceivableNetCurrent', window );">Receivable, Net</a></td>
<td class="nump">970,950<span></span>
</td>
<td class="nump">651,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">47,126<span></span>
</td>
<td class="nump">40,293<span></span>
</td>
<td class="nump">29,545<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_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Provision for credit losses, net</a></td>
<td class="nump">4,349<span></span>
</td>
<td class="num">(7,171)<span></span>
</td>
<td class="num">(9,785)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(109)<span></span>
</td>
<td class="num">(197)<span></span>
</td>
<td class="num">(639)<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="num">(1,436)<span></span>
</td>
<td class="num">(141)<span></span>
</td>
<td class="nump">1,602<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">49,930<span></span>
</td>
<td class="nump">47,126<span></span>
</td>
<td class="nump">40,293<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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember', window );">Allowances for advances to suppliers</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">320,211<span></span>
</td>
<td class="nump">279,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(1,375)<span></span>
</td>
<td class="num">(19,682)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Receivable, Net</a></td>
<td class="nump">318,836<span></span>
</td>
<td class="nump">260,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">19,682<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">1,375<span></span>
</td>
<td class="nump">19,682<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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AccountsReceivableGrossCurrent', window );">Receivable, gross</a></td>
<td class="nump">129,195<span></span>
</td>
<td class="nump">280,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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(9,999)<span></span>
</td>
<td class="num">(9,397)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Receivable, Net</a></td>
<td class="nump">119,196<span></span>
</td>
<td class="nump">270,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">9,397<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">9,999<span></span>
</td>
<td class="nump">9,397<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_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember', window );">Advances to Suppliers and Other Receivable</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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Accounts, Notes, Loans and Financing Receivable [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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit losses</a></td>
<td class="num">(11,374)<span></span>
</td>
<td class="num">(29,079)<span></span>
</td>
<td class="num">(28,502)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">29,079<span></span>
</td>
<td class="nump">28,502<span></span>
</td>
<td class="nump">31,712<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_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Provision for credit losses, net</a></td>
<td class="nump">1,424<span></span>
</td>
<td class="num">(444)<span></span>
</td>
<td class="num">(1,647)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Write-offs</a></td>
<td class="num">(18,295)<span></span>
</td>
<td class="num">(53)<span></span>
</td>
<td class="num">(5,490)<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="num">(834)<span></span>
</td>
<td class="nump">186<span></span>
</td>
<td class="nump">633<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">$ 11,374<span></span>
</td>
<td class="nump">$ 29,079<span></span>
</td>
<td class="nump">$ 28,502<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsNotesAndLoansReceivableLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AccountsNotesAndLoansReceivableLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=csiq_AdvancesToSuppliersAndOtherReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>92
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530203248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_InventoryNetItemsNetOfReserveAlternativeAbstract', window );"><strong>INVENTORIES</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_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 310,394<span></span>
</td>
<td class="nump">$ 155,433<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">265,109<span></span>
</td>
<td class="nump">117,509<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">948,592<span></span>
</td>
<td class="nump">919,432<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">1,524,095<span></span>
</td>
<td class="nump">1,192,374<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_csiq_FinishedGoodsModules', window );">Amount of finished goods includes modules</a></td>
<td class="nump">$ 161,138<span></span>
</td>
<td class="nump">163,078<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Federal Investment Tax Credit (as a percentage)</a></td>
<td class="nump">5.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_InventoryWriteDown', window );">Inventory written down</a></td>
<td class="nump">$ 7,475<span></span>
</td>
<td class="nump">$ 14,070<span></span>
</td>
<td class="nump">$ 42,907<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_FinishedGoodsModules">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 finished goods includes modules.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinishedGoodsModules</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InventoryNetItemsNetOfReserveAlternativeAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529600784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts', window );">Project assets - Development cost, including project acquisition and land cost</a></td>
<td class="nump">$ 444,858<span></span>
</td>
<td class="nump">$ 558,244<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_csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost', window );">Project assets - EPC and other construction cost</a></td>
<td class="nump">379,635<span></span>
</td>
<td class="nump">469,117<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLand', window );">Total project assets</a></td>
<td class="nump">824,493<span></span>
</td>
<td class="nump">1,027,361<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion', window );">Current portion</a></td>
<td class="nump">385,964<span></span>
</td>
<td class="nump">594,107<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion', window );">Non-current portion</a></td>
<td class="nump">438,529<span></span>
</td>
<td class="nump">433,254<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_csiq_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
<td class="nump">$ 369<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_csiq_InterestCostsCapitalizedProjectAssets', window );">Interest capitalized - project assets</a></td>
<td class="nump">$ 26,439<span></span>
</td>
<td class="nump">$ 17,316<span></span>
</td>
<td class="nump">$ 10,197<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InterestCostsCapitalizedProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 capitalized development costs related to investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of capitalized EPC and other cost related to investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandNonCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>94
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529720736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, NET (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 2,376,170<span></span>
</td>
<td class="nump">$ 2,320,885<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(908,888)<span></span>
</td>
<td class="num">(1,019,988)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet', window );">Property, plant and equipment, excluding construction in process, net</a></td>
<td class="nump">1,467,282<span></span>
</td>
<td class="nump">1,300,897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in process</a></td>
<td class="nump">359,361<span></span>
</td>
<td class="nump">100,980<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,826,643<span></span>
</td>
<td class="nump">1,401,877<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">225,351<span></span>
</td>
<td class="nump">266,956<span></span>
</td>
<td class="nump">$ 197,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">764,577<span></span>
</td>
<td class="nump">720,367<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">30,896<span></span>
</td>
<td class="nump">32,812<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">1,470,957<span></span>
</td>
<td class="nump">1,441,546<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">58,928<span></span>
</td>
<td class="nump">84,694<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor vehicles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">11,527<span></span>
</td>
<td class="nump">9,775<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Freehold land</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, NET</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 39,285<span></span>
</td>
<td class="nump">$ 31,691<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_csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=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_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_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529912800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, NET (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsGross', window );">Solar power systems, gross</a></td>
<td class="nump">$ 381,907<span></span>
</td>
<td class="nump">$ 122,023<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_csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems', window );">Accumulated depreciation</a></td>
<td class="num">(17,091)<span></span>
</td>
<td class="num">(13,760)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">364,816<span></span>
</td>
<td class="nump">108,263<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">225,351<span></span>
</td>
<td class="nump">266,956<span></span>
</td>
<td class="nump">$ 197,600<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_csiq_SolarPowerSystemsReclassifiedToProjectAssets', window );">Reclassification of solar power systems to project assets</a></td>
<td class="nump">263,710<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">117,560<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_csiq_InterestCostsCapitalizedSolarPowerSystemNet', window );">Interest capitalized - solar power systems, net</a></td>
<td class="nump">18,666<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsGross', window );">Solar power systems, gross</a></td>
<td class="nump">172,707<span></span>
</td>
<td class="nump">117,339<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">4,074<span></span>
</td>
<td class="nump">11,212<span></span>
</td>
<td class="nump">$ 6,396<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_AssetUnderConstructionMember', window );">Solar power systems under construction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsGross', window );">Solar power systems, gross</a></td>
<td class="nump">$ 209,200<span></span>
</td>
<td class="nump">$ 4,684<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_csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InterestCostsCapitalizedSolarPowerSystemNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 costs capitalized for solar power systems disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedSolarPowerSystemNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystemsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystemsReclassifiedToProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of solar power systems reclassified to project 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;">csiq_SolarPowerSystemsReclassifiedToProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AssetUnderConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AssetUnderConstructionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>96
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538176352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS, NET (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, NET</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 39,091<span></span>
</td>
<td class="nump">$ 40,636<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(21,561)<span></span>
</td>
<td class="num">(21,644)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">17,530<span></span>
</td>
<td class="nump">18,992<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">3,586<span></span>
</td>
<td class="nump">4,601<span></span>
</td>
<td class="nump">$ 5,122<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Expected amortization expense of intangible assets</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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2023</a></td>
<td class="nump">3,102<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2024</a></td>
<td class="nump">2,627<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2025</a></td>
<td class="nump">2,186<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2026</a></td>
<td class="nump">2,031<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2027</a></td>
<td class="nump">1,977<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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">5,607<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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, NET</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">1,443<span></span>
</td>
<td class="nump">1,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Accumulated Amortization</a></td>
<td class="num">(1,430)<span></span>
</td>
<td class="num">(1,562)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">13<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, NET</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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">37,648<span></span>
</td>
<td class="nump">39,059<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(20,131)<span></span>
</td>
<td class="num">(20,082)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">$ 17,517<span></span>
</td>
<td class="nump">$ 18,977<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FiniteLivedIntangibleAssetsByMajorClassAxis=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_FiniteLivedIntangibleAssetsByMajorClassAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>97
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530328112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap | Designated as hedging instruments | Cash flow hedge</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</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_DerivativeNotionalAmount', window );">Total notional amounts</a></td>
<td class="nump">$ 399,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_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>98
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529396256">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Interest rate swap (Details) - Not designated as hedging instruments - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">$ 18,580<span></span>
</td>
<td class="nump">$ 7,362<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">25,359<span></span>
</td>
<td class="nump">2,622<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange forward contracts</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">7,730<span></span>
</td>
<td class="nump">7,124<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange option contracts</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">9,576<span></span>
</td>
<td class="nump">162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Commodity hedge</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">210<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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentAssetsMember', window );">Other non-current assets. | Interest rate swap</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">1,064<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember', window );">Derivative liabilities - current | Foreign exchange forward contracts</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">24,104<span></span>
</td>
<td class="nump">$ 2,622<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember', window );">Derivative liabilities - current | Foreign exchange option contracts</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_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</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_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">$ 1,255<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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41678-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=d3e41678-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-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_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>99
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530322928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">$ (44,489)<span></span>
</td>
<td class="nump">$ 23,785<span></span>
</td>
<td class="nump">$ 50,001<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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember', window );">Foreign exchange forward contracts</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_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">(49,388)<span></span>
</td>
<td class="nump">22,582<span></span>
</td>
<td class="nump">49,807<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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember', window );">Foreign exchange option contracts</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_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="nump">8,918<span></span>
</td>
<td class="nump">220<span></span>
</td>
<td class="nump">1,376<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_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember', window );">Commodity hedge</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_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">$ (4,019)<span></span>
</td>
<td class="nump">$ 983<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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap</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_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,182)<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_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) of derivative instruments not designated or qualifying as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4CC<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL109998890-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=125515794&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_CommodityContractMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>100
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536184448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Marketable securities (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="2"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </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_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent', window );">Listed equity securities</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">&#165; 91,370<span></span>
</td>
<td class="nump">$ 14,003<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFVNINoncurrent', window );">Amount of shares carried at fair value</a></td>
<td class="nump">$ 18,337<span></span>
</td>
<td class="nump">$ 20,195<span></span>
</td>
<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_EquitySecuritiesFvNiUnrealizedGain', window );">Unrealized gains</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,744<span></span>
</td>
<td class="nump">$ 1,048<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_EquitySecuritiesFvNiUnrealizedLoss', window );">Unrealized losses</a></td>
<td class="nump">$ 418<span></span>
</td>
<td class="text">&#160;<span></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_EquitySecuritiesFVNINoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=123594786&amp;loc=SL75136599-209740<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFVNINoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquitySecuritiesFvNiCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=123594786&amp;loc=SL75136599-209740<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquitySecuritiesFvNiUnrealizedGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 321<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126980263&amp;loc=SL75117546-209714<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiUnrealizedGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquitySecuritiesFvNiUnrealizedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized loss on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 321<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126980263&amp;loc=SL75117546-209714<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiUnrealizedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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>101
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536439392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Carrying value (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">$ 60,330<span></span>
</td>
<td class="nump">$ 6,084<span></span>
</td>
<td class="nump">$ 11,854<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_csiq_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
<td class="nump">$ 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_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">813,406<span></span>
</td>
<td class="nump">523,634<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleLongTermNotesPayable', window );">Convertible notes</a></td>
<td class="nump">$ 225,977<span></span>
</td>
<td class="nump">$ 224,675<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_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>102
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538122320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_VariableInterestEntityLineItems', window );"><strong>VARIABLE INTEREST ENTITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">$ 9,037,128<span></span>
</td>
<td class="nump">$ 7,388,342<span></span>
</td>
</tr>
<tr class="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="nump">1,443,816<span></span>
</td>
<td class="nump">1,592,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_LongTermDebt', window );">Long-term borrowings</a></td>
<td class="nump">2,257,222<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">6,730,434<span></span>
</td>
<td class="nump">5,261,904<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_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember', window );">Variable Interest Entity</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_VariableInterestEntityLineItems', window );"><strong>VARIABLE INTEREST ENTITIES</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">15,903<span></span>
</td>
<td class="nump">48,200<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_csiq_ProjectAssets', window );">Project assets</a></td>
<td class="nump">320,460<span></span>
</td>
<td class="nump">289,315<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">30,163<span></span>
</td>
<td class="nump">53,091<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">366,526<span></span>
</td>
<td class="nump">390,606<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">191,792<span></span>
</td>
<td class="nump">113,857<span></span>
</td>
</tr>
<tr class="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 borrowings</a></td>
<td class="nump">49,675<span></span>
</td>
<td class="nump">106,880<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other liabilities</a></td>
<td class="nump">26,366<span></span>
</td>
<td class="nump">36,872<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">$ 267,833<span></span>
</td>
<td class="nump">$ 257,609<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631418-115840<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section 45<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=118262064&amp;loc=SL116631419-115840<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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, excluding 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_VariableInterestEntityLineItems</td>
</tr>
<tr>
<td style="padding-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_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>103
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820528978160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 115,784<span></span>
</td>
<td class="nump">$ 98,819<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=csiq_SuzhouFinancialLeasingCo.Ltd.Member', window );">Suzhou Financial Leasing Co., Ltd.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 27,328<span></span>
</td>
<td class="nump">$ 27,026<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">4.17%<span></span>
</td>
<td class="nump">4.78%<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=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 22,272<span></span>
</td>
<td class="nump">$ 18,854<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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=csiq_LavraSolarHoldingS.a.Member', window );">Lavras Solar Holding S.A.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 14,318<span></span>
</td>
<td class="nump">$ 12,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">20.00%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 8,961<span></span>
</td>
<td class="nump">$ 12,889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<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=csiq_FranciscoSaSolarHoldingS.a.Member', window );">Francisco Sa Solar Holding S.A.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 7,683<span></span>
</td>
<td class="nump">$ 6,492<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">20.00%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember', window );">Suzhou Zhuosheng Venture Investment Fund, LLP</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 6,868<span></span>
</td>
<td class="nump">$ 4,715<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">17.85%<span></span>
</td>
<td class="nump">17.85%<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=csiq_SalgueiroSolarHoldingS.aMember', window );">Salgueiro Solar Holding S.A</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 6,595<span></span>
</td>
<td class="nump">$ 2,989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">20.00%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_JushengSuzhouSolarTechCo.LtdMember', window );">JuSheng (Suzhou) Solar Tech Co., Ltd.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 5,922<span></span>
</td>
<td class="nump">$ 6,274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">4.38%<span></span>
</td>
<td class="nump">4.55%<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=csiq_JaibaSolarHoldingS.a.Member', window );">Jaiba Solar Holding S.A.</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 5,077<span></span>
</td>
<td class="nump">$ 4,903<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">20.00%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_OtherEquityMethodInvesteesMember', window );">Others</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestments', window );">Carrying Value</a></td>
<td class="nump">$ 10,760<span></span>
</td>
<td class="nump">$ 2,413<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=csiq_OtherEquityMethodInvesteesMember', window );">Others | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></td>
<td class="nump">10.86%<span></span>
</td>
<td class="nump">15.92%<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=csiq_OtherEquityMethodInvesteesMember', window );">Others | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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_EquityMethodInvestmentOwnershipPercentage', window );">Ownership Percentage</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8813-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouFinancialLeasingCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouFinancialLeasingCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ReCrimsonHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ReCrimsonHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavraSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavraSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FranciscoSaSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FranciscoSaSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SalgueiroSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SalgueiroSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_JushengSuzhouSolarTechCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_JushengSuzhouSolarTechCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_JaibaSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_JaibaSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherEquityMethodInvesteesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherEquityMethodInvesteesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820527832832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Other investments (Details)<br> &#165; / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 05, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 05, 2021 </div>
<div>JPY (&#165;) </div>
<div>&#165; / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>director </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>JPY (&#165;) </div>
<div>director </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 05, 2018 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 26, 2017 </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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity', window );">Board members designated | director</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<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_NumberOfBoardMembers', window );">Total board members | director</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<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_PaymentsToAcquireEquityMethodInvestments', window );">Subscription amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,355<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 54,004<span></span>
</td>
<td class="nump">$ 17,758<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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on sale of interest in affiliates</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">10,392<span></span>
</td>
<td class="nump">13,936<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_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings of affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,256<span></span>
</td>
<td class="nump">10,779<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Stock Issued During Period, Shares, New Issues | shares</a></td>
<td class="nump">151,500<span></span>
</td>
<td class="nump">151,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Investment price per unit | &#165; / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 125,115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_SuzhouFinancialLeasingCo.Ltd.Member', window );">Suzhou Financial Leasing Co., Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">4.17%<span></span>
</td>
<td class="nump">4.17%<span></span>
</td>
<td class="nump">4.78%<span></span>
</td>
<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<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_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">56,620<span></span>
</td>
<td class="nump">56,620<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,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_PaymentsToAcquireEquityMethodInvestments', window );">Subscription amount</a></td>
<td class="nump">$ 25,683<span></span>
</td>
<td class="nump">&#165; 2,843,238<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 55,697<span></span>
</td>
<td class="nump">&#165; 6,247,998<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Initial public offer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_NumberOfUnitsPurchased', window );">Number of Units Purchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25,395<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_LavraSolarHoldingS.a.Member', window );">Lavras Solar Holding S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_FranciscoSaSolarHoldingS.a.Member', window );">Francisco Sa Solar Holding S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SalgueiroSolarHoldingS.aMember', window );">Salgueiro Solar Holding S.A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_JaibaSolarHoldingS.a.Member', window );">Jaiba Solar Holding S.A.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember', window );">Suzhou Zhuosheng Venture Investment Fund, LLP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">17.85%<span></span>
</td>
<td class="nump">17.85%<span></span>
</td>
<td class="nump">17.85%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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_csiq_EquityMethodInvestmentOwnershipPercentageSold', window );">Interest sold (in percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on sale of interest in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 123,135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_DecreaseOfNetAssets', window );">Net assets derecognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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=csiq_JushengSuzhouSolarTechCo.LtdMember', window );">JuSheng (Suzhou) Solar Tech Co., Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">4.38%<span></span>
</td>
<td class="nump">4.38%<span></span>
</td>
<td class="nump">4.55%<span></span>
</td>
<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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember', window );">Horus Solar S.A. De Capital Variable ("Horus") and Recursos Solares PV De Mxico II S.A. De Capital Variable ("Recursos")</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.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>
</tr>
<tr class="ro">
<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 on sale of interest in affiliates</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">$ 113,843<span></span>
</td>
<td class="nump">100,896<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_csiq_DecreaseOfNetAssets', window );">Net assets derecognized</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">$ 7,527<span></span>
</td>
<td class="nump">$ 10,363<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_csiq_DecreaseOfNetAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The decrease of net assets after tax equity transactions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DecreaseOfNetAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_EquityMethodInvestmentOwnershipPercentageSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityMethodInvestmentOwnershipPercentageSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfBoardMembers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of board members.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardMembers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of board members designated by the acquired 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;">csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfUnitsPurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of units purchased during period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfUnitsPurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 or advances to an 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouFinancialLeasingCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouFinancialLeasingCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavraSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavraSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FranciscoSaSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FranciscoSaSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SalgueiroSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SalgueiroSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_JaibaSolarHoldingS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_JaibaSolarHoldingS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ReCrimsonHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ReCrimsonHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_JushengSuzhouSolarTechCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_JushengSuzhouSolarTechCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>105
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530190592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE - Lease expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostAbstract', window );"><strong>Finance lease cost:</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_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of ROU assets</a></td>
<td class="nump">$ 11,406<span></span>
</td>
<td class="nump">$ 14,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="nump">1,994<span></span>
</td>
<td class="nump">1,349<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating fixed lease cost</a></td>
<td class="nump">14,936<span></span>
</td>
<td class="nump">18,443<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">1,028<span></span>
</td>
<td class="nump">1,884<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_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">$ 29,364<span></span>
</td>
<td class="nump">$ 36,596<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining term of the rights</a></td>
<td class="text">50 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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_LeaseCostAbstract', window );"><strong>Finance lease cost:</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_LesseeOperatingLeaseTermOfContract', window );">Lease term</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>106
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529770880">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Supplement balance sheet information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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_csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights', window );">Operating lease ROU assets</a></td>
<td class="nump">$ 35,506<span></span>
</td>
<td class="nump">$ 35,286<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_csiq_LandUseRightsNet', window );">Land use rights, net</a></td>
<td class="nump">68,094<span></span>
</td>
<td class="nump">71,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_OperatingLeaseRightOfUseAsset', window );">Total operating lease ROU assets</a></td>
<td class="nump">103,600<span></span>
</td>
<td class="nump">106,297<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">9,810<span></span>
</td>
<td class="nump">12,185<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">25,714<span></span>
</td>
<td class="nump">23,215<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_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 35,524<span></span>
</td>
<td class="nump">$ 35,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LandUseRightsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 land use rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LandUseRightsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 right of use assets excluding land use rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533233024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE - Cash flow (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash outflows from finance lease</a></td>
<td class="num">$ (1,994)<span></span>
</td>
<td class="num">$ (1,349)<span></span>
</td>
</tr>
<tr class="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 );">Operating cash outflows from operating lease</a></td>
<td class="num">(15,032)<span></span>
</td>
<td class="num">(19,972)<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_csiq_PaymentsForFinancingCashFlowsFromFinanceLease', window );">Financing cash outflows from finance lease</a></td>
<td class="num">(20,194)<span></span>
</td>
<td class="num">(35,554)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,102<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction</a></td>
<td class="nump">14,393<span></span>
</td>
<td class="nump">24,694<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_csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction', window );">ROU assets disposed through early termination of operating leases in non-cash transaction</a></td>
<td class="num">$ (965)<span></span>
</td>
<td class="num">$ (1,880)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PaymentsForFinancingCashFlowsFromFinanceLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 finance lease payments during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsForFinancingCashFlowsFromFinanceLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 paid on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for 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/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>108
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534621760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Additional information (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average of remaining lease term - finance leases (in years)</a></td>
<td class="text">1 year 9 months 18 days<span></span>
</td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average of remaining lease term - operating leases (in years)</a></td>
<td class="text">6 years 7 months 6 days<span></span>
</td>
<td class="text">4 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Weighted average of lease discount rate - finance lease</a></td>
<td class="nump">4.90%<span></span>
</td>
<td class="nump">5.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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average of lease discount rate - operating lease</a></td>
<td class="nump">10.40%<span></span>
</td>
<td class="nump">4.30%<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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="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_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536654416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Maturities (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 10,798<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024</a></td>
<td class="nump">7,216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2025</a></td>
<td class="nump">5,580<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2026</a></td>
<td class="nump">5,155<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2027</a></td>
<td class="nump">3,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_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">33,133<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 65,548<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529427872">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract', window );"><strong>Operating leases, gross difference</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 65,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">30,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 35,524<span></span>
</td>
<td class="nump">$ 35,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534646928">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Maturities (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of finance 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 15,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_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2024</a></td>
<td class="nump">14,846<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2025</a></td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2026</a></td>
<td class="nump">1<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_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 30,370<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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>112
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820528574752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Gross difference (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of finance leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 30,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">1,301<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 29,069<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other non-current liabilities<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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>113
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536128320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Maturities (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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_csiq_LesseeLiabilityPaymentsDueNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 26,315<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_csiq_LesseeLiabilityPaymentsDueYearTwo', window );">2024</a></td>
<td class="nump">22,062<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_csiq_LesseeLiabilityPaymentsDueYearThree', window );">2025</a></td>
<td class="nump">5,586<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_csiq_LesseeLiabilityPaymentsDueYearFour', window );">2026</a></td>
<td class="nump">5,156<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_csiq_LesseeLiabilityPaymentsDueYearFive', window );">2027</a></td>
<td class="nump">3,666<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_csiq_LesseeLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">33,133<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 95,918<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LesseeLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due after Year Five</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Next Twelve Months</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Five</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Four</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Three</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Two</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530035536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Gross difference (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 95,918<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_csiq_LesseeLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">31,325<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_csiq_LeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 64,593<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Liability</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Undiscounted Excess Amount</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529480560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Summary (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LeaseLiabilityCurrent', window );">Short-term</a></td>
<td class="nump">$ 24,507<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_csiq_LeaseLiabilityNoncurrent', window );">Long-term</a></td>
<td class="nump">40,086<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">64,593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">9,810<span></span>
</td>
<td class="nump">$ 12,185<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">25,714<span></span>
</td>
<td class="nump">23,215<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_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">35,524<span></span>
</td>
<td class="nump">$ 35,400<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities, current</a></td>
<td class="nump">$ 14,697<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Other current liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, noncurrent</a></td>
<td class="nump">$ 14,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Other non-current liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total Finance lease liabilities</a></td>
<td class="nump">$ 29,069<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_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Liability</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Liability, Current</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Liability, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes current finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 line item in statement of financial position that includes noncurrent finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918631-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820511803792">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="3"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jan. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2023 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2020 </div>
<div>USD ($) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Nov. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>BRL (R$)</div>
</th>
<th class="th">
<div>Nov. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 30, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Feb. 28, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 28, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>AUD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2020 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>THB (&#3647;)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>JPY (&#165;)</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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_ShortTermBorrowingsOnProjectAssets', window );">Short-term borrowings related to project assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">$ 333,521<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 474,555<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherShortTermBorrowings', window );">Other short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,110,295<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,118,315<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtCurrent', window );">Subtotal for short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,443,816<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,592,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LongTermBorrowingsOnProjectAssets', window );">Long-term borrowings related to project assets</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</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">318,987<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">327,216<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherLongTermDebt', window );">Other long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">494,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">196,418<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Subtotal for long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">813,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">523,634<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,257,222<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,116,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SecuredDebt', window );">Secured borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,042,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_SecuredShortTermDebt', window );">Short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">207,134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmount', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,257,222<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,116,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_AmountOfDevelopmentLoan', window );">Amount of development loan</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_TotalAmountOfMatures', window );">Amount of matures</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_AmountOfAvailableCommitmentCancelled', window );">Amount of available commitment cancelled</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 122,208<span></span>
</td>
<td class="nump">&#165; 15,901,795<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SecuredLongTermDebt', window );">Long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,208<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">Future principal repayment of long-term borrowings on project assets - current</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">$ 333,521<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LongTermDebtWeightedAverageInterestRateOverTime', window );">Average interest rate on long-term borrowings (as a percent)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LongTermDebtWeightedAverageInterestRateOverTime', window );">Average interest rate on long-term borrowings (as a percent)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis=csiq_SolarProjectMember', window );">Solar project</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OtherBorrowings', window );">Borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">$ 193,578<span></span>
</td>
<td class="nump">$ 316,496<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">118,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_PledgedStatusAxis=us-gaap_AssetPledgedAsCollateralWithoutRightMember', window );">Asset Pledged as Collateral without Right [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment', window );">Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">414,244<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedInventory', window );">Carrying value of inventories that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">161,673<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedLandUseRights', window );">Carrying value of land use rights that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">46,607<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash', window );">Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,715<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable', window );">Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">33,690<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedEquityNotSeparatelyReported', window );">Carrying value of equity that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">34,859<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsNotSeparatelyReportedProjectAssets', window );">Carrying value of project assets that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">353,503<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PledgedAssetsSolarPowerSystems', window );">Carrying value of solar power systems that serve as collateral for short-term and long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">295,145<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_Tranche1LoanFacilityMember', window );">Tranche 1</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">57,198<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_Tranche2LoanFacilityMember', window );">Tranche 2</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">19,066<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_MezzanineLoanFacilityMember', window );">Mezzanine loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">16,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 174,241<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 18,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">16,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member', window );">Azuma Kofuji Daiichi Hatsudensho G.K.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">148,867<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 230,759<span></span>
</td>
<td class="nump">&#165; 24,513,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarSpainSociedadLimitadaMember', window );">Canadian Solar Spain, Sociedad Limitada</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">61,132<span></span>
</td>
<td class="nump">&#8364; 50,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,755<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarSunenergyJiaxingCo.LtdMember', window );">Canadian Solar Sunenergy (Jiaxing) Co. Ltd</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">55,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 90,918<span></span>
</td>
<td class="nump">&#165; 580,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember', window );">Canadian Solar Project K.K.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">2 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">3 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 89,859<span></span>
</td>
<td class="nump">$ 88,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 85,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 10,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 9,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 9,600,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_csiq_NumberOfOtherParticipatingFinancialInstitutions', window );">Number of participating financial institutions | Institution</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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">11<span></span>
</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">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarProjectKKMember', window );">Canadian Solar Project K.K. | Tranche 1</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility | &#165;</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 7,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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarProjectKKMember', window );">Canadian Solar Project K.K. | Tranche 2</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility | &#165;</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_SunmexRenovablesS.a.DeC.v.Member', window );">Sunmex Renovables, S.A. De C.V. | Loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">28,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>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">60,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>
<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_DebtLongtermAndShorttermCombinedAmount', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">28,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>
<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=csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember', window );">Canadian Solar EMEA Capital Markets S.A.U</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DeferredFinanceCostsNet', window );">Debt issuance cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">34,106<span></span>
</td>
<td class="nump">30,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Debt instrument unamortized cost</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">31,638<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">33,676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_FourJapaneseSubsidiariesMember', window );">Four Japanese Subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 73,167<span></span>
</td>
<td class="nump">&#165; 8,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">32,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Canadian Solar Sunenergy (Baotou) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ProceedsFromLinesOfCredit', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">101,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility | &#165;</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 880,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>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Canadian Solar Sunenergy (Baotou) Co., Ltd. | Unsecured</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">83,278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">580,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>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Canadian Solar Sunenergy (Baotou) Co., Ltd. | Borrowings secured by property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">43,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">300,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>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | CSI Cells (Yancheng) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ProceedsFromLinesOfCredit', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">78,072<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | CSI Cells (Yancheng) Co., Ltd. | Unsecured</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">73,227<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">510,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>
<td class="text">&#160;<span></span>
</td>
<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_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | CSI Cells (Yancheng) Co., Ltd. | Borrowings secured by property, plant and equipment</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">28,717<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,412,104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_AdditionalAmountDrawnOfUnderBorrowing', window );">Additional amount drawn of under borrowing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">623,377<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available amount of credit facilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,093,995<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,694,732<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 188,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">34,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Bank borrowings | Canadian Solar Sunenergy (Baotou) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">126,353<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility | Bank borrowings | CSI Cells (Yancheng) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">101,944<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#165; 710,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_WorkingCapitalFacilityMember', window );">Working Capital Facility | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 106,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#3647; 3,540,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_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">11,777<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember', window );">Non-binding bank credit facilities</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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,464,055<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_ProceedsFromLinesOfCredit', window );">Amount drawn</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">562,490<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_ShortTermNotePayableMember', window );">Short Term Note Payable</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_AdditionalAmountDrawnOfUnderBorrowing', window );">Additional amount drawn of under borrowing</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">426,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_NonrecourseMember', window );">Non-recourse</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_SecuredShortTermDebt', window );">Short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">335,893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCredit', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">365,065<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SecuredLongTermDebt', window );">Long-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_NonrecourseMember', window );">Non-recourse | Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 206,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 289,419<span></span>
</td>
<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_DebtInstrumentTerm', window );">Term of facility (in years)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_NumberOfOtherParticipatingFinancialInstitutions', window );">Number of participating financial institutions | Institution</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RecourseMember', window );">Recourse</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_SecuredShortTermDebt', window );">Short-term borrowings</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">207,134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_TermLoanMember', window );">Term loan | Canadian Solar Spain, Sociedad Limitada</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility | &#8364;</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">25,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving credit facility | Canadian Solar Spain, Sociedad Limitada</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility | &#8364;</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">&#8364; 25,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_FinancingFacilityMember', window );">Financing facility | Brazilian subsidiaries</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Total</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">87,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 );">Amount of loan facility</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 95,921<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R$ 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtLongtermAndShorttermCombinedAmount', window );">Outstanding balance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</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">$ 87,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="27"></td></tr>
<tr><td colspan="27"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</span></td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdditionalAmountDrawnOfUnderBorrowing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 additional amount drawn of under borrowing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdditionalAmountDrawnOfUnderBorrowing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_AmountOfAvailableCommitmentCancelled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 available commitment cancelled.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AmountOfAvailableCommitmentCancelled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_AmountOfDevelopmentLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 development loan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AmountOfDevelopmentLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LongTermBorrowingsOnProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 represents long term borrowings associated with certain solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LongTermBorrowingsOnProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable on project assets, maturing 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NumberOfOtherParticipatingFinancialInstitutions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of participating financial institutions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfOtherParticipatingFinancialInstitutions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedLandUseRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedLandUseRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the date of the latest financial statement presented of project assets which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedEquityNotSeparatelyReported">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedEquityNotSeparatelyReported</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SecuredShortTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the carrying amount of short-term borrowings secured by 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;">csiq_SecuredShortTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ShortTermBorrowingsOnProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 represents short term borrowings associated with certain solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermBorrowingsOnProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_TotalAmountOfMatures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 total amount of matures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_TotalAmountOfMatures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 debt and lease obligation, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtLongtermAndShorttermCombinedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the aggregate of total long-term debt, including current maturities and short-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;">us-gaap_DebtLongtermAndShorttermCombinedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtLongtermAndShorttermCombinedAmountAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtWeightedAverageInterestRateOverTime">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest rate of long-term debt outstanding calculated over time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtWeightedAverageInterestRateOverTime</td>
</tr>
<tr>
<td style="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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowings classified as other, maturing within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a)(7))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis=csiq_SolarProjectMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis=csiq_SolarProjectMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PledgedStatusAxis=us-gaap_AssetPledgedAsCollateralWithoutRightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PledgedStatusAxis=us-gaap_AssetPledgedAsCollateralWithoutRightMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_Tranche1LoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_Tranche1LoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_Tranche2LoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_Tranche2LoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_MezzanineLoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_MezzanineLoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarSpainSociedadLimitadaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarSpainSociedadLimitadaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarSunenergyJiaxingCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarSunenergyJiaxingCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarProjectKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarProjectKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SunmexRenovablesS.a.DeC.v.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SunmexRenovablesS.a.DeC.v.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LoanFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LoanFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FourJapaneseSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FourJapaneseSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CounterpartyNameAxis=csiq_BankBorrowingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CounterpartyNameAxis=csiq_BankBorrowingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_UnsecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_UnsecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByPropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByPropertyPlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CsiCellsYanchengCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CsiCellsYanchengCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_WorkingCapitalFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_WorkingCapitalFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_NonBindingLineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_NonBindingLineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ShortTermNotePayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ShortTermNotePayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_NonrecourseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_NonrecourseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RecourseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RecourseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_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_CreditFacilityAxis=csiq_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_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_FinancingFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FinancingFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_BrazilianSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_BrazilianSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>117
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530501600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BORROWINGS - Long term (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Future principal repayment on the long-term borrowings loans</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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2023</a></td>
<td class="nump">$ 1,443,816<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2024</a></td>
<td class="nump">639,862<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2025</a></td>
<td class="nump">83,615<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2026</a></td>
<td class="nump">31,775<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2027</a></td>
<td class="nump">22,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">Thereafter</a></td>
<td class="nump">35,679<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_LongTermDebt', window );">Total</a></td>
<td class="nump">$ 2,257,222<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_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, excluding 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LongTermDebtByMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongTermDebtByMaturityAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123465755&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>118
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529650352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS - Long term narrative and interest expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_InterestCostsIncurredAbstract', window );"><strong>Interest expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_csiq_InterestCostsCapitalizedProjectAssets', window );">Interest capitalized - project assets</a></td>
<td class="nump">$ 26,439<span></span>
</td>
<td class="nump">$ 17,316<span></span>
</td>
<td class="nump">$ 10,197<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_csiq_InterestCostsCapitalizedSolarPowerSystemNet', window );">Interest capitalized - solar power systems, net</a></td>
<td class="nump">18,666<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_csiq_InterestCostsCapitalizedPropertyPlantAndEquipment', window );">Interest capitalized - property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154<span></span>
</td>
</tr>
<tr class="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">74,266<span></span>
</td>
<td class="nump">58,153<span></span>
</td>
<td class="nump">71,874<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestCostsIncurred', window );">Total interest incurred</a></td>
<td class="nump">$ 119,371<span></span>
</td>
<td class="nump">$ 75,469<span></span>
</td>
<td class="nump">$ 82,225<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_ExtinguishmentOfDebtAxis=us-gaap_ShortTermDebtMember', window );">Short-term borrowings</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_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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_csiq_DebtInstrumentInterestRateFloatingPercentage', window );">Floating interest rate (as a percent)</a></td>
<td class="nump">5.30%<span></span>
</td>
<td class="nump">3.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_ExtinguishmentOfDebtAxis=us-gaap_LongTermDebtMember', window );">Long-term borrowings</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_DebtInstrumentLineItems', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DebtInstrumentInterestRateFloatingPercentage', window );">Floating interest rate (as a percent)</a></td>
<td class="nump">4.10%<span></span>
</td>
<td class="nump">3.50%<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_csiq_DebtInstrumentInterestRateFloatingPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 floating 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentInterestRateFloatingPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_InterestCostsCapitalizedProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InterestCostsCapitalizedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InterestCostsCapitalizedSolarPowerSystemNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 costs capitalized for solar power systems disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedSolarPowerSystemNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestCostsIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest costs incurred during the period and either capitalized or charged against earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestCostsIncurredAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InterestCostsIncurredAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtinguishmentOfDebtAxis=us-gaap_ShortTermDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ExtinguishmentOfDebtAxis=us-gaap_ShortTermDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ExtinguishmentOfDebtAxis=us-gaap_LongTermDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ExtinguishmentOfDebtAxis=us-gaap_LongTermDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>119
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534469184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SHORT-TERM NOTES PAYABLE (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableAbstract', window );"><strong>SHORT-TERM NOTES PAYABLE</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_csiq_ShortTermNotesPayable', window );">Short-term notes payable</a></td>
<td class="nump">$ 1,493,399<span></span>
</td>
<td class="nump">$ 881,184<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShortTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowings classified s short term notes payable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NotesPayableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NotesPayableAbstract</td>
</tr>
<tr>
<td style="padding-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>120
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538111312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward', window );"><strong>ACCRUED WARRANTY COSTS</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_ProductWarrantyAccrualNoncurrent', window );">Beginning balance</a></td>
<td class="nump">$ 45,146<span></span>
</td>
<td class="nump">$ 37,732<span></span>
</td>
<td class="nump">$ 55,878<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Warranty provision</a></td>
<td class="nump">68,411<span></span>
</td>
<td class="nump">45,053<span></span>
</td>
<td class="nump">26,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Warranty costs incurred</a></td>
<td class="num">(31,943)<span></span>
</td>
<td class="num">(35,432)<span></span>
</td>
<td class="num">(46,067)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange effect</a></td>
<td class="num">(4,937)<span></span>
</td>
<td class="num">(2,207)<span></span>
</td>
<td class="nump">990<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualNoncurrent', window );">Ending balance</a></td>
<td class="nump">$ 76,677<span></span>
</td>
<td class="nump">$ 45,146<span></span>
</td>
<td class="nump">$ 37,732<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>121
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616365104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>RESTRICTED NET ASSETS (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract', window );"><strong>RESTRICTED NET ASSETS</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_csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage', window );">Minimum percentage of the profit after tax to be appropriated to the general reserve</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Restricted net assets</a></td>
<td class="nump">$ 658,166<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-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>122
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529997968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONVERTIBLE NOTES (Details)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Sep. 16, 2020 </div>
<div>USD ($) </div>
<div>D </div>
<div>item </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>CONVERTIBLE NOTES</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_AmortizationOfFinancingCosts', window );">Amortization of financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,302<span></span>
</td>
<td class="nump">$ 1,461<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,750<span></span>
</td>
<td class="nump">5,750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>CONVERTIBLE NOTES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromConvertibleDebtInitialIssuance', window );">Proceeds from initial issuance of convertible notes</a></td>
<td class="nump">$ 200,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_csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance', window );">Period of option for additional issuance</a></td>
<td class="text">30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromConvertibleDebtAdditionalIssuance', window );">Proceeds from additional issuance of convertible notes</a></td>
<td class="nump">$ 30,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 (as a percent)</a></td>
<td class="nump">2.50%<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_DebtInstrumentConvertibleConversionRatio1', window );">Conversion rate</a></td>
<td class="nump">27.2707<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_DebtInstrumentAnnualPrincipalPayment', window );">Conversion rate initial principal amount</a></td>
<td class="nump">$ 1,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_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 36.67<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_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Sales price of common stock as percentage of conversion price for redemption at Company's option</a></td>
<td class="nump">130.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_DebtInstrumentConvertibleThresholdTradingDays', window );">Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option | item</a></td>
<td class="nump">20<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_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option | D</a></td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents', window );">Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Carrying value of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">225,977<span></span>
</td>
<td class="nump">224,675<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Unamortized issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,023<span></span>
</td>
<td class="nump">5,325<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.18%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPayableCurrent', window );">Interest not paid recorded in other payables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,438<span></span>
</td>
<td class="nump">$ 1,438<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, 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;">csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProceedsFromConvertibleDebtAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromConvertibleDebtInitialIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtInitialIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentAnnualPrincipalPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 total principal payments made during the annual reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAnnualPrincipalPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031898-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="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_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69F<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495745-112612<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529122992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Provision for income taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">$ 356,468<span></span>
</td>
<td class="nump">$ 138,464<span></span>
</td>
<td class="nump">$ 134,484<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">57,269<span></span>
</td>
<td class="nump">103,081<span></span>
</td>
<td class="nump">22,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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">16,084<span></span>
</td>
<td class="num">(67,237)<span></span>
</td>
<td class="num">(24,238)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">73,353<span></span>
</td>
<td class="nump">35,844<span></span>
</td>
<td class="num">(1,983)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CA', window );">Canada</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="num">(19,357)<span></span>
</td>
<td class="nump">6,237<span></span>
</td>
<td class="num">(31,896)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="num">(16,707)<span></span>
</td>
<td class="num">(1,124)<span></span>
</td>
<td class="nump">36,226<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">10,629<span></span>
</td>
<td class="nump">685<span></span>
</td>
<td class="num">(10,792)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="num">(6,078)<span></span>
</td>
<td class="num">(439)<span></span>
</td>
<td class="nump">25,434<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">22,275<span></span>
</td>
<td class="nump">66,432<span></span>
</td>
<td class="num">(117,145)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="num">(1,684)<span></span>
</td>
<td class="nump">15,937<span></span>
</td>
<td class="num">(71,421)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">1,996<span></span>
</td>
<td class="num">(1,604)<span></span>
</td>
<td class="nump">23,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">312<span></span>
</td>
<td class="nump">14,333<span></span>
</td>
<td class="num">(48,248)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CN', window );">PRC</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">193,705<span></span>
</td>
<td class="num">(35,943)<span></span>
</td>
<td class="nump">184,113<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">47,528<span></span>
</td>
<td class="nump">47,356<span></span>
</td>
<td class="nump">30,276<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">500<span></span>
</td>
<td class="num">(65,017)<span></span>
</td>
<td class="num">(17,998)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">48,028<span></span>
</td>
<td class="num">(17,661)<span></span>
</td>
<td class="nump">12,278<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_JP', window );">Japan</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">1,179<span></span>
</td>
<td class="nump">51,910<span></span>
</td>
<td class="nump">48,665<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">3,054<span></span>
</td>
<td class="nump">24,047<span></span>
</td>
<td class="nump">18,941<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="num">(173)<span></span>
</td>
<td class="num">(353)<span></span>
</td>
<td class="num">(10,571)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">2,881<span></span>
</td>
<td class="nump">23,694<span></span>
</td>
<td class="nump">8,370<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_SG', window );">Singapore</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">69,424<span></span>
</td>
<td class="num">(7,728)<span></span>
</td>
<td class="num">(2,956)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">872<span></span>
</td>
<td class="nump">617<span></span>
</td>
<td class="num">(489)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">231<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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">1,103<span></span>
</td>
<td class="nump">617<span></span>
</td>
<td class="num">(489)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_BR', window );">Brazil</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">32,052<span></span>
</td>
<td class="nump">14,448<span></span>
</td>
<td class="num">(39,412)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">5,023<span></span>
</td>
<td class="nump">6,151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="nump">5,546<span></span>
</td>
<td class="nump">1,244<span></span>
</td>
<td class="num">(11,670)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">10,569<span></span>
</td>
<td class="nump">7,395<span></span>
</td>
<td class="num">(11,670)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_TH', window );">Thailand</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">17,155<span></span>
</td>
<td class="num">(15,562)<span></span>
</td>
<td class="nump">74,166<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember', window );">Other</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income (loss) before income taxes</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">40,035<span></span>
</td>
<td class="nump">58,670<span></span>
</td>
<td class="nump">18,949<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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_CurrentIncomeTaxExpenseBenefit', window );">Current tax expense (benefit)</a></td>
<td class="nump">19,183<span></span>
</td>
<td class="nump">10,097<span></span>
</td>
<td class="nump">8,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax expense (benefit)</a></td>
<td class="num">(2,645)<span></span>
</td>
<td class="num">(2,192)<span></span>
</td>
<td class="nump">3,620<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense (benefit)</a></td>
<td class="nump">$ 16,538<span></span>
</td>
<td class="nump">$ 7,905<span></span>
</td>
<td class="nump">$ 12,342<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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941158&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=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;">us-gaap_IncomeTaxAuthorityAxis=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_us-gaap_IncomeTaxAuthorityAxis=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;">us-gaap_IncomeTaxAuthorityAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_SG">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_SG</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_BR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_BR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_TH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_TH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>124
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529634384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Domestic federal statutory tax rates (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2017</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_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Amount of interest and penalties accrued related to unrecognized tax benefits</a></td>
<td class="nump">$ 961<span></span>
</td>
<td class="nump">$ 1,585<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_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Changes to the company's liabilities for uncertain tax positions</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Beginning balance</a></td>
<td class="nump">$ 5,863<span></span>
</td>
<td class="nump">$ 9,628<span></span>
</td>
<td class="nump">$ 10,557<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Reductions for tax positions from prior years/Statute of limitations expirations</a></td>
<td class="num">(678)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,011)<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_csiq_UnrecognizedTaxStatueOfLimitationsExpirations', window );">Statue of limitations expirations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,763)<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_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation', window );">Foreign exchange effect</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation', window );">Foreign exchange effect</a></td>
<td class="num">(415)<span></span>
</td>
<td class="num">(2)<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_UnrecognizedTaxBenefits', window );">Ending balance</a></td>
<td class="nump">$ 4,770<span></span>
</td>
<td class="nump">$ 5,863<span></span>
</td>
<td class="nump">$ 9,628<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">26.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>
</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_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate</a></td>
<td class="nump">26.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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Canada | Canadian Solar Solutions Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.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_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar (USA) Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">24.60%<span></span>
</td>
<td class="nump">26.40%<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar SSES (US) Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">21.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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Recurrent Energy Group Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">22.50%<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
<td class="nump">26.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_JP', window );">Japan | Canadian Solar Japan K.K.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">31.80%<span></span>
</td>
<td class="nump">31.80%<span></span>
</td>
<td class="nump">31.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_SG', window );">Singapore | Canadian Solar Energy Holding Singapore Pte. Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">17.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_IncomeTaxAuthorityAxis=country_DE', window );">Germany | Canadian Solar EMEA GmbH</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.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_IncomeTaxAuthorityAxis=country_TH', window );">Thailand | Canadian Solar Manufacturing (Thailand) Co., Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</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">20.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_csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption', window );">Number of Board of Investment certificates for tax exemption | item</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_HK', window );">Hong Kong | HKSI</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_BR', window );">Brazil | Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">34.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="nump">34.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_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_IncomeTaxesForeignCorporateTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the corporate income tax rate in foreign jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxesForeignCorporateTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 board of investment certificates for tax exemption.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_UnrecognizedTaxStatueOfLimitationsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents adjustments related to status of limitations expirations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnrecognizedTaxStatueOfLimitationsExpirations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-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_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarSolutionsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=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;">us-gaap_IncomeTaxAuthorityAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarUSAIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarSsesUsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarSsesUsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_RecurrentEnergyGroupInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_RecurrentEnergyGroupInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarJapanKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarJapanKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_SG">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_SG</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_DE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarEMEAGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarEMEAGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_TH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_TH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_HK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_HK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInternationalLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInternationalLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_BR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_BR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>125
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820537953664">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME TAXES - Deferred tax assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves', window );">Accrued warranty costs</a></td>
<td class="nump">$ 17,318<span></span>
</td>
<td class="nump">$ 14,942<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">11,772<span></span>
</td>
<td class="nump">12,175<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_DeferredTaxAssetsInventory', window );">Inventory write-down</a></td>
<td class="nump">1,235<span></span>
</td>
<td class="nump">1,404<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_csiq_DeferredTaxAssetsFutureDeductibleExpenses', window );">Future deductible expenses</a></td>
<td class="nump">32,351<span></span>
</td>
<td class="nump">24,910<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_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Depreciation and impairment difference of property, plant and equipment and solar power systems</a></td>
<td class="nump">36,332<span></span>
</td>
<td class="nump">24,561<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</a></td>
<td class="nump">40<span></span>
</td>
<td class="nump">39<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_csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets', window );">Government subsidies</a></td>
<td class="nump">28,723<span></span>
</td>
<td class="nump">39,470<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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating losses carry-forward</a></td>
<td class="nump">79,474<span></span>
</td>
<td class="nump">110,012<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_DeferredTaxAssetsUnrealizedCurrencyLosses', window );">Unrealized foreign exchange loss and capital loss</a></td>
<td class="nump">2,677<span></span>
</td>
<td class="nump">491<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_csiq_DeferredTaxAssetsInterestLimitation', window );">Interest limitation</a></td>
<td class="nump">14,031<span></span>
</td>
<td class="nump">10,800<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_DeferredTaxAssetsOther', window );">Others</a></td>
<td class="nump">48,761<span></span>
</td>
<td class="nump">47,690<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets, gross</a></td>
<td class="nump">272,714<span></span>
</td>
<td class="nump">286,494<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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(43,488)<span></span>
</td>
<td class="num">(45,682)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets, net of valuation allowance</a></td>
<td class="nump">229,226<span></span>
</td>
<td class="nump">240,812<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_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDerivatives', window );">Derivative assets</a></td>
<td class="nump">2,899<span></span>
</td>
<td class="nump">2,153<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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation difference of property, plant and equipment</a></td>
<td class="nump">34,914<span></span>
</td>
<td class="nump">27,776<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_csiq_DeferredTaxLiabilitiesInsuranceRecoverable', window );">Insurance recoverable</a></td>
<td class="nump">55<span></span>
</td>
<td class="nump">32<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_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains', window );">Unrealized foreign exchange gain</a></td>
<td class="nump">3,906<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Others</a></td>
<td class="nump">24,856<span></span>
</td>
<td class="nump">19,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">66,630<span></span>
</td>
<td class="nump">52,459<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_DeferredTaxLiabilitiesAbstract', window );"><strong>Analysis as:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">229,226<span></span>
</td>
<td class="nump">236,503<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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="num">(66,630)<span></span>
</td>
<td class="num">(48,150)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">162,596<span></span>
</td>
<td class="nump">188,353<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_OperatingLossCarryforwards', window );">Accumulated net operating losses</a></td>
<td class="nump">579,862<span></span>
</td>
<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_csiq_OperatingLossCarryforwardsSubjectToExpiration', window );">Accumulated net operating losses subject to expiration between 2021 and 2040</a></td>
<td class="nump">338,692<span></span>
</td>
<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">$ (43,488)<span></span>
</td>
<td class="num">$ (45,682)<span></span>
</td>
<td class="num">$ (50,118)<span></span>
</td>
<td class="num">$ (70,627)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DeferredTaxAssetsFutureDeductibleExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsFutureDeductibleExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxAssetsInterestLimitation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsInterestLimitation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project 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;">csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxLiabilitiesInsuranceRecoverable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxLiabilitiesInsuranceRecoverable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsUnrealizedCurrencyLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from derivatives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>126
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529848224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Combined federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.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_csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent', window );">Effect of permanent difference (as a percent)</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Effect of different tax rate on earnings in other jurisdictions (as a percent)</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="num">(6.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_EffectiveIncomeTaxRateReconciliationTaxHolidays', window );">Effect of tax holiday (as a percent)</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp', window );">Effect of true-up (as a percent)</a></td>
<td class="num">(2.00%)<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="num">(13.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_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Unrecognized tax provision (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5.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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance (as a percent)</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(14.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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Effect of change in tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
<td class="nump">2.00%<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_EffectiveIncomeTaxRateContinuingOperations', window );">Actual income tax rate (as a percent)</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">26.00%<span></span>
</td>
<td class="num">(1.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_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</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_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested</a></td>
<td class="nump">$ 592,731,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_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities', window );">Provision for withholding income tax on dividend</a></td>
<td class="nump">$ 0<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_csiq_PreferentialWithholdingTaxRate', window );">Preferential withholding tax rate (as a percent)</a></td>
<td class="nump">5.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_csiq_IncomeTaxHolidayAbstract', window );"><strong>Aggregate amount and per share effect of the tax holiday</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_IncomeTaxHolidayAggregateDollarAmount', window );">The aggregate amount (in dollars)</a></td>
<td class="nump">$ 2,520,000<span></span>
</td>
<td class="nump">$ 4,466,000<span></span>
</td>
<td class="nump">$ 1,287,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_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic', window );">Per share effect - basic (in dollars per share)</a></td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.02<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_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted', window );">Per share effect - diluted (in dollars per share)</a></td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.02<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</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_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</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_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities', window );">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</a></td>
<td class="nump">5.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_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries', window );">Unrecognized deferred tax liabilities</a></td>
<td class="nump">$ 29,637,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</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_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities', window );">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries', window );">Unrecognized deferred tax liabilities</a></td>
<td class="nump">$ 59,273,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_IncomeTaxAdditionalDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_IncomeTaxAdditionalDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">csiq_IncomeTaxHolidayAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PreferentialWithholdingTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the preferential withholding tax 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;">csiq_PreferentialWithholdingTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the withholding tax rate on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationTaxHolidays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays</td>
</tr>
<tr>
<td style="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_IncomeTaxHolidayAggregateDollarAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxHolidayAggregateDollarAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126928070&amp;loc=d3e28200-109314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_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>127
<FILENAME>R106.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536817488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Movement of the valuation allowance (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_DeferredTaxAssetsValuationAllowance', window );">Beginning of the year</a></td>
<td class="nump">$ 45,682<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_DeferredTaxAssetsValuationAllowance', window );">End of the year</a></td>
<td class="nump">43,488<span></span>
</td>
<td class="nump">$ 45,682<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Allowance</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_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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_DeferredTaxAssetsValuationAllowance', window );">Beginning of the year</a></td>
<td class="nump">45,682<span></span>
</td>
<td class="nump">50,118<span></span>
</td>
<td class="nump">$ 70,627<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_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Reversals</a></td>
<td class="num">(1,531)<span></span>
</td>
<td class="num">(4,671)<span></span>
</td>
<td class="num">(21,585)<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="num">(663)<span></span>
</td>
<td class="nump">235<span></span>
</td>
<td class="nump">1,076<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">End of the year</a></td>
<td class="nump">$ 43,488<span></span>
</td>
<td class="nump">$ 45,682<span></span>
</td>
<td class="nump">$ 50,118<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>128
<FILENAME>R107.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820535225840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive shares excluded from the computation of diluted earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc. - basic</a></td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther', window );">Dilutive effect of convertible notes</a></td>
<td class="nump">5,183<span></span>
</td>
<td class="nump">5,300<span></span>
</td>
<td class="nump">1,518<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToParentDiluted', window );">Net income attributable to Canadian Solar Inc. - diluted</a></td>
<td class="nump">$ 245,151<span></span>
</td>
<td class="nump">$ 100,548<span></span>
</td>
<td class="nump">$ 148,221<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic calculation - weighted average number of common shares - basic</a></td>
<td class="nump">64,324,558<span></span>
</td>
<td class="nump">61,614,391<span></span>
</td>
<td class="nump">59,575,898<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Diluted effects of share number from share options and RSUs</a></td>
<td class="nump">586,420<span></span>
</td>
<td class="nump">985,554<span></span>
</td>
<td class="nump">897,258<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities', window );">Dilutive effects of share number from convertible notes</a></td>
<td class="nump">6,272,157<span></span>
</td>
<td class="nump">6,272,157<span></span>
</td>
<td class="nump">1,833,663<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted calculation - weighted average number of common shares - diluted</a></td>
<td class="nump">71,183,135<span></span>
</td>
<td class="nump">68,872,102<span></span>
</td>
<td class="nump">62,306,819<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share</a></td>
<td class="nump">$ 3.73<span></span>
</td>
<td class="nump">$ 1.55<span></span>
</td>
<td class="nump">$ 2.46<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">$ 3.44<span></span>
</td>
<td class="nump">$ 1.46<span></span>
</td>
<td class="nump">$ 2.38<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember', window );">Share options and RSUs</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Anti-dilutive shares excluded from the computation of diluted earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</a></td>
<td class="nump">9,295<span></span>
</td>
<td class="nump">3,877<span></span>
</td>
<td class="nump">187,083<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-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_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=128363288&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1930-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e2029-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities</td>
</tr>
<tr>
<td style="padding-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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126962052&amp;loc=d3e4991-113900<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1707-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1500-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1757-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-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_NetIncomeLossAttributableToParentDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain 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_NetIncomeLossAttributableToParentDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>129
<FILENAME>R108.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820521948432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS (Details)<br> &#165; in Thousands, R$ in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="2">11 Months Ended</th>
<th class="th" colspan="10">12 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, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Nov. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 30, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>JPY (&#165;) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>BRL (R$) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>CNY (&#165;)</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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DueFromRelatedPartiesCurrent', window );">Amount due from related parties, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 73,042<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DueFromRelatedPartiesNoncurrent', window );">Amount due from related parties, Non current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,489<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember', window );">Horus and Recursos</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.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="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember', window );">RE Crimson Holdings LLC</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">20.00%<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=csiq_CanadianSolarInc.Member', window );">Canadian Solar Inc | Korean investor</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByParent', window );">Noncontrolling interest 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="nump">51.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>
<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=csiq_CanadianSolarInc.Member', window );">Canadian Solar Inc | Chinese investor</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByParent', window );">Noncontrolling interest 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="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.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="nump">80.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=csiq_CanadianSolarInc.Member', window );">Canadian Solar Inc | Canadian infrastructure fund</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByParent', window );">Noncontrolling interest 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="nump">80.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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
<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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember', window );">Horus and Recursos</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DueFromRelatedPartiesCurrent', window );">Amount due from related parties, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DueFromRelatedPartiesNoncurrent', window );">Amount due from related parties, Non current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,489<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=srt_AffiliatedEntityMember', window );">Various affiliates | Horus and Recursos</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">49.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>
<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=csiq_SalgueiroIRenewableEnergyS.aMember', window );">Salgueiro I Renewable Energy S.A</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 105<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,636<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SalgueiroIiRenewableEnergyS.a.Member', window );">Salgueiro II Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">105<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,996<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SalgueiroIiiRenewableEnergyS.a.Member', window );">Salgueiro III Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 119<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_Jaiba3RenewableEnergyS.a.Member', window );">Jaiba 3 Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,971<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_Jaiba4RenewableEnergyS.a.Member', window );">Jaiba 4 Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,696<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_Jaiba9RenewableEnergyS.a.Member', window );">Jaiba 9 Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,372<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold', window );">Number of solar power plants sold | item</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<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_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<td class="nump">14.64%<span></span>
</td>
<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Asset management service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,180<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 545,131<span></span>
</td>
<td class="nump">$ 7,541<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 829,053<span></span>
</td>
<td class="nump">$ 3,723<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 394,506<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | O &amp; M Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,036<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 914,933<span></span>
</td>
<td class="nump">9,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">981,161<span></span>
</td>
<td class="nump">7,564<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">805,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Revenue</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">282,133<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 30,601,181<span></span>
</td>
<td class="nump">$ 8,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 888,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="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=csiq_SuzhouIsilverMaterialsMember', window );">Suzhou iSilver Materials Co</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,301<span></span>
</td>
<td class="nump">&#165; 168,032,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>
<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=csiq_SuzhouKzoneEquipmentTechnologyMember', window );">Suzhou Kzone Equipment Technology Co., Ltd</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="nump">$ 1,048<span></span>
</td>
<td class="nump">&#165; 7,381,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>
<td class="text">&#160;<span></span>
</td>
<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=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | RSUs</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="nump">26,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | Chinese Commercial Banks</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,882<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,648<span></span>
</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">&#165; 12,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 135,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember', window );">Luoyang Jiwa New Material Technology Co., Ltd [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,995<span></span>
</td>
<td class="nump">&#165; 19,378,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,545<span></span>
</td>
<td class="nump">&#165; 31,388,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember', window );">Luoyang Jiwa New Material Technology Co., Ltd [Member] | Canadian Solar Inc | Chinese investor</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByParent', window );">Noncontrolling interest 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="nump">89.09%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89.09%<span></span>
</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">89.09%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89.09%<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=csiq_LavrasSolarHoldingS.aMember', window );">Lavras Solar Holding S.A</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CostsAndExpensesRelatedParty', window );">Purchase cost incurred from related party</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">$ 974<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R$ 5,061<span></span>
</td>
<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=csiq_LavrasSolarHoldingS.aMember', window );">Lavras Solar Holding S.A | Lavras Solar Holding S.A</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">20.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="nump">20.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableMember', window );">Horus Solar S.A. De Capital Variable</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LoansAndLeasesReceivableRelatedParties', window );">Shareholder loans due from 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="text">&#160;<span></span>
</td>
<td class="nump">52,424<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember', window );">Recourses Solares PV De Mexico II S.A. De Capital Variable</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LoansAndLeasesReceivableRelatedParties', window );">Shareholder loans due from 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="text">&#160;<span></span>
</td>
<td class="nump">29,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_FranciscoSaIRenewableEnergyS.a.Member', window );">Francisco SA I Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_FranciscoSaIiRenewableEnergyS.a.Member', window );">Francisco SA II Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,592<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_FranciscoSaIiiRenewableEnergyS.a.Member', window );">Francisco SA III Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,121<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_LavrasISolarRenewableEnergyS.a.Member', window );">Lavras I Solar Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 202<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_LavrasIiSolarRenewableEnergyS.a.Member', window );">Lavras II Solar Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_LavrasIiiSolarRenewableEnergyS.a.Member', window );">Lavras III Solar Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,049<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_LavrasIvSolarRenewableEnergyS.a.Member', window );">Lavras IV Solar Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_LavrasVSolarRenewableEnergyS.a.Member', window );">Lavras V Solar Renewable Energy S.A.</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,233<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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=csiq_SonoranWestSolarHoldingsLlcMember', window );">Sonoran West Solar Holdings, LLC</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 207,728<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,822<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SonoranWestSolarHoldings2LlcMember', window );">Sonoran West Solar Holdings 2, LLC</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 159,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,955<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.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>
</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=csiq_SonoranWestSolarHoldings2LlcMember', window );">Sonoran West Solar Holdings 2, LLC | RE Crimson Holdings LLC</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember', window );">Yancheng Jiwa New Material Technology Co., Ltd</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="nump">10.91%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,192<span></span>
</td>
<td class="nump">&#165; 34,772,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,688<span></span>
</td>
<td class="nump">&#165; 10,831,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember', window );">Yancheng Jiwa New Material Technology Co., Ltd | Canadian Solar Inc | Chinese investor</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MinorityInterestOwnershipPercentageByParent', window );">Noncontrolling interest 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="nump">89.09%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">89.09%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">89.09%<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_csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 interests in solar power plants sold during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PurchaseOfUnitsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of units purchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PurchaseOfUnitsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ServiceRevenueFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ServiceRevenueFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostsAndExpensesRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Costs of sales and operating expenses for the period incurred from transactions with related parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date, which are usually due after one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LoansAndLeasesReceivableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an unclassified balance sheet, reflects the carrying amount of unpaid loan amounts due from related parties at the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.7(e))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansAndLeasesReceivableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionPurchasesFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.1(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401555&amp;loc=SL114874292-224272<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(e))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SaleOfStockPercentageOfOwnershipAfterTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ReCrimsonHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ReCrimsonHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_KoreanInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_KoreanInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ChineseInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ChineseInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianInfrastructureFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianInfrastructureFundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_AffiliatedEntityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_AffiliatedEntityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SalgueiroIRenewableEnergyS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SalgueiroIRenewableEnergyS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SalgueiroIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SalgueiroIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SalgueiroIiiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SalgueiroIiiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_Jaiba3RenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_Jaiba3RenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_Jaiba4RenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_Jaiba4RenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_Jaiba9RenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_Jaiba9RenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionAxis=csiq_AssetManagementServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=csiq_AssetManagementServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionAxis=csiq_OMServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=csiq_OMServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouIsilverMaterialsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouIsilverMaterialsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouKzoneEquipmentTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SuzhouKzoneEquipmentTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ChineseCommercialBanksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ChineseCommercialBanksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasSolarHoldingS.aMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasSolarHoldingS.aMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_HorusSolarS.a.DeCapitalVariableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_HorusSolarS.a.DeCapitalVariableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FranciscoSaIRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FranciscoSaIRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FranciscoSaIiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FranciscoSaIiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_FranciscoSaIiiRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_FranciscoSaIiiRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasISolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasISolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasIiSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasIiSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasIiiSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasIiiSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasIvSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasIvSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_LavrasVSolarRenewableEnergyS.a.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_LavrasVSolarRenewableEnergyS.a.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SonoranWestSolarHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SonoranWestSolarHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SonoranWestSolarHoldings2LlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SonoranWestSolarHoldings2LlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>130
<FILENAME>R109.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529411248">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Commitments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember', window );">Property, plant and equipment</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_PurchaseCommitmentExcludingLongtermCommitmentLineItems', window );"><strong>Purchase Commitment, Excluding Long-term Commitment [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_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Commitments</a></td>
<td class="nump">$ 300,294<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2023</a></td>
<td class="nump">267,766<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2024</a></td>
<td class="nump">32,475<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2025</a></td>
<td class="nump">53<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">300,294<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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember', window );">Solar power system</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_PurchaseCommitmentExcludingLongtermCommitmentLineItems', window );"><strong>Purchase Commitment, Excluding Long-term Commitment [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_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Commitments</a></td>
<td class="nump">56,124<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2023</a></td>
<td class="nump">50,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2024</a></td>
<td class="nump">5,245<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInThirdYear', window );">2025</a></td>
<td class="nump">262<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">$ 56,124<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_PurchaseCommitmentExcludingLongtermCommitmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_PurchaseCommitmentExcludingLongtermCommitmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligationDueInThirdYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInThirdYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>131
<FILENAME>R110.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820511282848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Contingencies (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="40">1 Months Ended</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>Sep. 01, 2022</div></th>
<th class="th"><div>Jan. 21, 2015</div></th>
<th class="th"><div>Nov. 30, 2012</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Aug. 31, 2022</div></th>
<th class="th"><div>Jul. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Feb. 28, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Nov. 30, 2021</div></th>
<th class="th"><div>Oct. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Aug. 31, 2021</div></th>
<th class="th"><div>Jul. 31, 2021</div></th>
<th class="th"><div>May 31, 2021</div></th>
<th class="th"><div>Apr. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Nov. 30, 2020</div></th>
<th class="th"><div>Oct. 31, 2020</div></th>
<th class="th"><div>Aug. 31, 2020</div></th>
<th class="th"><div>Jul. 31, 2020</div></th>
<th class="th"><div>May 31, 2020</div></th>
<th class="th"><div>Apr. 30, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Aug. 31, 2019</div></th>
<th class="th"><div>Jul. 31, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Feb. 28, 2019</div></th>
<th class="th"><div>Oct. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jul. 31, 2018</div></th>
<th class="th"><div>Jun. 30, 2018</div></th>
<th class="th"><div>Oct. 31, 2017</div></th>
<th class="th"><div>Sep. 30, 2017</div></th>
<th class="th"><div>Jul. 31, 2017</div></th>
<th class="th"><div>Jul. 31, 2016</div></th>
<th class="th"><div>Jun. 30, 2016</div></th>
<th class="th"><div>May 31, 2016</div></th>
<th class="th"><div>Jul. 31, 2015</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_LitigationCaseAxis=csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember', window );">Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.94%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.24%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarOneMember', window );">First administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">9.67%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">20.94%<span></span>
</td>
<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_LitigationCaseAxis=csiq_SecondAdministrativeReviewOfSolarOneMember', window );">Second administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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">0.00%<span></span>
</td>
<td class="nump">3.96%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.96%<span></span>
</td>
<td class="nump">8.52%<span></span>
</td>
<td class="nump">9.67%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">20.94%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_ThirdAdministrativeReviewOfSolarOneMember', window );">Third administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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">0.00%<span></span>
</td>
<td class="nump">3.19%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.19%<span></span>
</td>
<td class="nump">4.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>
<td class="text">&#160;<span></span>
</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">13.07%<span></span>
</td>
<td class="nump">8.52%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.36%<span></span>
</td>
<td class="nump">18.16%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">18.16%<span></span>
</td>
<td class="nump">20.94%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_FourthAdministrativeReviewOfSolarOneMember', window );">Fourth administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">11.59%<span></span>
</td>
<td class="nump">18.16%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.02%<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_LitigationCaseAxis=csiq_FifthAdministrativeReviewOfSolarOneMember', window );">Fifth administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.06%<span></span>
</td>
<td class="nump">3.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">13.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</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.65%<span></span>
</td>
<td class="nump">9.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">9.70%<span></span>
</td>
<td class="nump">9.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</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">11.59%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_SixthAdministrativeReviewOfSolarOneMember', window );">Sixth administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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">95.50%<span></span>
</td>
<td class="nump">23.02%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">95.50%<span></span>
</td>
<td class="nump">13.07%<span></span>
</td>
<td class="nump">68.93%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">68.93%<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">11.97%<span></span>
</td>
<td class="nump">12.67%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">11.97%<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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarOneMember', window );">Seventh administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">95.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.28%<span></span>
</td>
<td class="nump">11.97%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarTwoMember', window );">Seventh administrative review of Solar 2</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarOneMember', window );">Eighth administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="nump">15.87%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.75%<span></span>
</td>
<td class="nump">19.28%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember', window );">Solar 2</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.06%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38.43%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.58%<span></span>
</td>
<td class="nump">33.58%<span></span>
</td>
<td class="nump">38.43%<span></span>
</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">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate', window );">Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.57%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.39%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember', window );">Solar 2 | Minimum</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.56%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate', window );">Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.52%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember', window );">Solar 2 | Maximum</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate', window );">Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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.78%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember', window );">Ninth and tenth administrative review of solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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="nump">15.87%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarTwoMember', window );">Eighth administrative review of the Solar 2</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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">33.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=csiq_CanadianSolarInternationalLtdMember', window );">Canadian Solar International Ltd. | Fourth administrative review of Solar 1</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LossContingenciesLineItems', window );"><strong>Contingencies</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate', window );">Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.64%<span></span>
</td>
<td class="nump">18.16%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.22%<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_csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the cash deposit rate for anti-dumping duty on CSPV cells imported from China on or after a specified date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the cash deposit rate for countervailing duty on CSPV cells imported from China on or after a specified date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the duty rate for anti-dumping duty on CSPV cells imported from Taiwan on or after a specified date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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_LitigationCaseAxis=csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_SecondAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SecondAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_ThirdAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_ThirdAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_FourthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_FourthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_FifthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_FifthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_SixthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SixthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SeventhAdministrativeReviewOfSolarTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LitigationCaseAxis=csiq_EighthAdministrativeReviewOfSolarTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInternationalLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CanadianSolarInternationalLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>132
<FILENAME>R111.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534620672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>segment</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 INFORMATION</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_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">2<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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-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_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>133
<FILENAME>R112.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820529631952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </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_SegmentReportingInformationLineItems', window );"><strong>SEGMENT INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of principal reportable business segments | segment</a></td>
<td class="nump">2<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_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<span></span>
</td>
</tr>
<tr class="ro">
<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">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
<td class="nump">689,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_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
<td class="nump">220,430<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segment | CSI Solar Segment</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_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">6,975,612<span></span>
</td>
<td class="nump">4,371,603<span></span>
</td>
<td class="nump">3,105,044<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="nump">5,824,855<span></span>
</td>
<td class="nump">3,689,126<span></span>
</td>
<td class="nump">2,496,153<span></span>
</td>
</tr>
<tr class="ro">
<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">1,150,757<span></span>
</td>
<td class="nump">682,477<span></span>
</td>
<td class="nump">608,891<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">343,798<span></span>
</td>
<td class="nump">74,132<span></span>
</td>
<td class="nump">253,105<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segment | Global Energy Segment</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_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">821,525<span></span>
</td>
<td class="nump">1,124,083<span></span>
</td>
<td class="nump">726,167<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">660,161<span></span>
</td>
<td class="nump">930,099<span></span>
</td>
<td class="nump">577,052<span></span>
</td>
</tr>
<tr class="ro">
<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">161,364<span></span>
</td>
<td class="nump">193,984<span></span>
</td>
<td class="nump">149,115<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">80,364<span></span>
</td>
<td class="nump">97,179<span></span>
</td>
<td class="nump">53,414<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_ConsolidationItemsAxis=csiq_EliminationsAndReconcilingItemsMember', window );">Elimination and unallocated items</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_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="num">(328,527)<span></span>
</td>
<td class="num">(218,517)<span></span>
</td>
<td class="num">(354,716)<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="num">(279,542)<span></span>
</td>
<td class="num">(251,368)<span></span>
</td>
<td class="num">(286,624)<span></span>
</td>
</tr>
<tr class="ro">
<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="num">(48,985)<span></span>
</td>
<td class="nump">32,851<span></span>
</td>
<td class="num">(68,092)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">$ (68,101)<span></span>
</td>
<td class="nump">$ 19,070<span></span>
</td>
<td class="num">$ (86,089)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8672-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-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_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-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_SegmentReportingInformationProfitLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingInformationProfitLossAbstract</td>
</tr>
<tr>
<td style="padding-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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=csiq_EliminationsAndReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=csiq_EliminationsAndReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>134
<FILENAME>R113.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820510083424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION - Different geographic locations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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 generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">2,312,589<span></span>
</td>
<td class="nump">1,635,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_AmericaMember', window );">The Americas</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">2,793,651<span></span>
</td>
<td class="nump">2,279,594<span></span>
</td>
<td class="nump">1,221,105<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,963,956<span></span>
</td>
<td class="nump">1,590,573<span></span>
</td>
<td class="nump">696,101<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">5,545<span></span>
</td>
<td class="nump">5,499<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_BR', window );">Brazil</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">623,331<span></span>
</td>
<td class="nump">442,603<span></span>
</td>
<td class="nump">284,478<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">242,761<span></span>
</td>
<td class="nump">710<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">49,148<span></span>
</td>
<td class="nump">30,792<span></span>
</td>
<td class="nump">100,284<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">6,200<span></span>
</td>
<td class="nump">9,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_srt_StatementGeographicalAxis=country_CL', window );">Chile</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">37,370<span></span>
</td>
<td class="nump">18,461<span></span>
</td>
<td class="nump">4,872<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_MX', window );">Mexico</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">31,912<span></span>
</td>
<td class="nump">139,611<span></span>
</td>
<td class="nump">118,846<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=csiq_OtherCountriesAmericaMember', window );">Others</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">87,934<span></span>
</td>
<td class="nump">57,554<span></span>
</td>
<td class="nump">16,524<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia and other regions</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">2,739,779<span></span>
</td>
<td class="nump">2,139,070<span></span>
</td>
<td class="nump">1,620,840<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_CN', window );">PRC</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,904,862<span></span>
</td>
<td class="nump">1,207,003<span></span>
</td>
<td class="nump">504,656<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">1,668,177<span></span>
</td>
<td class="nump">1,252,189<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_JP', window );">Japan</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">325,344<span></span>
</td>
<td class="nump">509,233<span></span>
</td>
<td class="nump">560,701<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">14,440<span></span>
</td>
<td class="nump">16,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IN', window );">India</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">197,772<span></span>
</td>
<td class="nump">142,300<span></span>
</td>
<td class="nump">61,141<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_PK', window );">Pakistan</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">73,531<span></span>
</td>
<td class="nump">48,838<span></span>
</td>
<td class="nump">15,417<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_TW', window );">Taiwan</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">67,411<span></span>
</td>
<td class="nump">7,702<span></span>
</td>
<td class="nump">24,422<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_HK', window );">Hong Kong</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">46,254<span></span>
</td>
<td class="nump">9,979<span></span>
</td>
<td class="nump">13,571<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_AE', window );">U.A.E</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">15,974<span></span>
</td>
<td class="nump">6,168<span></span>
</td>
<td class="nump">53,981<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_TH', window );">Thailand</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">9,941<span></span>
</td>
<td class="nump">59,451<span></span>
</td>
<td class="nump">6,108<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">276,497<span></span>
</td>
<td class="nump">266,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_VN', window );">Vietnam</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">9,078<span></span>
</td>
<td class="nump">19,956<span></span>
</td>
<td class="nump">289,621<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=csiq_OtherCountriesAsiaMember', window );">Others</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">89,612<span></span>
</td>
<td class="nump">128,440<span></span>
</td>
<td class="nump">91,222<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,935,180<span></span>
</td>
<td class="nump">858,505<span></span>
</td>
<td class="nump">634,550<span></span>
</td>
</tr>
<tr class="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 long-lived assets</a></td>
<td class="nump">27,182<span></span>
</td>
<td class="nump">1,824<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_ES', window );">Spain</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">434,841<span></span>
</td>
<td class="nump">100,658<span></span>
</td>
<td class="nump">138,972<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_AU', window );">Australia</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">393,959<span></span>
</td>
<td class="nump">165,772<span></span>
</td>
<td class="nump">120,403<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_DE', window );">Germany</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">322,189<span></span>
</td>
<td class="nump">231,995<span></span>
</td>
<td class="nump">119,035<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_NL', window );">Netherlands</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">136,375<span></span>
</td>
<td class="nump">104,715<span></span>
</td>
<td class="nump">96,372<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_ZA', window );">South Africa</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">118,458<span></span>
</td>
<td class="nump">90,761<span></span>
</td>
<td class="nump">49,375<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_GB', window );">United Kingdom</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">106,662<span></span>
</td>
<td class="nump">7,749<span></span>
</td>
<td class="nump">8,842<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_CZ', window );">Czech</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">79,414<span></span>
</td>
<td class="nump">34,604<span></span>
</td>
<td class="nump">16,144<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_IE', window );">Ireland</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">63,740<span></span>
</td>
<td class="nump">7,844<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_RO', window );">Romania</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">31,804<span></span>
</td>
<td class="nump">3,699<span></span>
</td>
<td class="nump">1,258<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_FR', window );">France</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">31,147<span></span>
</td>
<td class="nump">25,980<span></span>
</td>
<td class="nump">29,974<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_AR', window );">Argentina</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">66,017<span></span>
</td>
<td class="nump">68,508<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesEuropeMember', window );">Others</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">216,591<span></span>
</td>
<td class="nump">84,728<span></span>
</td>
<td class="nump">$ 54,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_SeriesOfIndividuallyImmaterialCountriesMember', window );">Others</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">$ 5,770<span></span>
</td>
<td class="nump">$ 14,147<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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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=csiq_AmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_AmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_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_CL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_MX">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_MX</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherCountriesAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_IN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TW</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_HK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_HK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_TH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesAsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherCountriesAsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ES">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ES</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AU">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AU</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_DE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_NL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_NL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ZA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ZA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CZ">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CZ</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_IE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RO">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RO</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_FR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_FR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_AR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherCountriesEuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SeriesOfIndividuallyImmaterialCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SeriesOfIndividuallyImmaterialCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>135
<FILENAME>R114.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820527820320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION - Each product or service (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<span></span>
</td>
<td class="nump">11,854<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment charges on investments</a></td>
<td class="nump">357<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">24,060<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_csiq_ProjectAssetsImpairmentCharge', window );">Project assets impairment</a></td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
<td class="nump">369<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<span></span>
</td>
<td class="nump">11,854<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment charges on investments</a></td>
<td class="nump">357<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">24,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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Solar modules</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">5,534,379<span></span>
</td>
<td class="nump">3,328,301<span></span>
</td>
<td class="nump">2,348,724<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Solar system kits</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">538,157<span></span>
</td>
<td class="nump">302,133<span></span>
</td>
<td class="nump">157,656<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Utility-scale battery storage</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">440,030<span></span>
</td>
<td class="nump">222,655<span></span>
</td>
<td class="nump">7,899<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Residential battery storage</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">686<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_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | China Energy or Engineering, Procurement and Construction (includes Electricity Sales)</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">35,711<span></span>
</td>
<td class="nump">178,830<span></span>
</td>
<td class="nump">175,388<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=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Others</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">98,122<span></span>
</td>
<td class="nump">121,167<span></span>
</td>
<td class="nump">60,661<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=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProjectAssetsImpairmentCharge', window );">Project assets impairment</a></td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
<td class="nump">369<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=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Solar and battery storage power projects</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">761,677<span></span>
</td>
<td class="nump">1,064,178<span></span>
</td>
<td class="nump">654,827<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=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | O&amp;M and asset management services</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">33,776<span></span>
</td>
<td class="nump">35,334<span></span>
</td>
<td class="nump">26,386<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=csiq_GlobalEnergySegmentMember', window );">Global Energy Segment | Others (includes electricity sales)</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_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">$ 26,072<span></span>
</td>
<td class="nump">$ 24,571<span></span>
</td>
<td class="nump">$ 44,954<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126905981&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI https://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_CsiSolarSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarModulesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SolarModulesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarSystemKitsProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SolarSystemKitsProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_UtilityScaleBatteryStorageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_UtilityScaleBatteryStorageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ResidentialBatteryStorageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ResidentialBatteryStorageMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCsiSolarProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherCsiSolarProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_StatementBusinessSegmentsAxis=csiq_GlobalEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_GlobalEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarPowerProjectsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_SolarPowerProjectsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OmAndAssetManagementServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OmAndAssetManagementServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>136
<FILENAME>R115.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533242608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT PLANS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer's contribution (as a percent)</a></td>
<td class="nump">16.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_DefinedContributionPlanCostRecognized', window );">Defined contributions schemes expense</a></td>
<td class="nump">$ 17,753<span></span>
</td>
<td class="nump">$ 14,362<span></span>
</td>
<td class="nump">$ 8,064<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds', window );">Percentage of applicable salaries contributed by the employer for housing funds</a></td>
<td class="nump">8.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_csiq_DefinedContributionPlanEmployerContributionAmount', window );">Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits</a></td>
<td class="nump">$ 15,918<span></span>
</td>
<td class="nump">$ 13,584<span></span>
</td>
<td class="nump">$ 11,486<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</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">6.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.50%<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">0.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">8.50%<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.70%<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">2.50%<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_csiq_DefinedContributionPlanEmployerContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="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_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>137
<FILENAME>R116.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820535166448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - Options to Employees (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2010</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Maximum aggregate number of shares to be issued</a></td>
<td class="nump">2,330,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares', window );">Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares', window );">Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares</a></td>
<td class="nump">2.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>
</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate', window );">Number of shares to be granted after expiration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm', window );">Expiry term of share options</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1', window );">Compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Options | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Option exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Total intrinsic value of options exercised (in dollars)</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">$ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,291<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price of options outstanding (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.33<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 contract terms of options outstanding (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of outstanding options (in dollars)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 567<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_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 expensed and capitalized 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>138
<FILENAME>R117.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820509985808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - RSUs to Employees (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 25, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Gross unrecognized share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68,689<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted to employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29.86<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of unvested awards outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,189,376<span></span>
</td>
<td class="nump">3,335,303<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_csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions', window );">Total compensation cost at the date of grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,909<span></span>
</td>
<td class="nump">$ 55,822<span></span>
</td>
<td class="nump">$ 24,918<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total recognized compensation cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">$ 8,808<span></span>
</td>
<td class="nump">$ 12,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized share-based compensation costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,940<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition of compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the beginning of the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,335,303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
<td class="nump">1,105,640<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(483,377)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(106,717)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the end of the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,189,376<span></span>
</td>
<td class="nump">3,335,303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested at the beginning of the period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24.23<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29.86<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.41<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.03<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested at the end of the period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.65<span></span>
</td>
<td class="nump">$ 24.23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Total fair value of shares vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,276<span></span>
</td>
<td class="nump">$ 21,628<span></span>
</td>
<td class="nump">$ 14,420<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted to employees</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,096,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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting 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="nump">50.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.69<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of unvested awards outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,036,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,096,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the end of the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,036,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant-Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25.69<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Tranche one | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting 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="nump">25.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Tranche two | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting 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="nump">25.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Grant period (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Grant period (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted to employees</a></td>
<td class="nump">205,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Vesting 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of unvested awards outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">205,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number of Shares</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">205,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the end of the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">205,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance shares | Tranche one | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting percentage</a></td>
<td class="nump">25.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>
</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_PerformanceSharesMember', window );">Performance shares | Tranche two | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Vesting percentage</a></td>
<td class="nump">25.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>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_VestingAxis=us-gaap_ShareBasedCompensationAwardTrancheTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PerformanceSharesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>139
<FILENAME>R118.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534605392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUBSEQUENT EVENT (Details) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>SUBSEQUENT EVENT</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_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>140
<FILENAME>R119.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534445472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract', window );"><strong>Additional Information - Financial Statement Schedule I</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_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution</a></td>
<td class="nump">$ 658,166<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_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</a></td>
<td class="nump">25.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed 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/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>141
<FILENAME>R120.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820533306528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financial Statement Schedule I - BALANCE SHEETS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 981,434<span></span>
</td>
<td class="nump">$ 869,831<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">48,614<span></span>
</td>
<td class="nump">73,042<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">17,516<span></span>
</td>
<td class="nump">7,286<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">267,941<span></span>
</td>
<td class="nump">434,177<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">5,644,657<span></span>
</td>
<td class="nump">4,771,827<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">229,226<span></span>
</td>
<td class="nump">236,503<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">187,549<span></span>
</td>
<td class="nump">174,453<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">9,037,128<span></span>
</td>
<td class="nump">7,388,342<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">1,443,816<span></span>
</td>
<td class="nump">1,592,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_DueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries</a></td>
<td class="nump">89<span></span>
</td>
<td class="nump">143<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">25,359<span></span>
</td>
<td class="nump">2,622<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">293,012<span></span>
</td>
<td class="nump">242,783<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">5,258,768<span></span>
</td>
<td class="nump">4,038,148<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayable', window );">Convertible notes</a></td>
<td class="nump">225,977<span></span>
</td>
<td class="nump">224,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">66,630<span></span>
</td>
<td class="nump">48,150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">5,730<span></span>
</td>
<td class="nump">7,448<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">6,730,434<span></span>
</td>
<td class="nump">5,261,904<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively</a></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">835,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,127<span></span>
</td>
<td class="num">(19,428)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,275,520<span></span>
</td>
<td class="nump">1,035,552<span></span>
</td>
</tr>
<tr class="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 );">Accumulated other comprehensive loss</a></td>
<td class="num">(170,551)<span></span>
</td>
<td class="num">(50,584)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,941,639<span></span>
</td>
<td class="nump">1,801,083<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">9,037,128<span></span>
</td>
<td class="nump">7,388,342<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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable legal entities</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_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">15,661<span></span>
</td>
<td class="nump">27,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">582,685<span></span>
</td>
<td class="nump">638,832<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">521<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">13,218<span></span>
</td>
<td class="nump">5,318<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">611,564<span></span>
</td>
<td class="nump">672,103<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_csiq_InvestmentInSubsidiaries', window );">Investment in subsidiaries</a></td>
<td class="nump">2,158,474<span></span>
</td>
<td class="nump">1,992,658<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_csiq_InvestmentInAffiliates', window );">Investments in affiliates</a></td>
<td class="nump">11,745<span></span>
</td>
<td class="nump">10,755<span></span>
</td>
</tr>
<tr class="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 assets</a></td>
<td class="nump">1,755<span></span>
</td>
<td class="nump">1,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">39,837<span></span>
</td>
<td class="nump">45,213<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">2,823,375<span></span>
</td>
<td class="nump">2,722,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to subsidiaries</a></td>
<td class="nump">640,055<span></span>
</td>
<td class="nump">682,247<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">4,522<span></span>
</td>
<td class="nump">5,676<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">645,339<span></span>
</td>
<td class="nump">687,923<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayable', window );">Convertible notes</a></td>
<td class="nump">225,977<span></span>
</td>
<td class="nump">224,675<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">4,690<span></span>
</td>
<td class="nump">1,562<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">5,730<span></span>
</td>
<td class="nump">7,432<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">881,736<span></span>
</td>
<td class="nump">921,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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively</a></td>
<td class="nump">835,543<span></span>
</td>
<td class="nump">835,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">1,127<span></span>
</td>
<td class="num">(19,428)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">1,275,520<span></span>
</td>
<td class="nump">1,035,552<span></span>
</td>
</tr>
<tr class="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 );">Accumulated other comprehensive loss</a></td>
<td class="num">(170,551)<span></span>
</td>
<td class="num">(50,584)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,941,639<span></span>
</td>
<td class="nump">1,801,083<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">$ 2,823,375<span></span>
</td>
<td class="nump">$ 2,722,675<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InvestmentInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InvestmentInSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120401414&amp;loc=d3e603758-122996<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DerivativeAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>142
<FILENAME>R121.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820536917504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="nump">64,022,678<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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable legal entities | Parent Company</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">64,506,055<span></span>
</td>
<td class="nump">64,022,678<span></span>
</td>
</tr>
<tr class="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 shares, shares outstanding (in shares)</a></td>
<td class="nump">64,022,678<span></span>
</td>
<td class="nump">59,820,384<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>143
<FILENAME>R122.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820538091424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
<td class="nump">$ 3,476,495<span></span>
</td>
</tr>
<tr class="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 revenues</a></td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<span></span>
</td>
<td class="nump">2,786,581<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">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
<td class="nump">689,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_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">342,129<span></span>
</td>
<td class="nump">308,942<span></span>
</td>
<td class="nump">225,597<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">69,822<span></span>
</td>
<td class="nump">58,407<span></span>
</td>
<td class="nump">45,167<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
<td class="num">(25,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_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">907,075<span></span>
</td>
<td class="nump">718,931<span></span>
</td>
<td class="nump">469,484<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
<td class="nump">220,430<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(74,266)<span></span>
</td>
<td class="num">(58,153)<span></span>
</td>
<td class="num">(71,874)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">40,615<span></span>
</td>
<td class="nump">11,051<span></span>
</td>
<td class="nump">9,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Gain (loss) on change in fair value of derivatives, net</a></td>
<td class="num">(44,489)<span></span>
</td>
<td class="nump">23,785<span></span>
</td>
<td class="nump">50,001<span></span>
</td>
</tr>
<tr class="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 );">Foreign exchange gain (loss), net</a></td>
<td class="nump">77,689<span></span>
</td>
<td class="num">(47,234)<span></span>
</td>
<td class="num">(64,820)<span></span>
</td>
</tr>
<tr class="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 );">Investment (loss) gain</a></td>
<td class="nump">858<span></span>
</td>
<td class="nump">18,634<span></span>
</td>
<td class="num">(8,559)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net:</a></td>
<td class="nump">407<span></span>
</td>
<td class="num">(51,917)<span></span>
</td>
<td class="num">(85,946)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) before income taxes and equity in earnings of subsidiaries</a></td>
<td class="nump">356,468<span></span>
</td>
<td class="nump">138,464<span></span>
</td>
<td class="nump">134,484<span></span>
</td>
</tr>
<tr class="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 benefit (expense)</a></td>
<td class="num">(73,353)<span></span>
</td>
<td class="num">(35,844)<span></span>
</td>
<td class="nump">1,983<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
<td class="nump">146,703<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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable legal entities | Parent Company</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_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">341<span></span>
</td>
<td class="nump">2,170<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="text">&#160;<span></span>
</td>
<td class="nump">341<span></span>
</td>
<td class="nump">2,170<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">890<span></span>
</td>
<td class="nump">766<span></span>
</td>
<td class="nump">2,174<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">11,261<span></span>
</td>
<td class="nump">9,177<span></span>
</td>
<td class="nump">49,688<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">155<span></span>
</td>
<td class="nump">182<span></span>
</td>
<td class="nump">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_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(282)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">12,306<span></span>
</td>
<td class="nump">9,843<span></span>
</td>
<td class="nump">52,554<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(12,306)<span></span>
</td>
<td class="num">(9,502)<span></span>
</td>
<td class="num">(50,384)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(23,229)<span></span>
</td>
<td class="num">(19,677)<span></span>
</td>
<td class="num">(9,628)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">20,563<span></span>
</td>
<td class="nump">20,249<span></span>
</td>
<td class="nump">30,536<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Gain (loss) on change in fair value of derivatives, net</a></td>
<td class="num">(844)<span></span>
</td>
<td class="nump">4,043<span></span>
</td>
<td class="nump">25,341<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Foreign exchange gain (loss), net</a></td>
<td class="nump">616<span></span>
</td>
<td class="num">(3,674)<span></span>
</td>
<td class="nump">13,768<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net:</a></td>
<td class="num">(2,894)<span></span>
</td>
<td class="nump">941<span></span>
</td>
<td class="nump">60,017<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) before income taxes and equity in earnings of subsidiaries</a></td>
<td class="num">(15,200)<span></span>
</td>
<td class="num">(8,561)<span></span>
</td>
<td class="nump">9,633<span></span>
</td>
</tr>
<tr class="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 benefit (expense)</a></td>
<td class="nump">8,786<span></span>
</td>
<td class="nump">2,424<span></span>
</td>
<td class="num">(34,223)<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_csiq_EquityIncomeLossFromSubsidiaries', window );">Equity in earnings of subsidiaries</a></td>
<td class="nump">246,382<span></span>
</td>
<td class="nump">101,385<span></span>
</td>
<td class="nump">171,293<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_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<span></span>
</td>
<td class="nump">$ 146,703<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityIncomeLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityIncomeLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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 foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126970911&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method 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/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1377-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>144
<FILENAME>R123.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820530254592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income (loss) (net of tax of nil)</a></td>
<td class="num">(150,127)<span></span>
</td>
<td class="num">(26,296)<span></span>
</td>
<td class="nump">76,188<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Canadian Solar Inc.</a></td>
<td class="nump">119,457<span></span>
</td>
<td class="nump">73,343<span></span>
</td>
<td class="nump">227,631<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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable legal entities | Parent Company</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_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Other comprehensive income (loss) (net of tax of nil)</a></td>
<td class="num">(120,511)<span></span>
</td>
<td class="num">(21,905)<span></span>
</td>
<td class="nump">80,928<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 Canadian Solar Inc.</a></td>
<td class="nump">$ 119,457<span></span>
</td>
<td class="nump">$ 73,343<span></span>
</td>
<td class="nump">$ 227,631<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">srt_CondensedFinancialStatementsCaptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, before 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=126980362&amp;loc=d3e28129-110885<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669646-108580<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>145
<FILENAME>R124.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820521845536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
<td class="nump">$ 147,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">234,559<span></span>
</td>
<td class="nump">282,769<span></span>
</td>
<td class="nump">209,118<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,302<span></span>
</td>
<td class="nump">1,461<span></span>
</td>
<td class="nump">388<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss (gain) on disposal of property, plant and equipment</a></td>
<td class="num">(4,259)<span></span>
</td>
<td class="nump">83<span></span>
</td>
<td class="num">(253)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives</a></td>
<td class="nump">44,489<span></span>
</td>
<td class="num">(23,785)<span></span>
</td>
<td class="num">(50,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_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">7,615<span></span>
</td>
<td class="nump">9,874<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred taxes</a></td>
<td class="nump">16,908<span></span>
</td>
<td class="num">(67,386)<span></span>
</td>
<td class="num">(21,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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="num">(357,276)<span></span>
</td>
<td class="num">(284,785)<span></span>
</td>
<td class="nump">65,379<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="num">(4,451)<span></span>
</td>
<td class="num">(68,912)<span></span>
</td>
<td class="nump">26,828<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">151,663<span></span>
</td>
<td class="num">(85,754)<span></span>
</td>
<td class="num">(72,188)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="num">(17,350)<span></span>
</td>
<td class="nump">20,357<span></span>
</td>
<td class="num">(11,913)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="nump">351,535<span></span>
</td>
<td class="nump">11,023<span></span>
</td>
<td class="num">(89,180)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="num">(54)<span></span>
</td>
<td class="num">(171)<span></span>
</td>
<td class="num">(9,773)<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(1,718)<span></span>
</td>
<td class="num">(7,281)<span></span>
</td>
<td class="num">(623)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(31,851)<span></span>
</td>
<td class="nump">31,886<span></span>
</td>
<td class="nump">33,054<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">916,631<span></span>
</td>
<td class="num">(408,254)<span></span>
</td>
<td class="num">(120,541)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(630,488)<span></span>
</td>
<td class="num">(429,570)<span></span>
</td>
<td class="num">(319,662)<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Net proceeds from issuance of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Proceeds from changes in ownership interests in subsidiaries without change of control</a></td>
<td class="nump">15,109<span></span>
</td>
<td class="nump">10,003<span></span>
</td>
<td class="nump">261,332<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">428,639<span></span>
</td>
<td class="nump">614,071<span></span>
</td>
<td class="nump">823,501<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="num">(179,561)<span></span>
</td>
<td class="nump">18,320<span></span>
</td>
<td class="nump">50,997<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">535,221<span></span>
</td>
<td class="num">(205,433)<span></span>
</td>
<td class="nump">434,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">1,434,282<span></span>
</td>
<td class="nump">1,639,715<span></span>
</td>
<td class="nump">1,205,420<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,969,503<span></span>
</td>
<td class="nump">1,434,282<span></span>
</td>
<td class="nump">1,639,715<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">76,511<span></span>
</td>
<td class="nump">71,006<span></span>
</td>
<td class="nump">78,747<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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable legal entities</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_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
<td class="nump">146,703<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150<span></span>
</td>
<td class="nump">156<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,302<span></span>
</td>
<td class="nump">1,461<span></span>
</td>
<td class="nump">388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives</a></td>
<td class="nump">844<span></span>
</td>
<td class="num">(4,043)<span></span>
</td>
<td class="num">(25,341)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">357<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_csiq_EquityIncomeLossFromSubsidiaries', window );">Equity in earnings of subsidiaries</a></td>
<td class="num">(246,382)<span></span>
</td>
<td class="num">(101,385)<span></span>
</td>
<td class="num">(171,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_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
<td class="nump">12,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred taxes</a></td>
<td class="nump">3,319<span></span>
</td>
<td class="nump">805<span></span>
</td>
<td class="num">(468)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">10,990<span></span>
</td>
<td class="num">(206,892)<span></span>
</td>
<td class="nump">287,865<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(7,900)<span></span>
</td>
<td class="nump">17,353<span></span>
</td>
<td class="num">(13,183)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="nump">10<span></span>
</td>
<td class="num">(4,907)<span></span>
</td>
<td class="nump">28,459<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">38,610<span></span>
</td>
<td class="num">(42,224)<span></span>
</td>
<td class="num">(340,502)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="num">(1,154)<span></span>
</td>
<td class="num">(27,293)<span></span>
</td>
<td class="nump">31,809<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(1,702)<span></span>
</td>
<td class="num">(5,915)<span></span>
</td>
<td class="nump">306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="nump">439<span></span>
</td>
<td class="nump">4,633<span></span>
</td>
<td class="nump">19,517<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">47,714<span></span>
</td>
<td class="num">(264,201)<span></span>
</td>
<td class="num">(22,877)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_PaymentsToAcquireSubsidiaries', window );">Investments in subsidiaries</a></td>
<td class="num">(65,421)<span></span>
</td>
<td class="num">(138,456)<span></span>
</td>
<td class="num">(126,487)<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_csiq_PaymentsToAcquireAffiliates', window );">Investments in affiliates</a></td>
<td class="num">(990)<span></span>
</td>
<td class="num">(5,273)<span></span>
</td>
<td class="num">(2,766)<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_csiq_PaymentsForProceedsFromLoansToSubsidiaries', window );">Funding of loans to subsidiaries</a></td>
<td class="num">(122,050)<span></span>
</td>
<td class="num">(201,192)<span></span>
</td>
<td class="num">(264,848)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentOfNotesReceivableFromRelatedParties', window );">Repayment of loans from subsidiaries</a></td>
<td class="nump">172,573<span></span>
</td>
<td class="nump">253,816<span></span>
</td>
<td class="nump">20,485<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(15,888)<span></span>
</td>
<td class="num">(91,105)<span></span>
</td>
<td class="num">(373,616)<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentsOfNotesPayable', window );">Proceeds from (repayment of) short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(80,000)<span></span>
</td>
<td class="nump">30,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_csiq_RepaymentOfLoanFromSubsidiaries', window );">Repayment of loan from subsidiary</a></td>
<td class="num">(49,554)<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_csiq_ProceedsFromLoansFromSubsidiaries', window );">Funding of loans from a subsidiary</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">280,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_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Proceeds from changes in ownership interests in subsidiaries without change of control</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">224,553<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Net proceeds from issuance of convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">222,826<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Payments for repurchase of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,963)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="num">(49,554)<span></span>
</td>
<td class="nump">348,510<span></span>
</td>
<td class="nump">472,451<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="nump">5,957<span></span>
</td>
<td class="num">(797)<span></span>
</td>
<td class="num">(43,246)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="num">(11,771)<span></span>
</td>
<td class="num">(7,593)<span></span>
</td>
<td class="nump">32,712<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">27,432<span></span>
</td>
<td class="nump">35,025<span></span>
</td>
<td class="nump">2,313<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">15,661<span></span>
</td>
<td class="nump">27,432<span></span>
</td>
<td class="nump">35,025<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">$ 30,521<span></span>
</td>
<td class="nump">$ 20,272<span></span>
</td>
<td class="nump">$ 7,966<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityIncomeLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityIncomeLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 uncertainty liability in income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsForProceedsFromLoansToSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 amount paid or received by the reporting entity associated with the loans to subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsForProceedsFromLoansToSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 payments to acquire affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 Payments to Acquire Subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromLoansFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loans from subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromLoansFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_RepaymentOfLoanFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 repayment of loans from subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_RepaymentOfLoanFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccretionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 35<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=6394232&amp;loc=d3e17558-110866<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126976982&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert 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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncreaseDecreaseInOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 current liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromRepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 long-term debt supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3000-108585<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126929396&amp;loc=SL4569616-111683<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 29: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591551-111686<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI https://asc.fasb.org/extlink&amp;oid=120409616&amp;loc=SL4591552-111686<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentOfNotesReceivableFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentOfNotesReceivableFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>146
<FILENAME>R125.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534683520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details) - Dec. 31, 2020<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>CNY (&#165;)</div></th>
<th class="th"><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_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent', window );">Listed equity securities</a></td>
<td class="nump">&#165; 91,370<span></span>
</td>
<td class="nump">$ 14,003<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_AssetsFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_EquitySecuritiesFvNiCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=123594786&amp;loc=SL75136599-209740<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>147
<FILENAME>R126.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820534704848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', window );"><strong>INVESTMENTS IN AFFILIATES</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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on disposal of investment in affiliates</a></td>
<td class="nump">$ 10,392<span></span>
</td>
<td class="nump">$ 13,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_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> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>148
<FILENAME>R127.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139820616337568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BORROWINGS - Short term (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</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_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">$ 1,443,816<span></span>
</td>
<td class="nump">$ 1,592,870<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_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>149
<FILENAME>csiq-20221231x20f_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:csiq="http://www.canadiansolar.com/20221231"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="csiq-20221231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-03-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LeadingInstitutionalInvestorsAndStrategicPartnersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TdspSFJ4JEWSykRh4mBg7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_bFA1vFgm8USc6CcorqBakQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_uYrMFSK5NEiPeNkXjP28UQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-05</startDate>
            <endDate>2021-03-05</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I7iNmz4-zEa7gkJ7gO6qhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_q3KVlYHWmUi0Zi9xWywk1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_o8L1xG138UOtyMZvZV912Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iS7NYSfTrUGdV6Y4H4_6xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Lx0ejc_P3UugFGoOzo8yTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_rdPq5g27WkulCBxvD_VsSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_3rajKwae_EKe8ODvDWkLUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_coCIkVLbc0yMd_x7_r1Vqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Xn__e6iv4EyQ5e8Ot6r2zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_EoEus6OswEKw-orO6RLWAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_f9_vWVmP6Uesxjf7CYuskg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_GWVD8qdfiEOAwRNL_q6Qrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_a5FJxFfufU-ccDeCHsYHxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_PmbSj5TJpkCdGTizANPZTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_VnFwoVlMf0CPp1dAWQpG-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_SK8rdV1-o0O8Bbi3rcgA9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hUhJFAR8MEOU8taO2dyijQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U_81-tAp2EOIU22M1RVQdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_e-pOWszkV06fveC827vkPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_QD17Z9MA50GdRvaliUUgvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember__04d94lhVEOKxcxbPEnr5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-05</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_nKnbms559U-pJettpmyfIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2010-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OdvP_vJCuE2M673Dmicp1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_Ac77P4jY2EuX0C89UXZLUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_Ipx2-GFfUkOTkm9JI0qMYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_Oit_EeO33UeiGoJICdXP6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2022-10-25</endDate>
        </period>
    </context>
    <context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_l98oXr8BxU6s7PYda74TJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2022-10-25</endDate>
        </period>
    </context>
    <context id="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-25</startDate>
            <endDate>2022-10-25</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_v889Mdoye0OivQEkgpMurA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_6_bPNl1Ya0q7-MPU1hC-3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fGBf88cYekml7cQKpx8K7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_DGrio27ms0eRlJrpceiH_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_0Mi09qqkYE2_g51uC4_0Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_nH-JblooIUyb8HKQ5YdPWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_LZqghPqAkk6Bxmy6cwoBWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_FAAp62kiqUu-wCBayzceYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_dJqrak8h9kq22R_hz6eYfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_cF1DrbyhxE6hCqkgFcBtYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_Kfye0lRU106Tx9QBYYAl8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_AllP6KYsLU6KfOuDCPQB7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_qg45PgODJE-ReTONRIKhZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2Z0D4RCkA0-pq2NIam5fkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_APswTh2QfU67Df9ay32KkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_3U4mSeGtfECB7Kx_FmhROQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_O0LHsPjmXEqP55phlirSbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SonoranWestSolarHoldings2LlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_xZkfM4_9xEWPTFx94W3T8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_5ssGvNdPnUKZYZHXTOSfRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_DJTXy6CEG0-AV8ylCKc3vA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasVSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIvSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasISolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasIiiSolarRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_jM4CmQ6MT0Wj0ztUMxMHow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_0dZ5Ua4ALUOBrU-YlwSSxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:FranciscoSaIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_WmVo7rnnuEGrQal9Fflqnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIRenewableEnergyS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_oEjbBL6pUUqYnCNIJL8JRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_AlTpeR0QcEq-rYzxFaeTew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SalgueiroIiiRenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ewW64LBAdEm1FIjILJF9fA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba9RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_d42fvhXtQEGQW3D25Eu7pQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba4RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_I6frUTDhTE2ONJbMuU5_BQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:Jaiba3RenewableEnergyS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_pf1zLMWXRUOwr_1ujpA4hA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ry95CI4_1Ei0Z9P_pcE3Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_KIwO7SgaIkunFcl89FhTGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QZE_vi0ZB0-ck2Youvo5QQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ResidentialBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_N251_Hq4lUmu0B32duJxTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ResidentialBatteryStorageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_f66Pq7LF6UmVtvEgY3mVLA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_OLgyV5DlfkaJp-NPQ7mOqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_oenaeAgKlEKvyFx0xRxqZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_PsEcgcW2Rkuq-evvxlR_MA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_W23UhTS0ZUiOgeIfyD8rlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_lBRVHZX6xE-tkElOQb8twQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_247PiAp0Dk-V1QHhgbkQSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HsIXAo71eUW2rnbR7R0szg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_hREYrrjdkEaw3VKggBBgrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_bIgkJmSo1Uao51TkEEOFjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_x93-RNWz5EmUPSNS_PGPMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_9w6fawEy5Ue_NYDZUMG2qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_VCZpL1X_sUS_2PBNiU-bHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_6zhQhW_b5UK9icYO3dX-Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_iLDo233wD0-7_Sp_iMMnnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_QZ2pWYZ8Yk-7tm3lCJwo2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_KRXNO_6qcUaszIEZNMk-gw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_50nBvVTCtkiHFr_eaKefiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_0YoKjdJRMkG0xeM7ZzhQUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_JBibAc4lsU2Se_q776vgFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_ed9vmIgMBkK3qFWxeEoCoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_pKvio5pFVE6Yzs8fMp0kkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_Lsj682WRw0eQcpKofwz2WA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_B3Fafa8c6kipUlIt64WTPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_l0zpYBzIekOr6l0IH_Bfxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_L4fAeCJtqkuQvcCTPq1QwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_OY4QHgM3PE-rA5CKPqHUJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_m2rc7K-SRkGBVvkQfDB0HA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_Kq6ToZSOsk-5Q_-7pLOaDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_NLsaNUP9lEuqsL0oLAUeIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_cOQe0IfALkKbSu9HdMPfhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_tqs6A-uC0E6MrD6gWlvHzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_LRIkx2mfUkC2eBe0QdlP8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_gNyUW_Qm_kKBJdadTEnirA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_jS8Bl3CN00y0NvR1jp1hig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_DpNzGstCz02ioLF0OW5uwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_jOqyuaLp4U6ckl-5JVLYmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_iTG4xPLWJUePO9Kr_FZxTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HqKaa624N0C15YV-DHVK4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_amO0FJc3P0OejZ8n4ARHlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_GqzRHb8u6UysdqXc0PE17A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__iw_2PmRT0mQSzATw0p2GA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_MkEshTaLokiLLfbIS2gmWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_tTGG8Bmdnk-kOY8Fqr6Ybw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_eG3pwOcaNkeErVJ6wn9CPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yQJQ-aGBok6DrEEpDw8CEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DkB6ZvjNbUqz8uky690BbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ekKZo42d40KoMeg8Zu_e-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_O9FpPygQgkOqvhDzFUWwCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_v2SMmd7W7ES3KbLgkQ_2xA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_vthkpg_pLEmoWc6_MU362g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_PsJpW_rSOEaD6VsVF4h_OA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_URO9Ln1PBUSrZq9TMhWdoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_3PX645pQmUa5-OQVGCE8aw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_mKf-fWeWtkii4mEIlZZ3-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_dexE24Zre0qErONg7uTHkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_6-wwwPseBkqI_2T7fbZdbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_JLPvPxrXckK37QJKfaUFxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_IJceGAEE_Uy9aAuRNXQelA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW_2Xk4AY0giEylkSbgVW1JtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_9EIFyAg57kOovGQgEtuu-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_8-pkRdzeKEGSyeiAAwmMJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_-G9kIIWHjUONAv3b5ZflIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_IJKzx2He4ka0suBRkiMjpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_7Ut8Eh5vDECjp2uj5FQ1uQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_IjHlt35vIUKT01Elm36iIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_NxCqjBo6kEiu0khHiMBhww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_J1fRjML9Wk2xGP2Q4UCuHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_xV1CRkfcH0u8DOOm6VND6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_2YjLdEXrSEWT-nYTQHI1Ow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR__zFxe4G2nEuvQy-YqdaNZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_yoq31yagEkKhVhvoeI6uYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_GSoZ59NOPEuaudJtdm5Afw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_a53Uy44eEU-WLk_J6uHxYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_l0TuTzhXrUa2yKHesP-xyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_0mKsH_LOZUagDHmNeyVz4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_NLjQBc4dxkig1PUwud0irQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_oOZDRt1Jtku3rAukh3Y_1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_e1R1H-As00aXyuV6qpYwUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_TNNtkkW_WkOcZXUy2BDiug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Mlwmq-crTUqie2NXmWYdOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:UtilityScaleBatteryStorageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ikylWJot9UOC2GGn4qzY7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_y65H0AZ-HkeAKib03uGe4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zMFebdGzBUmP0rYjc0j6ZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_c6_HhoaL6UOnc-p3Kk59TA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherGlobalEnergyProductsIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_bcVp_4RmKEiGzl0k8Q_sJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherCsiSolarProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_0mCx68A7LUyzvYxgKtAEsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OmAndAssetManagementServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_NwO579FCR0i4ySGSbHCsLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CHFHqSX10EiWXPGA_LJjAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_jNP07gyCc0SmPzkzgfE-mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_zrxEERNDVU-coyBaKI2Ibg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_yq6vKr7jWkujnu_chTDj-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_yue26IX7ukO1NH17Z72ZSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_mMv397GZJkCYQMv-tU7UfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_wKGhMfX9kESeuELxMr9IXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_sbCgzIlI9kihBk3_rsOVhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_MgpkuuBvzUi9Wekyj-C7Ow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_nE3IOFFBhkOWvJMxSEoKKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_nzO7TpPqYkOJli_M8t7RsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_-616tkepAE6-1qANU05u3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_KxRjgtltXk2_gd3WDnLcKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TW_k9B7jtWdFE25EIceRO4pGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_JhKgKvVihkODrSpIoTIp5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_RO_mPoS58b7ZkeusqjM0wvOlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_wwmyYRAjOUiP-YOnsKSL3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_sdEr-pjAA0-OYtJ3oo6Zxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_aR4f_R9ROEuL2UjYgckIUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_YRerVdgQi0qz_80t8eYPbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_LYCzNbUBXEKt3ciyZfOxEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_HK_H3bOclQ3N0escpaWDcTnow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB_tjPljplDBkSEBGolhBnhEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_ZgbOjf4rRE2p_9BnvIOgCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_wLeo87DIN0eZavL8LIBxDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_gjc00l_weEKsrv15zZvVCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_PG20hHmJp0OVSPobvZivaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN_iNE2b1u0VUGv7u9maoxNfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CL_kE-hxZbv306n_aNZZZzVOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_eAqbt3tN5k2nSN846GkO7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_6pSs9XbvrkKIxDwuUrOKVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_C-JSwIIsqUOcLp2WPYw7wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_0zQNYhPM9kiWxIeotQOqRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_RSsnuES7TEOXEPHB4V590Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_uRpOVxYEe069W2Xrzl3agQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_b7puSkqebk-GBdEfZTOIZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Vc1vJ51sI0-gYz74T1igeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_rfAgVXGMS0KyT-IKRUzoQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lESoxmS9zUiCrukvxTlkrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_ePFm11INK0W8r1eAfnckyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Sj89mQPxAU6ZVsFclKWlzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_USB4L6ldy06cUYWJca0DQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_orL2HGkd90uS6LEedncvaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_zhKs-R2evEahQu9K62SZ-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_8gQ9fsAY-UmW7ELwpxGuzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_wijJkgzxZ027fvPvxS8irw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Bo_sDyB3vECHrFSC4hxypQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_1mIRjU6lP0-DSiicZUGNgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_h3tGW7fuLkuwOWCkQk-Gjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gZ4gWDEii0irn4i7bXD3Bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_gfXGQOyaFEO2_sp_c_F8Zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_8guAGGpigUqCRfsK-cV4xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VRSzOlmLc0ibdUUzS8tjBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_32Rx2EYAL0inqRjsfeREoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_E2qd8LcCZU2ZyD9S9I52KA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_d6lRyXHCw0ml5AeC6iLwGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember__5IlVZK5ukWwgQfjgpaQ0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_UOEfshE51kGG4iNgz--ZGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-05</startDate>
            <endDate>2021-03-05</endDate>
        </period>
    </context>
    <context id="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-27</startDate>
            <endDate>2021-05-27</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_KOmbQW_XX0OcZxtzG-YxuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_XdcFPrOByki24h_aseU1Ow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_Cis9K2_eck6PHNKuis7ifA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_zpSEeGDqzkKtoerMmY7jgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_U293J2ngv0KvbJjbfEuF1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_V2G85_fiPUurY43hSFCXTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis">csiq:SolarProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_5jzmvIvXdUe5Pee6LM4Qng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_yELmHm6jNUSBxBHFh2wI_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_Y9L7bkRs4U6R7NRSQmGZhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_YTBmuvV_nE-SOKQgvjPyaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_rt5Ocd4bskS0Tvsa5_NQYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_wEbx6NemwEKlaSM83wB6tw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_aITOGqjn_Eq2hhOciAQeEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_FQ_BN_RAkk2Gtnh7hS7ooQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_DGctJ8IGBU284L1ygerqDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_Ay-hedU-zkWhgQM4rbR0zg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_fEW6TNqkv02lssDoIVRpSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_xY_O5EdRaki12IEgQJYboQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_hn34zB3MwUe9J4P7vz3Qyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP__4H2Fgj5CkaYh8bC5Vkf1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_FzpoNWAgYUi0wbhybJNthg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_ElpV2mEEzkW1LsI-Y7WTxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_M1SLS66Lo0uu4KfO_AvfYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_o_UeZtFDf0mUAc2-VAa8yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_FdRhjalZHkCkviXRSKPc3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_KoreanInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_lTNxmIcDc0eLo7Io5oetDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:KoreanInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_-t5FdDb6hkufSVqLNzUirg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_OpQOpHK-gUmgpUUXcRGtoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZV78sFpvKUm2pQmA3NhOZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_hASr3WyBxEGIBKoykKZgAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_I0j2SShHx0uoZQu87nlOSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_8nrvuP0G-kuuS6VaNBXowA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_zpGGWPMHY0KZ-zCaTjc9HQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_1alzlsuVgkyAvc5SUAQ4VA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_a0Hr63KJ70yOtkBh9FbWBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_SHRHbmlUVEOFGzs9zxkjGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_TBle2o3tZ02_JiugJpwP0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_pT4bHCJD0UKmDEqvHLrB4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_PJzVbHRZkEGVsOJslPoauw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_V-daamt8Lk2CYrQZreYX4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:WorkingCapitalFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_o0TMokwSpESqxliSNRvibA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_JxqqL43SuUSUZNrbJiKmTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_cJijrFL2A0WHKl0DVqUI9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_pCNR5N4xREOdQxhur6S0PA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_TH_Uk9IByUwCUKceqVw2pIZ4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_liXKEj_ZS0W2B4pJ5zLO7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">us-gaap:FinancialGuaranteeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_3MY9KF1Hw06o9DHDidjStw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Z7crre3kQ0e3s260s4ZKPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_K3dZt0m0aE2fNPxtori6zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JrNosuyERkiGgZi1C6E2Cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_dW2WSCROnUa38uZSnGnSuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_U-VHBkYj4EeFCkEPl8BvzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DViYwNU-I0i0wdkEXTFE-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_xfB3zunXMkaPrFa7Uu1FMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouZhuoshengVentureInvestmentFundLlpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-BF16P4rmkGUDZ6qgb34Sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tZswWPKWUEyFd8jErnRu_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouZhuoshengVentureInvestmentFundLlpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JushengSuzhouSolarTechCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_gUqjWdu6HkepzHHKjhwSRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_ssDObqt7QkeNHeubVYB1ZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_FdZv7LiWSk6IDIajMoUV5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_RFDkYLUKtUyRBdftb9jRpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_FDHuGmVG9k6uU-eOFwdmrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_4wRhCW2DyU26gHOuud0a5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember__yaE8XbB806SGhTx8c2rwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_UtE_-0OBPU6MhGnlQmAGRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_7Ft6D4v5BE64dfirtTaT3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_DNP6vdjwlUm1aWTIcwnbeA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_BfUxPG8mRkeLmU9LGlBRlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_DGhCQz2SmEuNdlUaqp8L3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_1Z3RvnFavESCRo2PHXuZrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_fFHH1k-OYUCrl5dgcFiGlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_0O4dmubGy06x0epzmoD-AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_FrpOwoJeYUy5WNoF4ARAiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Kx6cBoXg4UON4z0sH4As1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_M3Y8LOcSgU6xU3sdENlNxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_KOr5_Jtbv0uirWAmY3Av6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:CommodityContractMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tzisCoXcakiNFwDVP8wwnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_CkXhBctMJE-vHz-9Mb1W0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_wOxwUD6MGka9zgElNdFRQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_M-uNWuNMsk-lb1V79YbMdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_FfyDW-3hBkKI55u6xIkFmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MqGHYPqVzE6VvcN0NIKIUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_eiUkKIjD9UOw8r1WHb6B5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_2WiNquh9okmYRbJvT3zzxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_d-XyZ4FfWEaqOe3j_wop-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_suaZpF3p8Ui21dmFf_HEmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_pS4YOMFg7UGetpJmSLjrVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202004Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_GtVfa52VakiF4ZKM-1DJEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:FinancingFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_FBoGmazZY0OplbK5P1a87Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_FlBVN1R30kmsfxvkYbSF6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEmeaCapitalMarketsS.a.uMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEmeaCapitalMarketsS.a.uMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_xz3M2LaHOUuzGgUychNB4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_SZtzIqPLA06h5DQGnYNPaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_B13mEfbPxUCiuahfDKBHxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchengCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_yCUXmcYT0Uye3sTzz5PKIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPropertyPlantAndEquipmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_8UzjVGkUWUSO1O9zdGKLFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_48r1sN6kBEu1gb-Vrmm8Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche2LoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_UEA8cSRtO0qT-JN5_Tccxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche1LoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_89RAnytBNUmi1ibWJmSYtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche2LoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_D0TCTT-wRkyhOg6tczHT9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:Tranche1LoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_LDRFTpa0GkCYBCKoCmkv9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:LoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SunmexRenovablesS.a.DeC.v.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_BR0kKiksTUmrLZa3XkkzRA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_SaZKbDxhjk2ZrXdWVQKArA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:FinancingFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSpainSociedadLimitadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-30</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_D1U6Pvt0vEiBhcgY-xmcKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_p2pIA34M00ef9xOnmq3h_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:FourJapaneseSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:AzumaKofujiDaiichiHatsudenshoG.k.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-28</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:MezzanineLoanFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-16</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LavrasSolarHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_u7hDkgvTp0qEF_LT6uR4pQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarEmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_EbI2hZLSmk-cLW7eJHIYuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_ZYo8x2HaUEWycOJBxmRXqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_20uKseaLHUOj57uBLPyzOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_EWAhNK7qBEiz1R7gKwOVdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_75L7WSTPP0eB5J1UMjxHvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Tnaw2BfUb0uCh_vlNGe3Sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_yRzeOWSg_U-6iY6zqoCvjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_L8ECMlBnzU6k_pRy7P96xQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_p78HETWA0US7Mi5JE9YJUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_Z-Cb9XKwKk6RhLBMqKfUig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_fUa_3cKm-0apVN2Tp2C0uw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rJWWHxg8vkG2JFRadWYidQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_iiRLL9PbM0ei1plmlXmJQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_nTbR9xLPK0e_7XFspXEclw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_DqCGjBlLcUa1YsQICKplZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_1xyqd3FEgkeYbZq2seVRVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_9W-QDuThU0GfavSDhUpnIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">csiq:SupplierBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_SkyQeAsJiUmOEjZ_HfUV4g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_11_30_2023_1PBXplHmH0SH-E9JNu-yDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_kqafPGA3QUix2yS4Nj5rog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:OtherPayablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_ISmaP2himka-UgYYG4kcyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsByEpcServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Ns5vpw4-v0uzgbOYUuZXfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_XPnQDzHGPkGH-g_0awJQIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_N2Ubp5RqcEiFmKGlN3x7gw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_5iPj7Xch6EiY5_ZYLOJnGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:CertainSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_pX0YoB0fc0ymta8IWAcl2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2009-05-31</startDate>
            <endDate>2009-05-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_RecourseMember_vp0ODBBnSkenOFOmcNGaSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RecourseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_kfz6Uwf0RU--Y70gGEJqjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember__cUDjBAcNUWnhcHqLRrkWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FD4EfpmYRU23EwdiQtQzog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FDU0G0fgQU228VXEYL8RCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:GlobalEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_qU553kM98kqJHM7_K-MI8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_QH--l-EzwkCARXsrvQ1KBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_sTgGX3ZZXEmyBr1fdWAa2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PledgedStatusAxis">us-gaap:AssetPledgedAsCollateralWithoutRightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PledgedStatusAxis">us-gaap:AssetPledgedAsCollateralWithoutRightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0-zRvEqlPEi51TDvpaSyJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-05</instant>
        </period>
    </context>
    <context id="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wsqwrOkOUEm-A83iv3Qo5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-05</instant>
        </period>
    </context>
    <context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_NFSvB2JC5ESFPr5HcOvv0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-10-26</instant>
        </period>
    </context>
    <context id="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_h5tCNREYskGWIErwhkB6nA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-10-26</instant>
        </period>
    </context>
    <context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:NonrecourseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_pSV1ltf1LE-I17K7zWLTkw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_MyP51gxSLkSLAnGZGw7iEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_yVifOhPSeUGoH8yAJUn7eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_UrdBV_iSGUGS6udcxLFFEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-07-01</startDate>
            <endDate>2017-07-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_9-yhXx5qQ0WAp2b9lYYyFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2022-09-01</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-08-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_0TzBSJWyN0-MFnZnFaidmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember__Je0X6S0akqoQ5HPZ9xpmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2022_To_2_28_2022_srt_LitigationCaseAxis_csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_5Aj8uJSgiUOrBpC-DAB9WA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAndTenthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-02-28</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_890JymlmJUS6wYrHa62krg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Rqcu9FCvOkqAnU0VzyFTMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-08-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_SiqScflIfUyL1KjQDOV_yA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-05-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pZV4DSUlZUWgrOzmoTZ5LQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_LcRuFW6Sq0SgDKONuFu4ng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_jihcmo1b-UuffoOTMe-dcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_keV-2fk26UCJ6VR_3Dmjaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-01</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_60KC-5ojnkKzQyWPbZRsMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_krjK0bY540aTwp10PGRdog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_8u0QxEvdkkS6nuWrVqtRIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_euWImZS3qEGim0XnEjJQuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_LFdC_ll5zEOxqY9ArH0jQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-02-01</startDate>
            <endDate>2019-02-28</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qgEPVq_QEUOeLbGg_531aw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-10-01</startDate>
            <endDate>2018-10-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_MWiY_0I5M0ql4dPWVVOzeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_hfMdgokmMU-I20eFBzDcQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_3Dys22en20yVjB0mNzZyYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_GWImWJUhakqyxZRpvSE6bQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_PLHS8u2CxUSiJtetEK43zw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:EighthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_5mRtdHnJQkOhVLVAz7ZxbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_XXAwb-JM00CS3BGxDY5b0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_E5LdvBnHzUOdIt_tZdkmiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_SfNbr7JxGUCMHqmarrYBcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_YqdcRDmIUEa2MakFEJV_Bg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SeventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_6xlSQQe380-EO0_JG56iSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_hKExpsWhNUCYchcBgZC86w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_rsVium9cu0KP6Sw1w5b4fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2020-11-30</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_iLI_N-bjX0W62PuAz3cF8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_K5nWS2UD6kOkm0e6Acj75A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-08-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_dCWeGSoMtEWj5r5dwF7WCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-07-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_U0nZs7bU-kO3N2xuiXwkDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FifthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-01</startDate>
            <endDate>2018-07-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-06-01</startDate>
            <endDate>2018-06-30</endDate>
        </period>
    </context>
    <context id="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-10-01</startDate>
            <endDate>2017-10-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ThirdAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-09-01</startDate>
            <endDate>2017-09-30</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_q9AIoEkoikGwIYlll_ojzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-07-01</startDate>
            <endDate>2017-07-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-07-01</startDate>
            <endDate>2017-07-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-07-01</startDate>
            <endDate>2016-07-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-06-01</startDate>
            <endDate>2016-06-30</endDate>
        </period>
    </context>
    <context id="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_gOswKMT-N06kI6-UNteoBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SecondAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-05-01</startDate>
            <endDate>2016-05-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FirstAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-07-01</startDate>
            <endDate>2015-07-31</endDate>
        </period>
    </context>
    <context id="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-01-21</startDate>
            <endDate>2015-01-21</endDate>
        </period>
    </context>
    <context id="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2012-11-30</startDate>
            <endDate>2012-11-30</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_LLk_r32O5ka0F-Q3TQs8Eg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_XVW-DrJn3kmQJrD5gKP3Ow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_wmfHwEfsuk2ZREWFuxSF2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2011-08-01</startDate>
            <endDate>2011-08-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_gLcKlZl-kk67YMls4IQopQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2009-06-01</startDate>
            <endDate>2009-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V9J128qcMESPVO50J1aTvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ChangeInAccountingEstimateByTypeAxis">us-gaap:ServiceLifeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_cSkrjd0ZoEGRpSqwbb8NqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_9CVSad79-UO-RVFnaq3B9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_rXnJHpPK9kytHGIrJPLwEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesUsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_wkM9lA4CWk6AWGqDxcHv5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IHfLCa6rgkyNcek4wPMrBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_lrmHvBhGn0WXjWKhtT3aFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_Y43hpORsYE-vcUWEpHNXrw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_8s7anVBIZEW2XzLfGFkQjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_guLaUqHpZUWfk5Emh-2uSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_kz6mkTAGJkSTYNFtmDxUSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_PbCYhWm2ck2z_WqfXekGRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_OqP3OGzf_kSs3SJoJZfpTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_6KaE9rl080igR6eWWkZHfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_uIUV0klEAkqLoiD87xa3Fg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_L7WMwTmkLk6WYqx0crNKzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_m7FBD6qubke6WZ6c3qYLBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_s3KBBk6DoUan87IBBNuZNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_jHNiUTiVgUOGEo5IEPWZQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_3hmSNvsvpkqR-t9VpwiFdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_C2si07GDRkiv6GSHtpKpOA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:SG</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yRYqeAs1ZkSEswiYOORBeQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_NwOpM-4iQEqjWzfSlxmjKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:BR</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_yWrkBG_TNkCmPME7-IG4Ng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_50W6dFd9KU2OcetNs7GFbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_ZjLyvbGja0q5ev-WjnyQgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Em5oMtwJg0Ou37DI9QjE9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xgWSR9377kKJj4hfrhszgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_JKafbkw3SkOgE5oDucQjaw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_20VDTG5dLkWDy7XqUU9Y-w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-09-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_ef8_AhvJHEmJNZ2D7q5Fvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:ShortTermDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember__jUXUzlycEWTEzGVgDPIzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:LongTermDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_BrXutxSrWkKrWeg7XraGTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:ShortTermDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_EwcflZ0IGkmsEMXUo4Z1Bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ExtinguishmentOfDebtAxis">us-gaap:LongTermDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-16</startDate>
            <endDate>2020-09-16</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2010-09-01</startDate>
            <endDate>2010-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_oz1Wv7rLIUiwDsVs8pBSuA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:ShortTermNotePayableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg">
        <measure>iso4217:BRL</measure>
    </unit>
    <unit id="Unit_Standard_D_CzOrryFZXUeNpd0I3__dwg">
        <measure>csiq:D</measure>
    </unit>
    <unit id="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="Unit_Standard_THB_joOAZ6jxnkOc2RX95GC2qg">
        <measure>iso4217:THB</measure>
    </unit>
    <unit id="Unit_Standard_AUD_jWFbINBFkE6ICAPYV1Rt5w">
        <measure>iso4217:AUD</measure>
    </unit>
    <unit id="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg">
        <measure>csiq:segment</measure>
    </unit>
    <unit id="Unit_Divide_JPY_shares_ELqJJHbgG0SEDH3ZjRog4g">
        <divide>
            <unitNumerator>
                <measure>iso4217:JPY</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ">
        <measure>csiq:item</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA">
        <measure>csiq:director</measure>
    </unit>
    <unit id="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg">
        <measure>csiq:Institution</measure>
    </unit>
    <unit id="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">
        <measure>iso4217:CNY</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      id="Hidden_TNoXXhjk-U2hI-GVKoTDGg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Hidden_U5EXFWWsZky1nhZNnOCsjg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_dgdgr-dNbkKJhhpIY2F-WQ_2_1">0001375877</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_SAtT5QPrlkyHBrbQH6yz1Q_4_1">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_bwwZZDofCEm2kz28FitiXQ_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_z5ifGKhj9kic4Z2uNFT_9g_6_1">false</dei:AmendmentFlag>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      id="Hidden_93BcSaq2GE2OJzdYDaMVaw">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      id="Hidden_BkNHC87l90eX0U2RnjIsqg">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Hidden_sFLX0X8hVUWD-4ozKcwPEQ">http://fasb.org/us-gaap/2022#OtherOperatingIncomeExpenseNet</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="INF"
      id="Hidden_MjDLUxTZaU65TJmmryl68A"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="INF"
      id="Hidden_PMazvvIONUe4nMyMirKcwg"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64022678</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw"
      decimals="2"
      id="Hidden_MUI0Hs4i-UWlS0wnDlHGrQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ"
      decimals="2"
      id="Hidden_xi-hcSuPskCs8cLuNDV5sQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw"
      decimals="2"
      id="Hidden_X41kEkCh4UmEJSsmku8NvQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Hidden_fABpZzIpOk-x8U7lksz8Cg">http://fasb.org/us-gaap/2022#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Hidden_ZpeYQQuy1023lBvr_RvBDg">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Hidden_Tek3YO5uCkiiEpdXHPnrpg">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg"
      decimals="2"
      id="Hidden_1LvL-xv2mkeNujMCoY0EMg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g"
      decimals="2"
      id="Hidden_pS-Go_5FLU2fFAyjeOmIPg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA"
      decimals="2"
      id="Hidden_rX8mKLfInEixfE-FxeSSeA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw"
      decimals="2"
      id="Hidden_lRXaAHW03E6vCsPZ9oMrLg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA"
      decimals="2"
      id="Hidden_MMEOmfiFiUGvrWM6wp5wpQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA"
      decimals="2"
      id="Hidden_kyTZTIb-nEa-mkyLsy99lQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw"
      decimals="2"
      id="Hidden_5FFKGbxPDkGKxFAQFeG8RQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q"
      decimals="2"
      id="Hidden_ZKUChQhi4EmS0C1BedBjBg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww"
      decimals="2"
      id="Hidden_FaLdBc66G0qw20KSBvX4wA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw"
      decimals="2"
      id="Hidden_PAUKuvclakqwXFFUNtLlUQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_FAAp62kiqUu-wCBayzceYQ"
      decimals="2"
      id="Hidden_M6CBjTP4X0SQ9Wbj1KLxcA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA"
      decimals="2"
      id="Hidden_a2e5dw9jGkaHi-Y-vsnysw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_fGBf88cYekml7cQKpx8K7A"
      id="Hidden_hHHFnlg--0ahbYTGzML0Aw">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_v889Mdoye0OivQEkgpMurA"
      decimals="2"
      id="Hidden_MEszL5kOZEGqXfw7Ya9ExQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_Oit_EeO33UeiGoJICdXP6A"
      decimals="2"
      id="Hidden_2OvoXvOiCkWZP2iuw8kCow"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="INF"
      id="Hidden_lHlIklC8p0StPMDjXSNvdQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">59820384</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="INF"
      id="Hidden_ritm_IutKEWOsQ5pE7DhWQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64022678</us-gaap:CommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_xrF-M_UzokOQ9P7v8sEUmQ">20-F</dei:DocumentType>
    <dei:DocumentRegistrationStatement
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_oKl7WxhgnE2PAA_DPrLg5Q">false</dei:DocumentRegistrationStatement>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_mtoAuP9T106sCpSA9dIVhg">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_2FfD1cPYRkCtdmDYN4Sn7g">2022-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_JaEOaPEksEG80RHYmEpFkw">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_LEZCXk9ZnUqQi4-HPXMJyA">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_pJyBrBdqZ06admxSl-wnkw">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_MnTfUqZnQkySZKb3shEhWQ">001-33107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_zVMrDjEKlUKeyKlCHHA5vw">CANADIAN SOLAR&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_ev6zlx-nwUqomHqI2aAz3g">A6</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_xRO162T09EGsTd3EA-vVKg">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_bTaQLK8KZEGby6lxvdiWTg">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_Ru6vUKGx6kKpAkpkkTgdKA">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_96DK0FCdP0qh4g5dblj0mg">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:ContactPersonnelName
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_-WeWEal6skCzIcmuRoKIzg">Huifeng Chang</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_BeRUMfYY-kSF2qLAyV3ifg">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_XP2mV_QmQ0y-7eSaaXlEAQ">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_ukwdF6zbaEyYKFTqZCF-Fg">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_L7SRYmkkFku6hX9n40Tj9w">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_3VYX0RVZDEaTXf8wPlQsVg">1-519</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_IPx7IUKmLkOarKp6GGJlYQ"
      id="Narr_eOPvvKfOH0qKgmX2JMMH0Q">837-1881</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_Vtb76dgyVE-rE4aj2jmlSg_2_0">Common shares with no par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_hZ3dgE1PCkyhC9Ff2QBR9g_2_2">CSIQ</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_x6BGJGj-rUeqK-kh-hPl-w">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="INF"
      id="Narr_36Urve7wMUu6SHD_m16vIA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64506055</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_XZP1r6QsT06WeWVB8kMNnw">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_dydGgWvIW02KP42ylPUu5w">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr__mNkl26sFUO188GC3ly3Mg">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_cTQiACM2lUCkwf7-QybjuQ">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_VpleACCvUES4L0YOI98Gqg">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tc_AmkDg7jxr0ejU0k6jj_kNQ_2_5">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_-AG2zoYJTE-qTMsOs-w0Gg">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentAccountingStandard
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_BtCV4rXMnU6uC73iqa7OLQ">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_RaPIh5Sb9kK6LrMRjpE47Q">false</dei:EntityShellCompany>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_nt2IJUHEJEqMARTXoRK-eQ">1113</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_9g0lrekfTUe5JrhYBmVffA">Deloitte Touche Tohmatsu Certified Public Accountants LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_bZBPrjCG8kGS8zH05An4BA">Shanghai, China</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_ZQUqpwbg7E-CIFA4zxTbZg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">869831000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_z79jn596MkuQT1LoZEhF4Q_7_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">981434000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_n-rJycbxUEKLZSRrg7bCPw_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">560633000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_GKmWnk5AEUmPY61B_Bgm2w_8_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">978116000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc__2boSg2gIUWqXIQfYRMZ6g_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">651372000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_yGtzqry3wE66NPDuD7s1QQ_9_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">970950000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_kJNcPKELoEaZGp8L28b6rw_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37244000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ImNLHkJ3XEei7zd_XkJ-Jw_10_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57770000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_MkX8wuvuuEeGV2zzHHLEZg_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73042000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_tSY3sznkq0u9LrfAfP3p6g_11_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48614000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_0knjf9eJ6EizIh2ziUlNdg_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1192374000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_hLYMKoOBZUu1rkcNfEQK7g_12_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1524095000</us-gaap:InventoryNet>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_cLKZUscKBEGPq8skPYsqlg_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">125882000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_0hjQ3bRfCES-J59NQi3aOA_13_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">158773000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_FVECozQVmUKUk7lN2TxBow_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225879000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_qfyxWaM0C0W6As4VmNqvNg_14_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">253484000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_g21NK-72CkyD8_nViINH4w_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7286000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_KLi8t0dhvEi79ggk01a4_A_15_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17516000</us-gaap:DerivativeAssetsCurrent>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_ooIRX3EtU069fqg2MKsVsQ_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">594107000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_-k4E3amOME67BjvZ2xzSvg_16_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">385964000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_8Alq1MBNCEywDDiwMvX-tQ_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">434177000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_tVj98gHaJkefitJse3IqWQ_17_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">267941000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_HppdqdfUBE6M41vJGtqniw_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4771827000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_5vCzPZdvyES3ZONxXF283g_18_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5644657000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_BirXOpvfTkO_GRFkLpa7-w_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3818000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_fFgwsbDcNkalYeeyDCLKXw_19_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9953000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_nBXAEbyrq0qwWRxkGxWwSg_20_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1401877000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_UbM1K3uZpUSDfdOfB4H_Sw_20_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1826643000</us-gaap:PropertyPlantAndEquipmentNet>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_NtCtmohRtU2j_MAjljTgnQ_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">108263000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_q5wInEUVFEuD6T5g05oqow_21_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">364816000</csiq:SolarPowerSystems>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_iSJCIayK6ECvkCt8o2TtDw_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">236503000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_k_3BNzshcUWDTN-vdqS7Pw_22_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">229226000</us-gaap:DeferredIncomeTaxAssetsNet>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Vie_6IjtJ0utvQBVx7gnLA_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34239000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_UiSOq6L0UEWwhZYzDe9bIw_23_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">65352000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_-0_C_rDKmEOIkKoG9FD9QA_24_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">98819000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_RGAbzZEZsEaS5lNPiU3kVw_24_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">115784000</us-gaap:EquityMethodInvestments>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_YoQSJifXs06Kmne7n9EWWw_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_S1g0suw-FkCccVXSjbKHng_25_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17530000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_8FiziFNkC02n7txxXjC62Q_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">433254000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_kfD-Slen6ES_YT-HKu7gxA_26_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">438529000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_dZD1jds1FU20uVBLOh7lWw_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">106297000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc__3lAzNl37kOz7rzxKsNWqw_27_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">103600000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DueFromRelatedPartiesNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_hVLv838eN0CpA_knqg-_6A_28_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33489000</us-gaap:DueFromRelatedPartiesNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pM8pI0Tb-EyULq99aZ_q8Q_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">174453000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_6eE4NK1VKkGS95-7ZaL5ig_29_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">187549000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_oG8gzNndaky93D2Ah9FO7g_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7388342000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_jjj_QfDx_069y07Jr7ZzKw_30_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9037128000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Y9wETqBy1kC6bx_dcQ-C2Q_34_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1592870000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_6BiW0rAtyUOMY9Yo_Q2HcA_34_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1443816000</us-gaap:ShortTermBorrowings>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_6QCHD1k4mE6lPqXCJhecLA_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">502995000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_cwotxfs7jUS43c-HALra9A_35_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">805300000</us-gaap:AccountsPayableTradeCurrent>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_fPu_m_zd80uQ1H-hIUeRgQ_36_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">881184000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_WgjmB7pnIk6_tMJJ2gNkQA_36_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1493399000</csiq:ShortTermNotesPayable>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_hobFB9mdwkCiA7yycuopAA_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">143000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_CwrBMIr_qEqTezph0fMw5g_37_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">89000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_81VORUiZlUiRdg7p4Ujd_A_38_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">667854000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_rfNa0DrR0U6vLAyEgiRXTQ_38_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">853040000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_W4wVuY-6OEONxMEhEiPosg_39_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">135512000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_kyCdUfjuT0OINuDF7tg_hw_39_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">334943000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_D4AxkOgQg0-EclqdaJ60hQ_40_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2622000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_TWX4cRk4vEuUaEdS-VXfbw_40_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25359000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_s6HuOgCx5EKRRNqxPZkEVQ_41_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12185000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_IfV1LxeSS0mgtayKemNU3A_41_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9810000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_8k_lTXGtA0KePW0QRx27Ng_42_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">242783000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_6TW1r1bgs0aYrKp3tWnFVw_42_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">293012000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_oIyTR8GeT0-m2oGFXlGUCA_43_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4038148000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_pLdOx5A2DEKbD98Ym2rdhg_43_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5258768000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_3ag1XWjwnE2c6HFHLbiSdw_44_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_azHtgs0IK0uo5S0ZZzVe0g_44_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc__zm4gTYvqEek925oe8Xlsw_45_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224675000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_yFuTv2KvgUCyrHPRzkfbyg_45_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225977000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Gk6w0x__d0y5ECmjwQ1xjg_46_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7448000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_4i3TTvORIkOiGYvByuyEdA_46_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5730000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_UG_0ifsf50mANhvMiKPVqA_47_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48150000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_3pLvbRwSQ0iUjUyt_fOxBA_47_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66630000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_UlZtCahqukSfcsOWC06JOA_48_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15148000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_TUOydN9zaU2EBaG5rrrmKw_48_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5000000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_yq3d3tpAzEmTX4H1dlKttA_49_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_y6CO2TznWECs37_4stPd4A_49_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25714000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_2Q6CmZQjjUyOahvjBaCIdQ_50_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53641000</csiq:FinancingLiabilitiesNonCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_isHR_F4GmUCrBs3TLlEKDQ_51_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">327845000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_g5YsemN24EKPSZtI_VLZqQ_51_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">329209000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_V7GL4CFjYE68JTOysxO-_w_52_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5261904000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_l2zfVV_JTEWG0bh4idAtmA_52_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6730434000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="INF"
      id="Narr_jW1ZVUgE3UCfZOiIdPqpBQ"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="INF"
      id="Narr_HTBcldop6Um5wgoGGHTQ-g"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="INF"
      id="Narr_YNCDgN79K0KMh4YZj-MjMA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="INF"
      id="Narr_a8dwOHslu0GWF-8loNsu0Q"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64506055</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Jeb1Qeg-7kKH8h0yScWSng_55_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_791aE4YOSk-52fB2ix1lhw_55_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_SCFbc932VEmbZPmXmS9VQw_56_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-19428000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_zwpRJBptl0u38siGxjI28g_56_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1127000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_cIdWkLY3Y0GHQHRBscOSPA_57_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035552000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_-wX6yhZ5yEyLumx7E9vpxw_57_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1275520000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_SZqw4kjdwU6wPpVdLA_iIg_58_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-50584000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_sgLJZliqa0qoaByWolB2vQ_58_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-170551000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_qc3ZEgOJGUqFd6RpYVRz1Q_59_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1801083000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ohRoajKeWkeBBPohGChcXg_59_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1941639000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_W42vxlq7w0iPiZQiVAzMtQ_60_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">325355000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_csoupsj6l0i9usP-h3ZKZg_60_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">365055000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Xj-z2ur9Rk6sdH-AG1-KpA_61_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2126438000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_33qwe-A8YUmNj_P28uBZRw_61_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2306694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_1mdVs5gLyk2faCUZZS6Dcg_62_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7388342000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_E0gHTz1SQU6BgaWeTJ5HiQ_62_5"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9037128000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_AwlH-xZn60e7NNB1U5-3_g_4_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_QLlaK44as0yUBpJabHQffQ_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_oAIkGHHUnECmBLsqbjrQNA_4_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_DCXgxc16PkKJsAQyL8OHfw_5_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2786581000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ngzrg4nCaEiWFXdVQ7SglQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4367857000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_VNHoc79p70C91jkRpfu3Ig_5_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6205474000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_ZhqJHnqfa0CMC6xoFXRF4w_6_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">689914000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_AcAFeh5SYEC_4e92GZ4iaw_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">909312000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_FzgkSIp6SUWdLbtfVI7OLQ_6_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1263136000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_YNWt5K3VEkCXejl_tW9hjA_8_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224243000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_5xBV-nRxMUyUecIs4u1ITw_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">398650000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_q8KuLAJ6jUyqiYacWspg3w_8_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">558926000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_vce_wVMsl0C9032DMiKdyw_9_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225597000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_w8T9U9PbaEGP9Q9NIzIpYA_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">308942000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_G8bnjPSalESzDiOzUGFRvg_9_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">342129000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_SyXr0EZb2EWuZo3h6Ez4wQ_10_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45167000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_9pokI0DNiEqMYKJuRismcQ_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc__-mwqWXug0CAEY1nB9nMJg_10_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">69822000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_S-Ta_S3xB0mjs1KqIKw18A_11_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25523000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_nTILpQE1c0u5bweUThdFmg_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_mqv2tz_QIkulQ-ih4cEnCg_11_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">63802000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_LKMHczbXeEmweJJUGxLq1g_12_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">469484000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ZzhYOAV-1USrJD-iNtGuPg_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">718931000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_x0s-KApo70mvfWJ6K2RvcQ_12_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">907075000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_GpY-mpjWS0C5WQYg7b2pkw_13_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">220430000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_OMjnFy-qsUmhkSWx-9U7Xw_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_aVLbhqOt_kirAGdVuvwR0A_13_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">356061000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_KoVuv6_mgEGslHVHuIiAGw_15_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">71874000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Sh0RFEOkxUy0DILLLzNxyg_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58153000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_dr6xVsjks02qgumuqeT3OA_15_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74266000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_A00yr8rbokWWrQJbjBvJGw_16_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9306000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_CTSGXfRKWk2bJDECgoIgaw_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11051000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_l2dyINW0YUyb7Ydj4vxpqQ_16_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40615000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_49EKdLPIp0OeAw9ZjHokgA_17_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50001000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_P-zX5TUzyEWYTuhMQS6FkA_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_H-sOGHgZKEukenoB-Iv56w_17_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-44489000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_9227iXVoQkKINW1BGQ6Ydg_18_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-64820000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_6D_naYD_A0-FsbK-VMjkwA_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-47234000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_15hPRrrLgUyU6P9Rg1wZuA_18_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">77689000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Kq2FKzCG6UCHntr2mEzbEQ_19_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-8559000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_YGbp0JoDgEGXMVxMPdrtBg_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18634000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_pinZf--QrkGgHbdkQ8ESjg_19_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">858000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_xXw6mztS90ePgUsB66fh1Q_20_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-85946000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_XJrOhoGxl0at7O3dBQ3EUw_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-51917000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_mmqKOicDO0mBOgeGZckGnQ_20_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">407000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_BEZYs_f_kUGBrM2bRT7I1Q_21_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">134484000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_lTltoJeq4UOHAv-GWCMMqQ_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">138464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_ryf_9hppeEGscNB6xWUMGw_21_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">356468000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_n_7eWITGcEmgHqNlyaXjhA_22_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1983000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_rcZoaqPi_0GWTzUFIBdNdQ_22_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_z_psKvjNEUGULpOSisQbFw_22_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73353000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_3598YuzVGkaQH7hwKuWLXQ_23_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_QZ8UWi5QsEeGrKsqY3Dauw_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_CoYvIzpL6kqzr0fGa4bHmQ_23_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_SpDDaU2btUmefsMQ6okPfg_24_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Lf7pBOtGV0ir8ZV8_LGtUQ_24_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_ZrZ841PWuEKl7d-AThmUFg_24_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">298555000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_AI-Oy_5f-0Ock9PK-fLh5Q_25_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">543000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Er7XMLrqaES37A50isNqdA_25_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14628000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_uAw2zGHeEUa72n203cr_Yw_25_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58587000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_a3y08rDtDkKEghx7rzLEWg_26_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_vs9WDiu8l0qrs8qn2NJkLg_26_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_upOh93mpik61Mqo2AKNJYg_26_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_3NFzmRdM_k6_9Zaq6a85CA_27_3"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">2.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_qoqWwYWSgECUzMf6NxxqgA_27_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_OaIYfUM6OUyK4xwpi_BDfg_27_9"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">3.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_edU-S_-nKUS9Pc-QtDfRXg_28_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">59575898</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc_PN8vm0tOiECzhFFY4lG2Rg_28_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_s0x_zxH1xE--6gI7FVDUxQ_28_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64324558</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_VUJjP6XcREWBvIHM6fkV7A_29_3"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">2.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_PvrknQ5WskW2xd54kZKNZg_29_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_n5_WnSgE1E-6d67sJIujTw_29_9"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">3.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_xL3LQIN6AkyDPSsxU0wZNQ_30_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">62306819</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc_VkM3NnvKmEWcHtMHZ0ZnNQ_30_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_dvae4SwmkkCpNxFDXZipwQ_30_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">71183135</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_-aEWaGk0NU-fsc4nl2aC5g_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_FjLk1uRpPEqkYqb2AhXFeQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_bwWdkLrfZky9g8P1IuSyUg_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">298555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_mA2DnQm5v0ejk8VesQGIkg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">76188000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Yyy3V9A6ZkSqbSE3A4pRkQ_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_FYXu4_EqGE6xuH3z17VJ8A_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-150127000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_T4ZkJmTaK02doFEOIim97A_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_-5gyRT22VkuQlQzZoGYSoQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4115000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_MmVHVozVo0CxIVtbcboL9g_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_9zL2vlxCmUmnaavLDbDQkA_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">716000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_NtJLLTR0oE2etuiluNmAGw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_LQw0xsSgqkOhjWT8moA67w_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_4aTQNvwWAk25Xs-9SxfeDw_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">230043000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_9pcHKnjySEC-KpY6cBxtWw_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">83639000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_6816zJF5xEWi8uuKhvT5pw_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">153802000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_ZJrf5aNoWEq4p2Yn7MkpYw_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2412000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_cPRAzq2H60m0u0LaSGD5Cg_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10296000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_fK3yGEWt10yGDd5Gsf05sQ_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34345000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_citUKjpV0EGGD09XXQpBsg_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">227631000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_spEgZvjc7keWLp_QtBLh7Q_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_GqvPqIjU80qfcUJWoqXCww_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119457000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA"
      decimals="INF"
      id="Tc_wNOVrdlqvkK7HRMWUx6OfA_7_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA"
      decimals="-3"
      id="Tc_OWAVj305wUao17b83QekHg_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">703806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg"
      decimals="INF"
      id="Tc_9Lj6tNe3S0S1x_kH6aaVMQ_7_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">609516</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_lArGSLmcpkOxxb48sOjkBg"
      decimals="-3"
      id="Tc_t0sMTyNY1kGoHcn32Lcn-g_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11845000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_e-pOWszkV06fveC827vkPw"
      decimals="-3"
      id="Tc_f8CxvilFkU2WjkGQn5t1Hw_7_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_SK8rdV1-o0O8Bbi3rcgA9Q"
      decimals="-3"
      id="Tc_G9KuG08is0WpXgJbN81mQg_7_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">793601000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_QD17Z9MA50GdRvaliUUgvQ"
      decimals="-3"
      id="Tc_VbSByFtaL0muPhyuINwDjw_7_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-109607000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_hUhJFAR8MEOU8taO2dyijQ"
      decimals="-3"
      id="Tc_vmYsHnG4b0SGYTlEpMjBPA_7_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1393134000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U_81-tAp2EOIU22M1RVQdA"
      decimals="-3"
      id="Tc_dJ4RzcKYxUqRispjFvHmWw_7_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31924000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A"
      decimals="-3"
      id="Tc_72ZpzeDOEUyr5TYLFXpDNA_7_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_32Rx2EYAL0inqRjsfeREoQ"
      decimals="-3"
      id="Tc_zyC7wR8IzUqi_o2pr87kDw_8_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_punstFZHE0WDCgkqs8dkCw_8_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w"
      decimals="-3"
      id="Tc_7iCLUy8rGkeqyUIg0svXmQ_8_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">543000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_J0RSKvjFSUC5jxXm2K6thw_8_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">147246000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA"
      decimals="-3"
      id="Tc_9fbidC9K6EKVuRvkUH3Sgg_9_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_HUpWLWmWRUmtpzChFuR6Fg_9_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w"
      decimals="-3"
      id="Tc_7b2paSwGT0SMaSJD5nVNKQ_9_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1869000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_S0mO3BUADE-84Bn81LqzLg_9_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">76188000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw"
      decimals="-3"
      id="Tc_qGV9vjlbL06JY4vfBUp08Q_10_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_pUwQXig_nkis7HVBtrNfyg_10_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_OGiA371ghkqKgJUeCjKr5w_10_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8414000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg"
      decimals="INF"
      id="Tc_rz95RrBOqEavRzODkYaaIA_11_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">-381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw"
      decimals="INF"
      id="Tc_IHtnZB0S2ECfi40BDAt98g_11_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw"
      decimals="-3"
      id="Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_EWjz3EihOU6sg0l5MnZFYg_11_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:TreasuryStockRetiredCostMethodAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg"
      decimals="-3"
      id="Tc_U510j7-LQkODQgcwdInBIQ_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17808000</us-gaap:TreasuryStockRetiredCostMethodAmount>
    <us-gaap:TreasuryStockSharesRetired
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw"
      decimals="INF"
      id="Tc_GlUtfw-M0E-qbh88HyEjGA_12_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">-990846</us-gaap:TreasuryStockSharesRetired>
    <us-gaap:TreasuryStockRetiredCostMethodAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_jdhFcrAvtk2kGTNh6JpjEw"
      decimals="-3"
      id="Tc__YoOLdwui0K_BVsykd0E2w_12_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-17808000</us-gaap:TreasuryStockRetiredCostMethodAmount>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw"
      decimals="-3"
      id="Tc_-WhHHEkRJUeLQ-4M8x8iDg_13_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_iKzvGvJa102RCn-s2DAxnQ_13_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_T5rSq9GT_EuOgZDRPCKpeQ_13_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg"
      decimals="INF"
      id="Tc_X13U-VEUREKoWNIi0IRfHg_14_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">830030</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Z_q8FVYFAket8KWCEtVIsg"
      decimals="-3"
      id="Tc_-9tA2LFMr0GDG6H8Mczc5g_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_fb9G7zJCVkCiTJl6a3wSQw_14_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_SKcbzcy6jUCmDpFNEskmgw_14_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0n8yWMlDU-tvmP9G3Fuyw"
      decimals="-3"
      id="Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-49351000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-49351000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w"
      decimals="-3"
      id="Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">273904000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224553000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_7b1OZE1a6kmEQdT5rixw0w"
      decimals="-3"
      id="Tc_AiQ1Nkj2-0OvWpk0TLBsTg_16_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14123000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_yIUBDgIu_keYkxzSE7QnAw_16_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14123000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA"
      decimals="-3"
      id="Tc_Q-CcYjSPE0OOw0A_-J9z0w_17_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_UPRKv0UK002LeP2uT7_oCg_17_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Vi3Tl0kh7UK54WfOmuxiaA_17_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10724000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pqht91YZiUS20G5nCwDsyA"
      decimals="-3"
      id="Tc_BoATQrTB40y1cS2EwJyReg_18_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_nqsrrjNNIkiB03vOEyjlLg"
      decimals="-3"
      id="Tc_pkqVBtjtyk6pOAV4zZhGNA_18_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_T5Mc9gBIp0SHCXGxjA2pJw_18_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4115000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw"
      decimals="INF"
      id="Tc_9eC9o-5i20SLOdbzkwdHOQ_19_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">59820384</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_lqGOAFc-GkSZCgGg-ZaMuw"
      decimals="-3"
      id="Tc_KdE_AcH9GUCPhGvjHRaHTA_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">687033000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_PmbSj5TJpkCdGTizANPZTg"
      decimals="-3"
      id="Tc_O3bufZTqgU6JU99Gjnmr8w_19_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-28236000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_f9_vWVmP6Uesxjf7CYuskg"
      decimals="-3"
      id="Tc_H0VY6TnL1UO6W-y_9c5Pxw_19_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">940304000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_VnFwoVlMf0CPp1dAWQpG-w"
      decimals="-3"
      id="Tc_Nfj6VptP-k6DJZceVP0aGw_19_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-28679000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_GWVD8qdfiEOAwRNL_q6Qrg"
      decimals="-3"
      id="Tc_ORe_Dm4nokuKo3oWMMqfuw_19_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1570422000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_a5FJxFfufU-ccDeCHsYHxQ"
      decimals="-3"
      id="Tc_O7-sgLXTikOyk8ePJ4w8Jg_19_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">322363000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_wQ4xd3UUNkuPTQBPHpMYFQ_19_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1892785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_VRSzOlmLc0ibdUUzS8tjBQ"
      decimals="-3"
      id="Tc_PDsq4ejpeEuUAiUp-aUpKQ_20_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"
      decimals="-3"
      id="Tc_9qqX5WbQgU-Ws5OIZo06ZA_20_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"
      decimals="-3"
      id="Tc_05xsRl8Z0UKcxL8ldGAQcA_20_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14628000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_h2r_ZXM0gEakMHJ6Pox4Yw_20_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">109876000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ"
      decimals="-3"
      id="Tc_zU6Ribg1MEOanPmHLXhz5Q_21_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"
      decimals="-3"
      id="Tc_MJ_v-XxHqEW2aAJe72nK1A_21_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"
      decimals="-3"
      id="Tc_CFPX6QbtPEGX-mmFj9ONrQ_21_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4332000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_2ccmxeyns0e1PrxoRst6Ug_21_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"
      decimals="-3"
      id="Tc_7RwDZon3vkKZ0hL9odLpuw_22_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_q9obyk9110WnvuL1bWjvTw_22_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_SkyQeAsJiUmOEjZ_HfUV4g"
      decimals="-3"
      id="Tc__j_VzH0aVUeu8IDsqkcNmg_23_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"
      decimals="-3"
      id="Tc_xoNRBjw07EyaBg47H2VC6A_23_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_bvuirttM9kq9RGCh6abTGA_23_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g"
      decimals="INF"
      id="Tc_sVwB_Qys8kqOgVA4LzB3XA_24_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">562376</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g"
      decimals="INF"
      id="Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">3639918</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_V_UHHVpiVkijtYafZRUZ_g"
      decimals="-3"
      id="Tc_PXejyzJSW06vqiKtQniCGw_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"
      decimals="-3"
      id="Tc_lv4sMg9zV0GujS94hK2OpA_25_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"
      decimals="-3"
      id="Tc_zh8UuUF2PU2aVvtuJ4Y9Uw_26_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Rtvkmwphi0iQwuh689u1WQ_26_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_zFX77ekdTUyl1sf71IlwoA"
      decimals="-3"
      id="Tc_Z_DVUPmAzECYe2_OmUCs3Q_27_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_l1Ki1xlEg0mJ1SGtWW9ZXw_27_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_G2Qp-gZ7zU2h0raXXwhtDQ"
      decimals="-3"
      id="Tc_a3UwV_mjykeDZbb2d5g5zQ_28_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_bCwnx9gb6U-XAMhHSVoMyw"
      decimals="-3"
      id="Tc_KifywalWekOx0rMfJB21HQ_28_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Yk2uviEjnUGyWso0DWNSqA_28_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ"
      decimals="INF"
      id="Tc_dxC7icRl9kqWX7uP3ZF6xQ_29_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Y1rq7y82dUyfoRs5DuIiyQ"
      decimals="-3"
      id="Tc_rKksFMKdKkqqImdPINb6Ow_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Xn__e6iv4EyQ5e8Ot6r2zg"
      decimals="-3"
      id="Tc_8qPcwKL4BkCQ_ePm9Lix0w_29_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-19428000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_rdPq5g27WkulCBxvD_VsSQ"
      decimals="-3"
      id="Tc_ZHNKFnpLWk6oqOFcp5lZKQ_29_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035552000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_EoEus6OswEKw-orO6RLWAA"
      decimals="-3"
      id="Tc_6917YJ1DjEahByDAJlwFVA_29_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-50584000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_3rajKwae_EKe8ODvDWkLUA"
      decimals="-3"
      id="Tc_29-k48vk3EeIbLBa0pI4Dw_29_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1801083000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_coCIkVLbc0yMd_x7_r1Vqw"
      decimals="-3"
      id="Tc_p_W8vDlmvUShT_57NJeWrg_29_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">325355000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_2EAqMFi_HkWHjqSGnXj5fw_29_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2126438000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_8guAGGpigUqCRfsK-cV4xg"
      decimals="-3"
      id="Tc_PceYsUhqOUelG9pYydTNpw_30_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc__VEf3FFSg06lFPRMjdjE3A_30_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"
      decimals="-3"
      id="Tc_jx55bfSuWkqUrwRxn8Hp-g_30_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58587000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_IEshUyXGs0u4XRrj_DYTcQ_30_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">298555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"
      decimals="-3"
      id="Tc_pVGGMG7xRUeqfLmuDy1a1Q_31_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-125885000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_3FBAyngp9kC4G4Fd5UySPg_31_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-125885000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"
      decimals="-3"
      id="Tc_gjsg1OFUukOXbPlmo71WOw_31_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-24242000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_v9EEITQUl0Ot-VdlqPYowQ_31_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-150127000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw"
      decimals="-3"
      id="Tc_WxwxbndfDEKdETqCVT9b7g_32_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_dtCp3Qk2M0yUoxNSqGXNPQ_32_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_vPkqtGT0kEmI6eHLG7O8pA_32_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_TdspSFJ4JEWSykRh4mBg7Q"
      decimals="INF"
      id="Tc_eB46RWlvlEGxd0sjfx-Xnw_33_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">483377</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"
      decimals="-3"
      id="Tc_F0CBjIzOqUqTpEbqTqvLpQ_34_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2529000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_s1vZWDYHX0WTUaRFaX5U3A_34_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2529000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_eXXvHws2RkCdlhEK8sjbXw"
      decimals="-3"
      id="Tc_-rrPvr_FlEqlubEg58kqCg_35_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11185000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"
      decimals="-3"
      id="Tc_G1AX5XwYikOQdQhXFDHRXw_35_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">544000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_M3lw5xXeIUO_uc187TzBeg_35_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11729000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"
      decimals="-3"
      id="Tc_y8lOBmoMs0Chyhc2DoNCNg_35_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4094000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_il-82jdpREOIH_WMcxWoRA_35_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15823000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_PN_64lXfZ0mGk4_w-mmaoQ"
      decimals="-3"
      id="Tc_1Fy0M795okaTmoYXpnc5vA_36_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1268000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_IcmDtcFImUiZalN_enXXNg_36_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1268000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"
      decimals="-3"
      id="Tc_MOS_0P22lE2b4er5UpFBOQ_37_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_1KB-Re9sq0OZBgSMAxBXBw_37_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_7D-EwlF75E-ZCdgHzuA2MQ_37_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"
      decimals="-3"
      id="Tc_f3rW8jDtsEardv6qc4GUHQ_38_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_RpAS0dLAs0-N6MOf0eSlew_38_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_2rB4zkBR_0aol6kMQAEi1w_38_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_sWllT76D80CRZeoJkywDQg"
      decimals="-3"
      id="Tc_y2G2EpqIQUeIbMMhzBghbg_39_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_wL0xLbsDYkSiDg-ZSUFWkg"
      decimals="-3"
      id="Tc_GcKsRxtZJEWdJcpkMAyAZQ_39_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_8ItfuqCHZE2HnJzXXfbKVw_39_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ"
      decimals="INF"
      id="Tc_TqsNJ_y6FEe37tstT52PSg_40_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_NykQ8hz5qkmZW-W7UwtejQ"
      decimals="-3"
      id="Tc_mKbH7pBpZ0W4lSRElpnmIA_40_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_iS7NYSfTrUGdV6Y4H4_6xg"
      decimals="-3"
      id="Tc_Ts9j0bE_6EqUThgnOObr9A_40_10"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1127000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_I7iNmz4-zEa7gkJ7gO6qhw"
      decimals="-3"
      id="Tc_DacpyixHkUOZVUy9-iP_-A_40_12"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1275520000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Lx0ejc_P3UugFGoOzo8yTA"
      decimals="-3"
      id="Tc__7RSz3GqmUWugLoTBg2x2Q_40_14"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-170551000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_q3KVlYHWmUi0Zi9xWywk1g"
      decimals="-3"
      id="Tc_hgJzQOk9y0usHvNL8VcQFQ_40_16"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1941639000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_o8L1xG138UOtyMZvZV912Q"
      decimals="-3"
      id="Tc_j-lbq1tC60CFg0Ec5zS_zA_40_18"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">365055000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_rE_bGoXrBk-qXa9MlLLEoA_40_20"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2306694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ"
      decimals="INF"
      id="Narr_udv62jOXvEysQEMXPtj5SA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">91424</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ"
      decimals="INF"
      id="Narr_XpcLTMfDHk6SpvgvNKTn7w"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">91424</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A"
      decimals="INF"
      id="Narr_b0Z-t-poiE2-bNFTQF9s4g"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">289906</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_1_31_2020_cVR3FjnSTUedsmwvKdcEzQ"
      decimals="-3"
      id="Narr_ojdssC3EBE2X9D3otcbcSA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2000000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_3_1_2020_To_3_31_2020_Ji_q-wNvFEmlJtiItwpt1A"
      decimals="-3"
      id="Narr_nMTH6Z-U7UmWXqsIYltnOQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg"
      decimals="-7"
      id="Narr_ooF31tNaaEuQpcD0IRBdfg"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">1780000000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_9_1_2020_To_9_30_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember__FLXgixBdEuEYz6q3IlzBg"
      decimals="-3"
      id="Narr__sy3DnskjUCB0r1LRvN_TQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">261332000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg"
      decimals="INF"
      id="Narr_SkgpcofHz0Cy5g9tBaNqvA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">3639918</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg"
      decimals="-3"
      id="Narr_AIXL9Snt-0i8dEyiHaRP_Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1490000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_y73kmGUOp0iqDkuor1E31w_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">147246000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc__TmVmu7GyESQMNOFCYNgOg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_EbsXYkoDnkGtE19e3L88zw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">298555000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc___EDYzZWOU605-I0zM77dA_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">209118000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_hvInYFDAW0-rcFG0T-46wg_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">282769000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_w4UYSGHHFkyujBvZqarkjQ_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">234559000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_t_0QtB3ywEe2NXSvu4CPzA_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">388000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_TmUYgQB_PEGHFsIUlFRH2g_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1461000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_F6uNK60K7E6_nUvvZ7TM2w_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1302000</us-gaap:AccretionExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_FGzGgYNTS0KPsyfiOElfjQ_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">253000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_p9-e8a0piUOVGMm1LuelRg_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-83000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_VjovAF335kuWVrm_QSOQLQ_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4259000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_wWF43V_hcE2ZN9-MFH2jmg_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10091000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_SBA6debBzE-hXVC4ubWy4w_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13936000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_82EZpcbqt0CRARaxxPfmjw_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10392000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_PfbvYwlIB0KoSZPHNA970w_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_O0gBjmrS20WUokjMjxpXRw_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_v763xccBF0qo0JEEFx7Dgw_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60330000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_5iAFGcm_tEOwPu-NiYRACw_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Nztcjev9XEqOoxwIJL6LIw_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_hSJeX_bPM0mceJVPznJ2mA_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1674000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_c6l_8CWwd0iY0onfMQS9IA_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24060000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_YhtmYE8LFUS7fFcBsGbSIw_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_n1Fgss0Y_EyOqeP7Ol6d3g_14_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">357000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_vKKXuofiPUOdzf--hgscQg_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50001000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_JctfcMByaUWsOgyMpCz0XQ_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_GkA3ZUerJEGuOypLIT-E3g_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-44489000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_V8y-aokt2E2NoGu-7QA1Lw_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_YP6MZ5wBmkS2XJsdkKCM4A_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_9MXl9VC7zEef9wpHQ4DOcQ_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_XRWrljh01kWvh7UocDJ3Kg_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9874000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_oNmArh2mLkOS1dwnQTyA2Q_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7615000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_AeOTRrJBdUOHnzCJAaQT1g_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5773000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_MV6Fb-qwJ0qtp0w8JDyJRg_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19260000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Fxn0Tq9e4kyJ8dkVXQYxvg_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14321000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_gd-5Rspf5UqXOV4eYeEzNA_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13208000</csiq:NonCashOperatingLeaseExpenses>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_jsrNtvOFNEyui8EAWaa4fQ_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">42907000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_C2ICaYHyFUqDqE5Doz5eiA_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14070000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_-QIdE9Dwa0qKYmgUEeeAmQ_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7475000</us-gaap:InventoryWriteDown>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Z4EegGJKsE2nGufSRDEsdA_20_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_INjhzGTqQkSHDsRy0x-aXg_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_f_LtR2djHEm502z-63f8lQ_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:ShareBasedCompensation>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_FEv8wfMxbEqkTqPBI_ea3w_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_JkDeGtp4KU-ilPX5vebSkA_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-35890000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_tbE4MpUoW0SmfR_gh18POA_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-5971000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_fHZlzjGJvkSyKt71qSCC5g_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4439000</csiq:DerecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_KKaUDeXQH0m4sUCIUj6S_A_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-21439000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_TiePLl1dQUiecRFOq4D9-A_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-67386000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_sZPkP7D2jkuJrLB1H31dsw_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16908000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_V21MnIFudUK1M6-Iv1jM9A_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-65379000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ZZsOyhFAzE6aNQ_-JFDKIg_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">284785000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_B1ObqUpC_0aWYDOSzsVIKA_25_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">357276000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_-46ZJ0kIwEq5YhP51KvKpg_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12064000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_DW620f3JfECb1RdWj0hLGw_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8783000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_hAAsuIAZ5EeIwYsc7D7eFg_26_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23367000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_JnTZf6tWhEq-6KR7gGbFjg_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-26828000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_fI-_nrkwM0aMGPLPuTGNrA_27_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68912000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_vYJKi21M9ECQY5_L6RRn1Q_27_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4451000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_lbHkdOw9k0W-AormMel8ng_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">180974000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_teOpSoZMNECj77ydt3a40w_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">518741000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Sz0AbO1MzEKkmgH6Ci5y5Q_28_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">406343000</us-gaap:IncreaseDecreaseInInventories>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_9tZO2uyi4k6LNuk1P0e9Tw_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2687000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_q-PqZsecGEGRV8BQcW6Gsg_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">21873000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_bBC4MvsyOEGX6ksqhDKcvA_29_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">43881000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_QFeLShPBV0CdqbNqH8Q90Q_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">138915000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_cTagDRwy5EiYPTruP89HEA_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30416000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_S1iChfiBwkODIk0C3MBBaw_30_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">52893000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_HAhNhlArukiNqTeL9ZxKFA_31_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">443730000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_pMZty_Y5j0-J9jIJg2IbCA_31_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73375000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_iNEbsxcqOUqtteQ11-cJAQ_31_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">302839000</csiq:IncreaseDecreaseInProjectAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Ok5KD-XcxE6uAzIsQNXFnA_32_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">72188000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_AcWS_vlf6UCKq3f-q40qFA_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">85754000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_0EOZdeLDN0KfvPhbHqqSDA_32_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-151663000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_tBxPjT1cXUmLCcPWzx0eNw_33_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11913000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_zo4xXHfHCkeXHiVeeKDu6w_33_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-20357000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Pl0264R-B0eZDAqvWMFsdw_33_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17350000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_B4doQaAa60eAh2u_EvwUKw_34_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-89180000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_YQYSul8G4kybfX19WjsvGA_34_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11023000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_A_a8vWc6dk2GQYbs3iYI3w_34_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">351535000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_pMoOYr1nfEGvDeQBiJ23sA_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">120445000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Uqlmp3z_EkWTK3KDXoYUoQ_35_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">150982000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_0f9M6yNDpE2i_7Gkifv-sg_35_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">721039000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Wli4U9mr70iR6osAieM5Gg_36_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-9773000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Rf7e4qYUsEGU5ACGzpiTvw_36_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-171000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_SIJayZD3aUCKA9DdBsJxQg_36_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-54000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_aj7ecyNABkOycLLwxMTXsg_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10386000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ZWRBo2TF8Uyo0Ur-NgJNmw_37_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">126215000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_t9RxnG37PUKoxIHpCMi-lw_37_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-417000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_bEA5Mc2ouEyDRPjrBWiPVA_38_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">51683000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_19KOYUY-oEiVdmjVMWjwXw_38_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-53998000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_e7w0i1OGg0yx_MHqIS5gYQ_38_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">209855000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_x8rEVau3aECyNLdVgPxaXg_39_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-18917000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_KuS6Uh3H4Emq6Xdy04pWCA_39_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-14156000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_wd7kfTn2jUyLmx3PN-mWPg_39_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-14160000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_eS5TV9tRA0KbufT0My1d9g_40_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">160768000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_rX57cNlCqUq13OZ2_BGNgg_40_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">51248000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_4mwYcMgCkUOVd2aXb--IfQ_40_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68492000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_25p-_mDnCUiO6EgB6koaLQ_41_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-623000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_DfhWroFKiUS3yuZoudgkLQ_41_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-7281000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_3mrG8LYniUKhb1uHaJbbCQ_41_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1718000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Wo53n8w4-U66-gtdW7NeCw_42_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-33054000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_g0IUsDayV0G1M26vdwXuuw_42_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-31886000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Cv_0XSgNlk2OaxEmCU4r6Q_42_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31851000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_02maY0s0Okyd3wGXuhxPgw_43_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1115000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_7YA0ggpQxkiIqZJU-scPSw_43_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-10939000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_SpaK782kiUms5V8B9TZqeg_43_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-9625000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_-lfGdQD6MUCNpIY9DgsDZA_44_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-120541000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_j2zJUAr700CG6OhlSZFIGg_44_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-408254000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_EKHOcLpmqE-WO2do66g4lA_44_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">916631000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_jy3Ijk66E0iupfhCZOVDiw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17758000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Oq408g7wUEyPzLTkXHZbkA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">54004000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_3Ho9XbYbCkOnP8YZdhYT-A_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19355000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ZzuR_v6zBkK3GEvc5LY2bg_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2671000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_C72G9cFs6UuY0ragRfpnvw_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7083000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_iqzVo58X4EuCTISgjUOdgQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33037000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_-YhAlWEDwUeiht3v_5JSbQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14311000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_c2ylTbbTfkKxwLd4nNqP3Q_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">334781000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_fl_OHuBzUkOqeE-CpZZBZg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">428725000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_XPwBq67R9EC2xzDY-4zFAA_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">627115000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_iDPV65gQ6kWwsp0rVwCw2A_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18555000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_K0Fs8PQFKUSDhAO-OV8kDw_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7479000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_ONsG-VHxCUalMn3KxLSvLQ_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">160000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_mHlgmRUO6kG0Lq00On79Hw_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">775000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_P1itjoMNsUKHhTzrx11Xsg_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">882000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_koG7bYx9m0SrPsOUq8IneQ_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18397000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_fGNAFJ3L5UCWPYV5mvF0Og_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2302000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Lw7xm8jKtU62aXI5VuZAhA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-319662000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Nxt7WASM702MhZPEr5d7mA_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-429570000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_JKmTSFAI80C86gcpDtQajg_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-630488000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_n4E1D9_200-u395UXil4sg_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1667703000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_aoGLNS77D0O3KcQjiQCpsg_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1742064000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_j_30WVtWHEaiBhyTZ9Rdhw_14_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1387537000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_fF90G4am9kOOlFCAlWaOhg_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1561597000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_89UQpkXmPkWTIarwO38CYA_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1879884000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_sEmnm2WxykezPj4waoLHqw_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1695563000</us-gaap:RepaymentsOfNotesPayable>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_A7fd9RUoOkuoa0jSaK2gDQ_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">207632000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_-CQ7KH8T00eOnjOsO7Ud2A_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">588082000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Rd_uSkXwfU2Hz3_qyxB5DQ_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">770368000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_qg_sufKHtkKJoP4bTyl-BA_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10719000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_WS68kBZebEKN8CCv0jNONQ_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">261332000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_QE1d5mrykU-tjd5HxyYqgQ_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10003000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_q-DgWmGh6ECQ2jWLDOeDRg_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15109000</us-gaap:ProceedsFromMinorityShareholders>
    <csiq:ProceedsFromPaymentsToMinorityShareHolder
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_yP1t5_N0M0eXVvBAhHTQqA_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-6588000</csiq:ProceedsFromPaymentsToMinorityShareHolder>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_wsP7wz6a102OtBr1IfuwWw_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_LU2g6nKplU-6VQMsI3WhUg_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6419000</csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_QZD1NXfbf0qVH522ClNltA_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-29595000</csiq:ProceedsFromRepaymentOfThirdPartyFinancingLiabilities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_p3U03tlUqUm9z0suzGKLNA_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9945000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_2zIIDYEYcE6XCC5GCJUolw_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45693000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_4pjm3esphECHRtYlf-kSQQ_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22173000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Lim1apZV-UOvYvuL8joJ0A_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23090000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_nfcfwzxXdE6onRpeYxT7BA_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19217000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_NzCYepJRM0yDwp66a0rwXQ_24_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">222826000</us-gaap:ProceedsFromConvertibleDebt>
    <csiq:ProceedsFromSubscriptionAdvances
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_sgxfHRlptkGeEccYLLQD7w_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36342000</csiq:ProceedsFromSubscriptionAdvances>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_kmLp1WUhIEWErsOf-jruxw_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_rDUYhBJPaUWsTOYgWsB4vg_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5963000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_mlPwekQsJE2YmJvZIpw-9A_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">823501000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_2u9zk2IwxU6VFYrqeVIx-g_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">614071000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_lEcQbqampU2oQ-99-FC4Vg_28_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">428639000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_6F3dILTMrUumMdBcNZFPMw_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50997000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_52sYk15-iUCe0xUjpFOVmw_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18320000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_pQtI_AJY8kac59H9D0MBsg_29_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-179561000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_DGEtxOO3xEqtN6mGhRqMAw_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">434295000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_C0pB0cXCY0SleZ3NeFI-PA_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-205433000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_nripPotU6UuuGDqDRAl2bQ_30_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">535221000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A"
      decimals="-3"
      id="Tc_0NjEfnz6FkaKui4ZlcMbrQ_31_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_AfkdVgruIkKoDnGKTd51Cg_31_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_9X2R-RXjrEG-Nh6wYEJC-g_31_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_Thn4zvFV5keFnvaWUfFoXA_32_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_yXDPtf4eFECLa_52_nub0A_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_0A4WJwDLu0-4T_dIgkrZsQ_32_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1969503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_kjamjqtl-EC9llQA5FvrTg_34_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">78747000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_bMKL3hjCYUuCmRn2u__FdA_34_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">71006000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_wJ7jCcsKCk2BC0Z0ppGSPA_34_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">76511000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_-m1ioQW8G0S4fTMAPafksw_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">38193000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_U_I-st508Ea6DIwENDhyiw_35_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57396000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_FS39ykt3Z0yifUffPXlPjA_35_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">77400000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_2YFTtrr56UKhYiOougDFKw_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">244512000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_EPavw_ShVUqn6r4qdUOvrQ_37_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">299664000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_AZaaN6La1E6UQvd8cKkOVQ_37_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">549883000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_oQSCXlpaF0CSvnYjjGOx4w_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">869831000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_CjRJjeYKfUmk8GUfgR1Bng_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">981434000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_vt7EQ46JbkaCt_HJXYb89A_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">560633000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_MZC8XZqzLEiUN-6n1YqlzA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">978116000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_GbaoMR1VwkmPElL8tkXknw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3818000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_g6W9SK9W8k6hIsCVqsmZtQ_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9953000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pwpfHXsTnUqYsqqGMXdMJQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_lvlvJSoHhUGxJWINeGXyjQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1969503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_wmvShTC48keRiaqDWgShqQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;1. ORGANIZATION AND PRINCIPAL ACTIVITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Canadian Solar Inc. (&#x201c;CSI&#x201d;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. In July 2020, CSI filed articles of continuance to change its jurisdiction from the federal jurisdiction of Canada to the provincial jurisdiction of the Province of British Columbia. In July 2022, CSI completed its continuance from the corporate jurisdiction under the laws of the province of British Columbia to the corporate jurisdiction under the laws of the province of Ontario pursuant to the Business Corporations Act (Ontario), or OBCA. As a result, CSI is governed by the OBCA, and its affairs are governed by its notice of articles and the articles.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;CSI and its subsidiaries (collectively, the &#x201c;Company&#x201d;) is one of the world&#x2019;s largest solar technology and renewable energy companies, leading manufacturer of solar photovoltaic modules, provider of solar energy and battery storage solutions, and developer of utility-scale solar and battery storage projects. The Company&#x2019;s geographic footprint is diversified, as its sales as well as development pipeline in various stages of development are located across North America, South America, Europe, South Africa, the Middle East, Australia and Asia.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In July 2020, the Company announced its plan to carve-out and publicly list its legacy Module and System Solutions (&#x201c;MSS&#x201d;) subsidiary, CSI Solar Co., Ltd., in China (&#x201c;the IPO&#x201d;). In preparation for the IPO, the Company successfully completed the restructuring of its business segments during the fourth quarter of 2020, and transferred China solar power system and project assets from CSI Solar to the Global Energy segment in November 2021 as part of the CSI Solar Co., Ltd. carve-out listing process. Refer to Note 22 for further information.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;To qualify CSI Solar Co., Ltd. for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#x201c;third-party investors&#x201d;), the Company completed a capital raise in 2020 by transferring a portion of CSI Solar Co., Ltd. shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000 on the date of transaction), which was determined based on the equity value of CSI Solar Co., Ltd. of RMB7.50 billion (approximately $1,100,000 on the date of transaction). At the same time, selected employees also purchased existing CSI Solar Co., Ltd. shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500 on the date of transaction) at the same price. Total proceeds of $224,553 were fully received and recorded as non-controlling interests in subsidiaries on the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In addition, CSI Solar Co., Ltd. approved an employee incentive plan (the &#x201c;ESOP scheme&#x201d;) and utilized a limited liability partnership (the &#x201c;LLP&#x201d;) as a vehicle to hold CSI Solar Co., Ltd. shares that will be used under the ESOP scheme. Eligible CSI Solar Co., Ltd. directors and employees and board members have collectively agreed to subscribe to equity interest in the LLP for an aggregate of RMB248 million ($36,342 on the date of transaction) at a discount of 30%, or at an equity valuation of RMB5.25 billion (approximately $768,000 on the date of transaction), for which the vesting conditions include the successful completion of the IPO and service period. The related subscription advances of $36,342 were fully received and recorded as other payables on the consolidated balance sheets, The ESOP scheme will be accounted for based on the grant date fair value which equals to the value of the discount benefited by the ESOP scheme participants. Compensation cost will be recognized over the vesting period upon and after completion of IPO, therefore, nil was recognized in the years ended December 31, 2020, 2021 and 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;As of December 31, 2021 and 2022, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of CSI Solar Co., Ltd. The Company&#x2019;s wholly-owned global project development business, its Global Energy segment, is not a part of the IPO transaction.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#x201c;STAR Market&#x201d;) of the Shanghai Stock Exchange (the &#x201c;SSE&#x201d;).&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg"
      decimals="-7"
      id="Narr_twFPTd64OE-IwxRxTLHK9g"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">1500000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg"
      decimals="-3"
      id="Narr_Ilm60yYj5ECXO5WPEGq7fw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">219000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg"
      decimals="-7"
      id="Narr_GKNXJBtIlkCKQ7ull3Vajw"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">7500000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_VqSsE8R-kU-AIT6-601xUg"
      decimals="-3"
      id="Narr_Pkby_Queo0WQ4w7Tuv_YrA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1100000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA"
      decimals="-6"
      id="Narr_kYD9IM4nEkuNCtPn6M3MDQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">31000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_D7HgVOVFQEC7gw75nOC0AA"
      decimals="-3"
      id="Narr_tF7rpPGRq0GBVH0JXnXM_Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4500000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <csiq:SharePurchaseProceedsFromThirdPartyInvestors
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_BFofBx-Tvkm5y2zjLZmPjg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224553000</csiq:SharePurchaseProceedsFromThirdPartyInvestors>
    <csiq:SharePurchaseProceedsFromThirdPartyInvestors
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_NjPAArhO-E2vSmyhxzxnYg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224553000</csiq:SharePurchaseProceedsFromThirdPartyInvestors>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw"
      decimals="-6"
      id="Narr_v3o-xxVjLUK2DJH_RyWd-A"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">248000000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_VuRySlxDMES1UEFhjrIqcw"
      decimals="-3"
      id="Narr_GqVmCMTWY023i2rL0wzbSA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36342000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <csiq:PercentageOfDiscountOnIssueOfShares
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_17hTSUXR0E-hw1cJCW0K-Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.30</csiq:PercentageOfDiscountOnIssueOfShares>
    <csiq:PremiumDiscountOnIssueOfShares
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-7"
      id="Narr_4NDOUwAW_E2LJOLY5cUJXw"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">5250000000</csiq:PremiumDiscountOnIssueOfShares>
    <csiq:PremiumDiscountOnIssueOfShares
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_vfVopOgpjUqAbXiyNMjESg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">768000000</csiq:PremiumDiscountOnIssueOfShares>
    <csiq:SubscriptionAdvances
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_OtherPayablesMember_kqafPGA3QUix2yS4Nj5rog"
      decimals="-3"
      id="Narr_uzksxWPM1UCoxYg8e8E4qw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36342000</csiq:SubscriptionAdvances>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_8045hR85GkGOaqb0lBXTiw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_2gDZdfcJGkGj_bD29G-33w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_Kt2ZzDsFWEqiZJpYArl4hg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_12_31_2021_srt_OwnershipAxis_csiq_CanadianSolarMember_zpGGWPMHY0KZ-zCaTjc9HQ"
      decimals="3"
      id="Narr_2NtMNQlUJUuaoFFZgIqfDA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.204</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_8nrvuP0G-kuuS6VaNBXowA"
      decimals="3"
      id="Narr_R3cs3Hl54UiY71VpOKCf4w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.204</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_dk_Hotx0-Ui_Mhc1AM5dOg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. The permanent equity represented by third party or affiliate interest in non-wholly owned entities that the Company consolidates is shown as non-controlling interests in equity.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity, the non-controlling shareholder or partner do not hold substantive participating rights, redemption rights and no other conditions exist that would indicate that a company does not control the entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company&#x2019;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE, except for financial guarantee provided by the Company with respect to the debt obligations of the consolidated VIEs of $5,912 and $25,257 as of December 31, 2021 and 2022, respectively. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Reclassifications&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain prior period balances have been reclassified to conform to the current period presentation in the Company&#x2019;s consolidated financial statements and the accompanying notes. Such reclassifications had no effect on previously reported results of operations or retained earnings.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of total cost and estimates of variable consideration), allowance for credit losses on accounts receivable, advances to suppliers and other receivables, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand, money market fund and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;&#160;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s accounts receivable trade, advances to suppliers and other receivables are presented net of an allowance for credit losses. The Company establishes current expected credit losses (&#x201c;CECL&#x201d;) through an assessment based on external credit rating, internal credit rating and historical loss rates of debtors. Where CECL is measured on a collective basis or caters for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing credit insurance from insurers, such as the China Export &amp;amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of its accounts receivable trade in order to reduce its exposure to credit loss. The Company provides an allowance for accounts receivable trade considering factors such as historical collection experience, the age of the accounts receivable and other currently available evidence supporting recoverability. An allowance is recorded regardless of whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $1,409 and $1,873 as of December 31, 2021 and 2022, respectively and a corresponding reduction in general and administrative expenses.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#160;&#160;&#160;Advances to suppliers&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#160;&#160;&#160;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#160;&#160;&#160;&#160;Project assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Project assets consist primarily of capitalized costs relating to solar and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage project. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules, batteries storage, inverters, energy stations, power plant controllers and related equipment. Interest costs incurred on debt during the construction phase, all deferred financing costs amortized during the construction phase, and indirect project costs are also capitalized within project assets. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Solar and battery storage projects are classified as project assets unless the Company has intention not to sell them to third parties. In that case, these projects that the Company intends to hold and operate to generate income from the sale or storage of electricity are classified as solar power systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar and battery storage projects as guided by ASC 970. The costs to develop or construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year are classified as project assets-current. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Otherwise, the Company considers the project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the project asset and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within cost of revenues in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Project assets are often held in separate legal entities and VIEs which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2(b) above. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity, the project assets will be reclassified to solar and battery storage power systems at the lower of their carrying amounts, adjusted for any depreciation expense that would have been recognized had the project assets been continuously classified as held and used, or fair value at the date of the subsequent decision not to sell.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;&#160;Business combination&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. The Company recognizes adjustments to provisional amounts to reflect additional information obtained for incomplete facts and circumstances as of acquisition date. The measurement period ends once the Company receives sufficient information to finalize fair value, however, the period will not exceed 1 year from the acquisition date. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;&#160;Assets acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#x2019; carrying amounts on the Company&#x2019;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Solar power systems generally comprised of ground-mounted utility-scale projects that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation. The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the power purchase agreements (&#x201c;PPA&#x201d;) and performance based energy incentives, permits, consents, construction costs, equipment costs, land costs, interest costs capitalized, and other costs capitalized. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When solar power systems are retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#x2019;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change was being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;Land use rights&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Land use rights represent operating leases in accordance with ASC 842.  The amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;) is recorded as operating lease right-of-use (&#x201c;ROU&#x201d;) assets on the consolidated balance sheets. Amounts are charged to earnings ratably over the land use right periods of generally &lt;/span&gt;50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on capital, and the rest of the amount is considered as return of capital.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2020, 2021 and 2022, the Company recorded $24,060, nil and $357 of impairment charges on its investments, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;Impairment of long-lived assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company assesses the recoverability of the carrying value of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets, when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#x2019;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss for amount by which the carrying amount of the assets exceeds its fair value. Fair value is generally measured based on either quoted market prices, if available, or discounted cash flow analyses. The Company recorded impairment charges for long-lived assets of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#160;&#160;&#160;&#160;Interest capitalization&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sale to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Assets retirement obligation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company&#x2019;s long-lived assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. The Company recognizes the fair value of a liability for an assets retirement obligation (&#x201c;ARO&#x201d;) in the period in which the obligation is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset, except in cases where the asset is depreciated over lease terms that differ from its useful life. Upon settlement of the obligation, the Company eliminates the liability and, based on actual cost to retire, may incur a gain or loss. The Company&#x2019;s ARO included in solar power systems were $110 and $399 as of December 31, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception based on the relevant facts and circumstances. Operating leases are included in operating lease ROU assets and operating lease liabilities on the consolidated balance sheets. Finance leases are included in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period in which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#x2019;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#x2019;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less and do not include a purchase option or extension that is reasonably certain to be exercised are not recorded on the consolidated balance sheets, and instead the lease expense is recognized on a straight-line basis over the term of the lease.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense in the Company&#x2019;s consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment loss on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer. The Company is subjected to sales taxes, goods and services taxes and value added taxes on its sales of products, and recognizes revenue net of these taxes and estimated returns.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar power products&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Solar power products, including solar modules, solar system kits, inverters, accessories and materials related to solar power products are transferred at a point in time when the customers obtain control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include charges to customers for shipping and handling activities. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (ab) for the Company&#x2019;s accounting policy for warranty.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customers. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Battery storage solutions and EPC services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recognizes revenue for the sales of battery storage solutions (system integration solutions, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#x2019;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total estimated costs to determine its progress towards contract completion and to calculate the corresponding amount of revenue to recognize. The Company is also required to make estimates of revenues and costs to complete its projects. In making such estimates, significant judgment is required to evaluate the underlying assumptions, including the impact of any performance incentives, liquidated damages, and other payments to customers. If estimated total costs of any contract are greater than the estimated net revenues of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates using the cost-based input method of revenue recognition are recorded in the period in which the revisions are identified. At the inception of each contract that includes variable consideration, the Company evaluates the amount of potential payment and the likelihood that the payments will be received. The Company utilizes either the most likely amount method or expected value method to estimate the amount expected to be received based on which method best predicts the amount expected to be received. The contracts do not contain significant financing component.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Performance obligation for long term service contract, including capacity, operating system performance and battery augmentation, is accounted for separately if the performance obligation is considered to be distinct. The Company considers the performance obligation to be distinct if the customer can benefit from the good or service either on its own or together with other resources readily available to the customer, and the Company&#x2019;s promise to transfer the good or service to the customer is separately identifiable from other promises in the contract. The Company generally allocates the transaction price to each performance obligation based on a relative standalone selling price basis. The Company develops assumptions that require judgment to determine the standalone selling price for each performance obligation in consideration of applicable market conditions, relevant entity-specific factors and information about the customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar and battery storage projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects and battery storage power projects (project development activities, including sourcing land, interconnection, structuring power purchase agreements, obtaining permits and other requirements) are recognized at a point in time when customers obtain control of solar power or battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customers, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The solar and battery storage projects are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#x201c;project companies&#x201d;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Operations and Maintenance (&#x201c;O&amp;amp;M&#x201d;) and asset management services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performance and the costs of O&amp;amp;M and asset management services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company generally recognizes electricity revenue based on the price stated in the PPAs when the specific volume of electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the attached conditions have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2020, 2021 and 2022, the Company recognized performance-based energy incentives related to electricity generated of $6,628, $9,402 and $2,908, respectively, in revenue. The Company will evaluate its long-term PPAs to determine whether the PPAs should be accounted for as an operating lease. A lease is deemed to exist when a single off-taker has the ability or right to operate the solar power plant, control physical access, or is entitled to obtain substantially all the output from the facility. Variable lease payment is recognized over the term of lease as contingent rent revenue when output is delivered, whereas fixed lease payment is recognized as lease revenue on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s electricity revenue during the years ended December 31, 2020, 2021 and 2022 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Electricity Revenue:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,256&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,835&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company determined that certain PPAs are operating leases and as a result, recognizes revenue as contingent rental revenue when output is delivered. Such revenue, which is presented as electricity revenue above, amounted to $2,457, $4,940 and $4,736 for the years ended December 31, 2020, 2021 and 2022, respectively. The remaining amounts of $7,249, $24,480 and $19,099 for the years ended December 31, 2020, 2021 and 2022, respectively, are recorded in accordance with ASC 606.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The disaggregation of revenue from contracts with customers for the years ended December 31, 2020, 2021 and 2022 has been disclosed under Segment Information. See Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,881,573&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,173,338&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 271,513&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,747&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 763,698&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,827&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;For the year ended December 31, 2022, $219,836 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2022. Contract liabilities of $406,751 as of December 31, 2022 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 334,943&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,808&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 406,751&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has applied the practical expedient by accounting for contracts (or performance obligations) with similar characteristics on a portfolio basis. The Company does not expect that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would differ materially from applying the guidance to the individual contracts (or performance obligations) within that portfolio.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed. Revenue recognized in years ended December 31, 2021 and 2022 from performance obligations satisfied in prior periods were insignificant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period of more than one year are not material to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;Shipping and handling &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of 134,248, $316,358 and $453,865, are included in selling and distribution expenses for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&#160;&#160;&#160;&#160;Research and development&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $45,167, $58,407 and $69,822 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In most case, the attached conditions of grants are for a specific performance or duration related to the construction and acquisition of property, plant and equipment, achievement of business development plan, technology innovation, and human capital development. These conditions may be subject to review, audit and approval by the local government authorities and, therefore, could be different from the amounts recorded.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, the Company has $786 and $165,946 of government grants in other current liabilities and other non-current liabilities, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s other operating income, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (59,543)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net (gain) loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,259)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,091)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,802)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before 2009, the Company sold its standard solar modules typically with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In 2011, the Company increased its guarantee for defects in materials and workmanship to ten years. In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years. In 2022, the Company increased its guarantee for defects in materials and workmanship up to 15 years or 25 years for certain module types, and the Company warrant that, for a period of 25 years, its Ku/Hiku modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output. The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated warranty costs based on an assessment of its competitors&#x2019; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#x2019;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue from sales of solar module&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company warrants its battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. The Company continuously monitors its warranty failures and maintains a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Estimates related to the outstanding warranty liability are re-evaluated on an ongoing basis using best-available information and revisions are made as necessary. The Company has obtained warranties from its battery cell suppliers to back up a portion of its warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;For solar power projects built by the Company under EPC services, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up a portion of its warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties on solar module products. The insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy periods. The unamortized carrying amount is $528 and $264 as of December 31, 2021 and 2022, respectively, and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursable by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance companies are monitored to ensure the claim has been submitted to the insurance companies, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances, and the measurement of expected credit losses. To date, no provision has been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates or the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation as described above and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $87,729 and $84,474 as of December 31, 2021 and 2022, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made upward adjustments to its accrued warranty costs of $4,089 for the year ended December 31, 2022, to reflect the increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $26,931, $45,053 and $68,411 are included in cost of revenues for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen, Brazilian reals (&#x201c;BRL&#x201d;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#160;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i) net income, (ii) foreign currency translation adjustments, including gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities, (iii) the unrealized gains or losses (effective portion) on and de-recognition of derivative instruments that qualify for and have been designated as cash flow hedges and (iv) unrealized gains or losses in fair value of available-for-sale debt securities. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Foreign currency risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Japanese Yen, Brazilian reals, Australian dollars, South African rand and British pounds. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi and U.S. dollars. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht, may result in foreign exchange gains or losses. The Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company&#x2019;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials and equipment. The Company performs ongoing credit evaluations of its suppliers&#x2019; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#x2019;s expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2021 and 2022, gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2022.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritizes the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s money market fund included in cash equivalent, restricted cash balance, mutual funds to satisfy its obligations under its employee deferred compensation plan and listed equity securities for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting. ASC 815 provides for three different ways to account for derivative instruments: (i) as a cash flow or fair value hedge; (ii) as a mark-to-market agreement with changes in fair value recognized in current period earnings; or (iii) as an accrual agreement, if the criteria for the normal purchase normal sale exception are met and documented.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from non-functional currency-denominated monetary assets, liabilities and cash flows, and to hedge its commodity risk exposure to losses from raw material price fluctuations. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using observable inputs obtained from active markets or pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty with the Company, as necessary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Earnings per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Risks and uncertainties related to the COVID-19 pandemic&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#x2019;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#x2019;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(al)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In January 2020, the FASB issued ASU No. 2020-01, which clarifies that a company should consider observable transactions that require a company to either apply or discontinue the equity method of accounting under Topic 323, Investment &#x2013; Equity Method and Joint Ventures, for the purposes of applying the measurement alternative in accordance with Topic 321, Investments &#x2013; Equity Securities immediately before applying or upon discontinuing the equity method. The amendment was effective for fiscal years beginning after December 15, 2020. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848)&#x201d;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#x2019;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#x201c;Reference Rate Reform &#x2014; Scope,&#x201d; which clarified the scope of ASC 848 relating to contract modifications. In addition, in December 2022, the FASB issued ASU No. 2022-06, &#x201c;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,&#x201d; which deferred the sunset date in Topic 848 from December 31, 2022 to December 31, 2024. The ASU 2022-06 became effective upon issuance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(al)&#160;Recently issued accounting pronouncements (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The Company has $208,621 of LIBOR debt as of December 31, 2022 and projects the balance will be approximately $185,326 by the June 2023 discontinuance date. All of the Company&#x2019;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In August, 2020, the FASB issued ASU No. 2020-06, Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In October 2021, the FASB issued ASU No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which require that an entity (acquirer) recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Revenue from Contracts with Customers (Topic 606). At the acquisition date, an acquirer should account for the related revenue contracts in accordance with Topic 606 as if it had originated the contracts. The amendments in this update also provide certain practical expedients for acquirers when recognizing and measuring acquired contract assets and contract liabilities from revenue contracts in a business combination. The standard is effective for interim and annual periods beginning after December 15, 2022, with early adoption permitted. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In November 2021, the FASB issued ASU No. 2021-10, &#x201c;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#x201d;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#x2019;s financial statements. The Company adopted this new standard on January 1, 2022 and the adoption did not have a material impact on the Company&#x2019;s consolidated financial statements. See note 2(aa) for discussion regarding such amounts recorded in 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In September 2022, the FASB issued ASU No. 2022-04, Liabilities-Supplier Finance Programs (Subtopic 405-50) - Disclosure of Supplier Finance Program Obligations, which requires that a buyer in a supplier finance program disclose sufficient information about the program to allow a user of financial statements to understand the program&#x2019;s nature, activity during the period, changes from period to period, and potential magnitude. The amendment in this update is expected to improve financial reporting by requiring new disclosures about the programs, thereby allowing financial statement users to better consider the effect of the programs on an entity&#x2019;s working capital, liquidity, and cash flows. The new standard is effective for fiscal years beginning after December 15, 2022, except for the amendment on roll forward information which is effective for fiscal years beginning after December 15, 2023. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Y7Q1067YWEiFqiOvzW16gg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_dK2MtfUjHkqLF7b5SlKaDA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. The permanent equity represented by third party or affiliate interest in non-wholly owned entities that the Company consolidates is shown as non-controlling interests in equity.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity, the non-controlling shareholder or partner do not hold substantive participating rights, redemption rights and no other conditions exist that would indicate that a company does not control the entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company&#x2019;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE, except for financial guarantee provided by the Company with respect to the debt obligations of the consolidated VIEs of $5,912 and $25,257 as of December 31, 2021 and 2022, respectively. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:GuaranteeObligationsMaximumExposure
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_liXKEj_ZS0W2B4pJ5zLO7g"
      decimals="-3"
      id="Narr_U-vAEIxleEG9AD1ViXEk6g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5912000</us-gaap:GuaranteeObligationsMaximumExposure>
    <us-gaap:GuaranteeObligationsMaximumExposure
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg"
      decimals="-3"
      id="Narr_LhkY8siQMESXRQgYISCPGg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25257000</us-gaap:GuaranteeObligationsMaximumExposure>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_4WoX7C-7KU2vv5Du2kYUzA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Reclassifications&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain prior period balances have been reclassified to conform to the current period presentation in the Company&#x2019;s consolidated financial statements and the accompanying notes. Such reclassifications had no effect on previously reported results of operations or retained earnings.&lt;/p&gt;</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_eq2ZHDhuqEiTNcB10gjv3g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results may differ from those estimates under different assumptions or conditions. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition (including determination of the allocation of the transaction price, determination of deconsolidation of the project companies, estimates of total cost and estimates of variable consideration), allowance for credit losses on accounts receivable, advances to suppliers and other receivables, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;) associated with long-lived assets, discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including foreign exchange option and forward contracts and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_bVyJe4JJTkaXFK6IJI4Z2Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand, money market fund and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_GfJAZ5cpaUGqxbvmTRwjFQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from battery storage solutions and EPC services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb__g8PlJ0I60ydH7-OnhCP9Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;&#160;Allowance for credit losses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s accounts receivable trade, advances to suppliers and other receivables are presented net of an allowance for credit losses. The Company establishes current expected credit losses (&#x201c;CECL&#x201d;) through an assessment based on external credit rating, internal credit rating and historical loss rates of debtors. Where CECL is measured on a collective basis or caters for cases where evidence at the individual instrument level may not yet be available, the financial instruments are grouped on the aging status; and nature, size and industry of debtors.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing credit insurance from insurers, such as the China Export &amp;amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of its accounts receivable trade in order to reduce its exposure to credit loss. The Company provides an allowance for accounts receivable trade considering factors such as historical collection experience, the age of the accounts receivable and other currently available evidence supporting recoverability. An allowance is recorded regardless of whether such account is covered by credit insurance. At the time the claim is made, the Company records a receivable from these insurers equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from these insurers in prepaid expenses and other current assets of $1,409 and $1,873 as of December 31, 2021 and 2022, respectively and a corresponding reduction in general and administrative expenses.&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_fUa_3cKm-0apVN2Tp2C0uw"
      decimals="-3"
      id="Narr_86lk4A5R_0Wvzw0i_D-nmw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1409000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_Z-Cb9XKwKk6RhLBMqKfUig"
      decimals="-3"
      id="Narr_9yTuV4mYFkO4k6oStwXXlA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1873000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <csiq:AdvancesToSuppliersPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_8E7yG_MDC0aAuy2lmJYbOA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#160;&#160;&#160;Advances to suppliers&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.&lt;/p&gt;</csiq:AdvancesToSuppliersPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_2-rIO5AOaEiYTVmKX5FcPg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#160;&#160;&#160;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <csiq:ProjectAssetsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_TnZj2ujrcU2C6kgOHC8HXA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 4pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#160;&#160;&#160;&#160;Project assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Project assets consist primarily of capitalized costs relating to solar and battery storage projects in various stages of development prior to the intended sale of the solar and battery storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar and battery storage project. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules, batteries storage, inverters, energy stations, power plant controllers and related equipment. Interest costs incurred on debt during the construction phase, all deferred financing costs amortized during the construction phase, and indirect project costs are also capitalized within project assets. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Solar and battery storage projects are classified as project assets unless the Company has intention not to sell them to third parties. In that case, these projects that the Company intends to hold and operate to generate income from the sale or storage of electricity are classified as solar power systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar and battery storage projects as guided by ASC 970. The costs to develop or construct solar and battery storage projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar and battery storage projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year. Appropriateness of the classification of the solar and battery storage projects is assessed based on the circumstances on each balance sheet date. Solar and battery storage projects that the Company intends to sell within one year are classified as project assets-current. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a fully developed or constructed project commercially viable or recoverable if it is anticipated to be sold for a profit. Otherwise, the Company considers the project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, permitting, grid interconnection, capital cost, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the project asset and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within cost of revenues in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 4pt 0pt;"&gt;Project assets are often held in separate legal entities and VIEs which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2(b) above. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar and battery storage power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development. If circumstances change, and the Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity, the project assets will be reclassified to solar and battery storage power systems at the lower of their carrying amounts, adjusted for any depreciation expense that would have been recognized had the project assets been continuously classified as held and used, or fair value at the date of the subsequent decision not to sell.&lt;/p&gt;</csiq:ProjectAssetsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Fvq2dFqTg0uGuTFPBAoj-w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;&#160;Business combination&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. The Company recognizes adjustments to provisional amounts to reflect additional information obtained for incomplete facts and circumstances as of acquisition date. The measurement period ends once the Company receives sufficient information to finalize fair value, however, the period will not exceed 1 year from the acquisition date. &lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <csiq:AssetsAcquisitionPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_G2T-98JLbEi916jLgGuNAQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;&#160;Assets acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#x2019; carrying amounts on the Company&#x2019;s books. If the consideration given is not in the form of cash (that is, in the form of non cash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.&lt;/p&gt;</csiq:AssetsAcquisitionPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_KbP8u2ubDky15LLpNWrc8A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_s4hrm3uWOkyO_k2kZgUNsA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.69%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA"
      id="Tc_N0-Lkh9S-keGb7GaXp4kig_1_2">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_RSsnuES7TEOXEPHB4V590Q"
      id="Narr_tvFjhzdjG0q7_lDP7gV4vg">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_uRpOVxYEe069W2Xrzl3agQ"
      id="Narr_B7gvrd-lg02jQeqF8e7QqA">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_Vc1vJ51sI0-gYz74T1igeQ"
      id="Tc__u-B_5_Q90Wmorx_91z4gw_4_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_b7puSkqebk-GBdEfZTOIZA"
      id="Tc_VjKCt5-EaUKf9Qr4M02odQ_5_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:SolarPowerSystemsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_xqq7KiOii0CI0Yx8mZjObg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Solar power systems generally comprised of ground-mounted utility-scale projects that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation. The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the power purchase agreements (&#x201c;PPA&#x201d;) and performance based energy incentives, permits, consents, construction costs, equipment costs, land costs, interest costs capitalized, and other costs capitalized. Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When solar power systems are retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company reviews the estimated useful lives of its fixed assets on an ongoing basis. This review indicated that the actual lives of certain solar power systems were longer than the estimated useful lives used for depreciation purposes in the Company&#x2019;s financial statements. As a result, effective January 1, 2022, the Company changed the estimates of its useful lives of its solar power systems from 20-25 years to 30 years, based on internal studies and market analysis that support a 30-year useful life as appropriate given advances in solar power technology. The useful life was not changed for projects to be transferred to an offtaker at the end of a PPA that is less than 30 years in duration. The change was being accounted for prospectively as a change in accounting estimate. Depreciation expense for the year ended December 31, 2021 would have been lowered by $2,186 if the change had been made at the beginning of 2021.&lt;/p&gt;</csiq:SolarPowerSystemsPolicyPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_rfAgVXGMS0KyT-IKRUzoQw"
      id="Narr_XB0zdwgwRU2WrXX9EqLqGQ">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_lESoxmS9zUiCrukvxTlkrw"
      id="Narr_7gBPDoNBrE2mUvhw0H_T6g">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug"
      id="Narr_XPWUyl5ZvEGXTh2N9tB4HA">P30Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker
      contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug"
      id="Narr_2aFPVV1rQ0GpiQwjx-n3Pg">P30Y</csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker>
    <csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker
      contextRef="Duration_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_TOU0Sd4iV0eYIdHz0sj7Ug"
      id="Narr_k0pzJ4UX7kefRZZuylYsGw">P30Y</csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker>
    <csiq:IncreaseDecreaseInDepreciationExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V9J128qcMESPVO50J1aTvw"
      decimals="-3"
      id="Narr_S3pGzniWH0mD-cMBE4jlkw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2186000</csiq:IncreaseDecreaseInDepreciationExpense>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_yKxeaBXMnECS-3TtGBdVOQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_5U_jL9bM6kmyJTqnwWZEPg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;1-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw"
      id="Tc_v5F5XQPr7UC-aLJFOT3LZg_1_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_3MY9KF1Hw06o9DHDidjStw"
      id="Narr_D4E1CSnLtEeKwL0eeAQPiw">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Z7crre3kQ0e3s260s4ZKPA"
      id="Narr_JbCFj-SK2U2Zcj_C3sHOYg">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:LandUseRightPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_PZo7GJh9GE6IpT0cSNFV5g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;Land use rights&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Land use rights represent operating leases in accordance with ASC 842.  The amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;) is recorded as operating lease right-of-use (&#x201c;ROU&#x201d;) assets on the consolidated balance sheets. Amounts are charged to earnings ratably over the land use right periods of generally &lt;/span&gt;50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:LandUseRightPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_K3dZt0m0aE2fNPxtori6zw"
      id="Narr_j5-C6Bkle0eDyPcNQ_6tCA">P50Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:EquityMethodInvestmentsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_xrcb_gsEDkGH5h6SSviG5A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings is considered as return on capital, and the rest of the amount is considered as return of capital.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2020, 2021 and 2022, the Company recorded $24,060, nil and $357 of impairment charges on its investments, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_0dW-r0WmpUGbu6QN1I34IQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24060000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_AC3hHunrWkq5GfPSBjiN_Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_e6tz5qLp2EKjVxF6hib-Gw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">357000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_tOMW6S8jHEmAipFJebno1Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;Impairment of long-lived assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company assesses the recoverability of the carrying value of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets, when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#x2019;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss for amount by which the carrying amount of the assets exceeds its fair value. Fair value is generally measured based on either quoted market prices, if available, or discounted cash flow analyses. The Company recorded impairment charges for long-lived assets of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_lw5VfmA8eEeVquxTG8Bm9A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_zDVvQSKyKEObPFl_dv_Anw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_LkJAzoffs0av6untCABVtw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:InterestCapitalizationPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_m8rvWin2-UScKkCWlQmxJw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#160;&#160;&#160;&#160;Interest capitalization&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sale to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;</us-gaap:InterestCapitalizationPolicyPolicyTextBlock>
    <us-gaap:AssetRetirementObligationsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_dIiL03InLEKw3XxYNv_NKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Assets retirement obligation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company&#x2019;s long-lived assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. The Company recognizes the fair value of a liability for an assets retirement obligation (&#x201c;ARO&#x201d;) in the period in which the obligation is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset, except in cases where the asset is depreciated over lease terms that differ from its useful life. Upon settlement of the obligation, the Company eliminates the liability and, based on actual cost to retire, may incur a gain or loss. The Company&#x2019;s ARO included in solar power systems were $110 and $399 as of December 31, 2021 and 2022, respectively.&lt;/p&gt;</us-gaap:AssetRetirementObligationsPolicy>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_g4r8fXvNE0-cH3xEI5zaqw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">110000</us-gaap:AssetRetirementObligation>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_cXKokreUi0yk9fgnE3KDlQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">399000</us-gaap:AssetRetirementObligation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_eCK53i3j6UiKoQ3bbgxxRg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception based on the relevant facts and circumstances. Operating leases are included in operating lease ROU assets and operating lease liabilities on the consolidated balance sheets. Finance leases are included in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period in which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#x2019;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#x2019;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less and do not include a purchase option or extension that is reasonably certain to be exercised are not recorded on the consolidated balance sheets, and instead the lease expense is recognized on a straight-line basis over the term of the lease.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense in the Company&#x2019;s consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment loss on its consolidated statements of operations.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Dqwm0GYIyU-fDbQ2ixX4bg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_1SiO7-dcQEqDtryWmEng0w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_DSpDRmfT1UCiO0rEIoTfNQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer. The Company is subjected to sales taxes, goods and services taxes and value added taxes on its sales of products, and recognizes revenue net of these taxes and estimated returns.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar power products&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Solar power products, including solar modules, solar system kits, inverters, accessories and materials related to solar power products are transferred at a point in time when the customers obtain control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include charges to customers for shipping and handling activities. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (ab) for the Company&#x2019;s accounting policy for warranty.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customers. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Battery storage solutions and EPC services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recognizes revenue for the sales of battery storage solutions (system integration solutions, delivering turnkey battery storage technology solutions) and EPC services over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery storage customers are required to make on the value of their battery storage solution that is treated as deferred revenue on the Company&#x2019;s consolidated balance sheet and then recognized as revenue over time based on the estimated progress to completion. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In applying the cost-based input method of revenue recognition, the Company uses the actual costs incurred relative to the total estimated costs to determine its progress towards contract completion and to calculate the corresponding amount of revenue to recognize. The Company is also required to make estimates of revenues and costs to complete its projects. In making such estimates, significant judgment is required to evaluate the underlying assumptions, including the impact of any performance incentives, liquidated damages, and other payments to customers. If estimated total costs of any contract are greater than the estimated net revenues of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates using the cost-based input method of revenue recognition are recorded in the period in which the revisions are identified. At the inception of each contract that includes variable consideration, the Company evaluates the amount of potential payment and the likelihood that the payments will be received. The Company utilizes either the most likely amount method or expected value method to estimate the amount expected to be received based on which method best predicts the amount expected to be received. The contracts do not contain significant financing component.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Performance obligation for long term service contract, including capacity, operating system performance and battery augmentation, is accounted for separately if the performance obligation is considered to be distinct. The Company considers the performance obligation to be distinct if the customer can benefit from the good or service either on its own or together with other resources readily available to the customer, and the Company&#x2019;s promise to transfer the good or service to the customer is separately identifiable from other promises in the contract. The Company generally allocates the transaction price to each performance obligation based on a relative standalone selling price basis. The Company develops assumptions that require judgment to determine the standalone selling price for each performance obligation in consideration of applicable market conditions, relevant entity-specific factors and information about the customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar and battery storage projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects and battery storage power projects (project development activities, including sourcing land, interconnection, structuring power purchase agreements, obtaining permits and other requirements) are recognized at a point in time when customers obtain control of solar power or battery storage projects. For sales of solar and battery storage projects in which the Company obtains an interest in the project sold to the customers, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest it obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The solar and battery storage projects are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar and battery storage projects, which the Company refers to as &#x201c;project companies&#x201d;. The Company applies guidance under ASC 810 to determine deconsolidation of the project companies upon transfer of equity interest to the customers, and then applies guidance under ASC 606 to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price for revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Operations and Maintenance (&#x201c;O&amp;amp;M&#x201d;) and asset management services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M and asset management services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M and asset management services are recognized over time based on the work completed to date which does not require re-performance and the costs of O&amp;amp;M and asset management services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company generally recognizes electricity revenue based on the price stated in the PPAs when the specific volume of electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the attached conditions have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2020, 2021 and 2022, the Company recognized performance-based energy incentives related to electricity generated of $6,628, $9,402 and $2,908, respectively, in revenue. The Company will evaluate its long-term PPAs to determine whether the PPAs should be accounted for as an operating lease. A lease is deemed to exist when a single off-taker has the ability or right to operate the solar power plant, control physical access, or is entitled to obtain substantially all the output from the facility. Variable lease payment is recognized over the term of lease as contingent rent revenue when output is delivered, whereas fixed lease payment is recognized as lease revenue on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s electricity revenue during the years ended December 31, 2020, 2021 and 2022 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Electricity Revenue:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,256&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,835&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company determined that certain PPAs are operating leases and as a result, recognizes revenue as contingent rental revenue when output is delivered. Such revenue, which is presented as electricity revenue above, amounted to $2,457, $4,940 and $4,736 for the years ended December 31, 2020, 2021 and 2022, respectively. The remaining amounts of $7,249, $24,480 and $19,099 for the years ended December 31, 2020, 2021 and 2022, respectively, are recorded in accordance with ASC 606.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The disaggregation of revenue from contracts with customers for the years ended December 31, 2020, 2021 and 2022 has been disclosed under Segment Information. See Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,881,573&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,173,338&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 271,513&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,747&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 763,698&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,827&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Revenue recognition &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;For the year ended December 31, 2022, $219,836 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2022. Contract liabilities of $406,751 as of December 31, 2022 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 334,943&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,808&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 406,751&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has applied the practical expedient by accounting for contracts (or performance obligations) with similar characteristics on a portfolio basis. The Company does not expect that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would differ materially from applying the guidance to the individual contracts (or performance obligations) within that portfolio.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed. Revenue recognized in years ended December 31, 2021 and 2022 from performance obligations satisfied in prior periods were insignificant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period of more than one year are not material to the Company.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA"
      decimals="-3"
      id="Narr_IBqRJSzkf0mGLRdMGQaNnw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6628000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw"
      decimals="-3"
      id="Narr_-hXXcyvdIkq_Q50EF4N1yw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9402000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg"
      decimals="-3"
      id="Narr__nVBiaqVi0iSme0WQX9Wcw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2908000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:ScheduleOfElectricityRevenueTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Deu2mYZbJUqwt4nIAyXeJA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Electricity Revenue:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,302&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,256&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 629&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,706&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,420&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,835&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfElectricityRevenueTableTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2Z0D4RCkA0-pq2NIam5fkw"
      decimals="-3"
      id="Tc_XUtfLOA0aEaiGermivhsHg_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9077000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_AllP6KYsLU6KfOuDCPQB7A"
      decimals="-3"
      id="Tc_YeCYWNuu1E6-czaneu4lqA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15302000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_cF1DrbyhxE6hCqkgFcBtYw"
      decimals="-3"
      id="Tc_tZjmlsZCJkCh0YOHMgQqBw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2256000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_qg45PgODJE-ReTONRIKhZw"
      decimals="-3"
      id="Tc_d0Q767fbtkKR_oNOHWql1A_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">629000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_Kfye0lRU106Tx9QBYYAl8A"
      decimals="-3"
      id="Tc_bpocWs7hx0ajEWbfbmbO-g_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14118000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_dJqrak8h9kq22R_hz6eYfw"
      decimals="-3"
      id="Tc_eEsjAwmuOUiHRED8_kA5IQ_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">21579000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA"
      decimals="-3"
      id="Tc__mz764CLB0WUjUoi2UhGzA_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9706000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw"
      decimals="-3"
      id="Tc_4KY0bwOtUkCwdqhnt2NJYA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29420000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg"
      decimals="-3"
      id="Tc_NUBIDwvlZkC1oiIJaYg6pQ_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23835000</us-gaap:Revenues>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA"
      decimals="-3"
      id="Narr_h9_oRWCUBUSIzlVF4vCzng"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2457000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw"
      decimals="-3"
      id="Narr_YAdFHq0qfUuaIfYMwqjb1A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4940000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg"
      decimals="-3"
      id="Narr_IUgc_LZYBk2hzTxYKVuS3Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4736000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_UsktQRi1d0yEba8ztbyPvA"
      decimals="-3"
      id="Narr_tDWRj-aqhU2nigiRXSWLLQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7249000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_0kN7OEvPTkiiyb1DJ8oMqw"
      decimals="-3"
      id="Narr_cR2y7_stXEe-2oyuYWuakw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24480000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg"
      decimals="-3"
      id="Narr_V8NNnr5_lEyf5uQUHvOhIA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19099000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_df6oaDpoc0O6R3CHiTY-lA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:35.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,704,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,881,573&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,173,338&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,996&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 271,513&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,747&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy Segment:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,759&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,068,179&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 763,698&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,904&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,827&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_zrxEERNDVU-coyBaKI2Ibg"
      decimals="-3"
      id="Tc_Aae_du708EmrAOpgk1y-Ug_5_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2704332000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_O9FpPygQgkOqvhDzFUWwCg"
      decimals="-3"
      id="Tc_SqX14hjRxEWIKX1Qq1w7MQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3881573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_247PiAp0Dk-V1QHhgbkQSA"
      decimals="-3"
      id="Tc_feVRl2YpoE6kbIDxZkoNPw_5_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6173338000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_jNP07gyCc0SmPzkzgfE-mg"
      decimals="-3"
      id="Tc_f78D8OCKLUGsR3jt07bwlQ_6_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45996000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ekKZo42d40KoMeg8Zu_e-w"
      decimals="-3"
      id="Tc_wEEyaG3MpkeuTXXHMAzQ6A_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">271513000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_lBRVHZX6xE-tkElOQb8twQ"
      decimals="-3"
      id="Tc_s-AFEO-n4UqkNI-6pPJ_FQ_6_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">473747000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_CHFHqSX10EiWXPGA_LJjAw"
      decimals="-3"
      id="Tc_UKnedGjzrUeo5cN5gXneiw_9_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">687759000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_DkB6ZvjNbUqz8uky690BbQ"
      decimals="-3"
      id="Tc_ArPelI5K50ih-fRkrLzadw_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1068179000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_W23UhTS0ZUiOgeIfyD8rlA"
      decimals="-3"
      id="Tc_5Y6dGmYjmUS1GFUrHnN2Vg_9_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">763698000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_NwO579FCR0i4ySGSbHCsLw"
      decimals="-3"
      id="Tc_RYZopMkqKEmv-ex4bW_1yA_10_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">38408000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yQJQ-aGBok6DrEEpDw8CEg"
      decimals="-3"
      id="Tc_NK6DQHXfB0-vvffvNT8REA_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55904000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_PsEcgcW2Rkuq-evvxlR_MA"
      decimals="-3"
      id="Tc_IJuTTiUbo0i-LrSPvEUOYw_10_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57827000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_uF9p67fW4EGthH95IvGWxg_11_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Cyg2nzf_eESTCmUREQWB9w_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_1Yw28dEKlk6z1k8M2mVjhA_11_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_aPzcQ-1OJEKY5rdwBbok2A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">219836000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_3zvm7aPhbUKa-tz4RLhfuQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">406751000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_OUoggKmTNU-YczR6d8oz_g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 135,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 334,943&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,494&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,808&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 234,006&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 406,751&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_7xustRgK0ESQ0BDrD1_wDw_5_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37244000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_Sp4Sk6MIwkaJyeGlUian5A_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57770000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_rmlgTV4c5kOvTC3fc8d7wQ_8_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">135512000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_m15mZA4isUafYpuu7FuLYQ_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">334943000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_fIJyJP2fi0OgV82SSGaLKg_9_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">98494000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_lgpdiLluMU2esU5mrllzEA_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">71808000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_VeHME6ITLUaBm2JqsHEMog_10_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">234006000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_tfv3L6bhWk-6NbWMoZQ20Q_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">406751000</us-gaap:ContractWithCustomerLiability>
    <csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_zb2Rh2CKlkam6Z2zTTuM6g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;Shipping and handling &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Payments received from customers for shipping and handling activities are included in net revenues. Shipping and handling costs relating to sales of 134,248, $316,358 and $453,865, are included in selling and distribution expenses for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_LZqghPqAkk6Bxmy6cwoBWA"
      decimals="-3"
      id="Narr_xgSXfq6vAUSb_N06ukNSfA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">134248000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_nH-JblooIUyb8HKQ5YdPWA"
      decimals="-3"
      id="Narr_2uTgoNpxtEKQDsG3ljaVnA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">316358000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_0Mi09qqkYE2_g51uC4_0Qw"
      decimals="-3"
      id="Narr_diiHADQVmUCmehc_cP1MqQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">453865000</us-gaap:SellingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_p8av0hcpr0utP069bJsJHw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&#160;&#160;&#160;&#160;Research and development&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $45,167, $58,407 and $69,822 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_70024UuqSUilm4-A-KOHpw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45167000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_ehBxsrokBk6accUyHuF0dA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_H9O4U0FcgkSVIxaOGJiJ7A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">69822000</us-gaap:ResearchAndDevelopmentExpense>
    <csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_LHMtxuvSTEqPz4B8F4-6TQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, government grants received and insurance claims on weather-related project damages.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants primarily consist of unrestricted and restricted grants and subsidies. Unrestricted grants received that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income when it is probable that all the conditions stipulated by the local governments, generally for operating a business in their jurisdictions and compliance with specific policies promoted by the local governments, have been satisfied. Restricted grants received that are related to land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In most case, the attached conditions of grants are for a specific performance or duration related to the construction and acquisition of property, plant and equipment, achievement of business development plan, technology innovation, and human capital development. These conditions may be subject to review, audit and approval by the local government authorities and, therefore, could be different from the amounts recorded.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, the Company has $786 and $165,946 of government grants in other current liabilities and other non-current liabilities, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s other operating income, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (59,543)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net (gain) loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,259)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,091)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,802)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock>
    <csiq:GovernmentGrantsCurrent
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_ZjLyvbGja0q5ev-WjnyQgA"
      decimals="-3"
      id="Narr_ahvEEvTMF0WfCCkw-kEmOQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">786000</csiq:GovernmentGrantsCurrent>
    <csiq:GovernmentGrantsNonCurrent
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_50W6dFd9KU2OcetNs7GFbg"
      decimals="-3"
      id="Narr_W1ZFU2GSbkSyrZioiYw1RA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">165946000</csiq:GovernmentGrantsNonCurrent>
    <csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_lkOK_Z3u0k2oK4mlSUJeZQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,245)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (59,543)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net (gain) loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (253)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,259)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,091)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(Insurance claims on) weather-related project damages &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,025)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (25,523)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,068)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,802)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_us-gaap_GrantMember_Cis9K2_eck6PHNKuis7ifA"
      decimals="-3"
      id="Tc_z_l7m-BT-0aDXln4O7ms7g_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24245000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_XdcFPrOByki24h_aseU1Ow"
      decimals="-3"
      id="Tc_40WD4cX03UehM54guYkd_A_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">38468000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_KOmbQW_XX0OcZxtzG-YxuQ"
      decimals="-3"
      id="Tc_m_V0hm5TFU6tzOQTJwlA-Q_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59543000</us-gaap:OtherOperatingIncomeExpenseNet>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_JsxsyuyC_Ei2lM9rPwmTnw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">253000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_0SnXnCvTA0qr_SHiWCneZQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-83000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_K441F3TK502SvFRnHJ0BXQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4259000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_j9dstupcPEiJJ-QLbwt2AA_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10091000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:InsuranceClaimsOrWeatherRelatedProjectDamages
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Bvtezk94NESrOZRr_WZd1Q_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1025000</csiq:InsuranceClaimsOrWeatherRelatedProjectDamages>
    <csiq:InsuranceClaimsOrWeatherRelatedProjectDamages
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_SzVF22vyVUGrFkJgp2HtRw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1408000</csiq:InsuranceClaimsOrWeatherRelatedProjectDamages>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_i8QLjG0YL0S1Q_FunjrASA_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25523000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_XWQEeVsluE2JfAs25Jpygw_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_37i_ayBzJkKB7EGtkvz-3w_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">63802000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_P9GrOV0Ie0SU_PBxBuqgGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before 2009, the Company sold its standard solar modules typically with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In 2011, the Company increased its guarantee for defects in materials and workmanship to ten years. In 2019, the Company increased its guarantee for defects in materials and workmanship up to 12 years. In 2022, the Company increased its guarantee for defects in materials and workmanship up to 15 years or 25 years for certain module types, and the Company warrant that, for a period of 25 years, its Ku/Hiku modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 25th year, the actual annual power output decline of the module will be no more than 0.55%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 84.8% of the labeled power output. The Company has provided warranty against decline in performance for its bifacial module and double glass module products for a period of 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated warranty costs based on an assessment of its competitors&#x2019; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#x2019;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue from sales of solar module&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company warrants its battery storage products for a specific amount of time against performance or manufacturing defects. The warranty is typically for an initial term of 5 years from the date of installation, with an option for annual extensions for an additional 15 years. The Company continuously monitors its warranty failures and maintains a reserve for the related warranty expenses based on various factors, including historical warranty claims, results of field monitoring, vendor reliability estimates, and data on industry averages for similar products. Estimates related to the outstanding warranty liability are re-evaluated on an ongoing basis using best-available information and revisions are made as necessary. The Company has obtained warranties from its battery cell suppliers to back up a portion of its warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;For solar power projects built by the Company under EPC services, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions generally for a period of two years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up a portion of its warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up a portion of its warranties on solar module products. The insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy periods. The unamortized carrying amount is $528 and $264 as of December 31, 2021 and 2022, respectively, and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursable by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance companies are monitored to ensure the claim has been submitted to the insurance companies, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances, and the measurement of expected credit losses. To date, no provision has been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates or the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Warranty cost &lt;/span&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation as described above and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds are expected to be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $87,729 and $84,474 as of December 31, 2021 and 2022, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made upward adjustments to its accrued warranty costs of $4,089 for the year ended December 31, 2022, to reflect the increase in average selling price of solar modules as well as the volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $26,931, $45,053 and $68,411 are included in cost of revenues for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</us-gaap:StandardProductWarrantyPolicy>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"
      id="Narr_EMKs9yucUUmokuC819HGug">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"
      id="Narr_tuoHBcR_LUaW_Hdu1vcGEw">P10Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"
      id="Narr_TsxsEyPZN0KR2Ei9Bhkbjg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"
      decimals="2"
      id="Narr_-S1nb0_aPE6BibxI6IjtAQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.10</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember__CzZG1MuUUW220k-WSqFGw"
      decimals="2"
      id="Narr_6jhxV0n-7E2ZzyBHqS8GeA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_gLcKlZl-kk67YMls4IQopQ"
      id="Narr_N4sxwUFhVEORi6_oqxtViQ">P6Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_wmfHwEfsuk2ZREWFuxSF2A"
      id="Narr_GYVxStTgzUKPsC67vXnF0Q">P10Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_LLk_r32O5ka0F-Q3TQs8Eg"
      id="Narr_EmcikXWTmkqGKIR1-sk6hA">P12Y</csiq:InsurancePolicyTerm>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ"
      id="Narr_Iu47OyrXSEyIqqILGmhXsg">P15Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_kkm1FEXD6UqVH9qYS4TLyQ"
      id="Narr_a-a-6wH7Mka-GsTg4PRdBg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_XVW-DrJn3kmQJrD5gKP3Ow"
      id="Narr_pRblcksfa0O8qsHB0JhV1w">P25Y</csiq:InsurancePolicyTerm>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_QH--l-EzwkCARXsrvQ1KBQ"
      decimals="3"
      id="Narr_AWIkC1tFPUy31fLpvdUKpQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.975</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_qU553kM98kqJHM7_K-MI8Q"
      decimals="4"
      id="Narr_jW9g6EZWF0Wml33552Frww"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0055</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_sTgGX3ZZXEmyBr1fdWAa2w"
      decimals="3"
      id="Narr_6GUr79Nu7kKHnjMAYbJQDw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.848</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_pX0YoB0fc0ymta8IWAcl2w"
      id="Narr_53P5dJIx3ESzSpYywlpZpg">P30Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_Utz8sxmYokKDI-Rri7SLfg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.01</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ"
      id="Narr_Rki3dEqr0USEJSCpQEB67Q">P5Y</csiq:StandardProductWarrantyPeriod>
    <csiq:StandardProductWarrantyExtensionPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_oECOYDlG_ka3s4a2iRVHUQ"
      id="Narr_seBKWDWt5U-s6ALjQO_fBQ">P15Y</csiq:StandardProductWarrantyExtensionPeriod>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_ISmaP2himka-UgYYG4kcyQ"
      id="Narr_8ZBy7QYkJkSnTGsP7PFmYw">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_5k-bJnkw8ki_9-g-_3PZFg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">528000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_6Yjliqt360WhLfV3MLVuAg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">264000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_-RmpBNzv2kirU9Ty4dodig"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">87729000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_zAYPYE0v7ESWNZmNdshIQQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">84474000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <csiq:OtherNoncurrentAssetsAdjustment
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_Aeak2e5qA0aBw5pF54fYZQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4089000</csiq:OtherNoncurrentAssetsAdjustment>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_A45rQHcgQ0W2oi_JppP6lA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26931000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_vUGvP6Oc3Eee37vgpK96Dw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45053000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_V0b9f1uIskqJSmcszKVbVA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68411000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_xWCqEmoewE6mvGhZesgfbg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen, Brazilian reals (&#x201c;BRL&#x201d;) and Australian dollars, which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_ozS8H-XTBk6SNmfQSMftFw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#160;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i) net income, (ii) foreign currency translation adjustments, including gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities, (iii) the unrealized gains or losses (effective portion) on and de-recognition of derivative instruments that qualify for and have been designated as cash flow hedges and (iv) unrealized gains or losses in fair value of available-for-sale debt securities. &lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <csiq:ForeignCurrencyRiskPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_TopctAHZbkW0h5BWlujxSQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Foreign currency risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2020, 2021 and 2022 were denominated in U.S. dollars, Renminbi and Euros, with the remainder in other currencies such as Japanese Yen, Brazilian reals, Australian dollars, South African rand and British pounds. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, such as PV glass and aluminum, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars, Japanese yen, Brazilian reals and Euros. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi and U.S. dollars. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thai baht, may result in foreign exchange gains or losses. The Company has hedged part of its foreign currency exposures primarily against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;</csiq:ForeignCurrencyRiskPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_A7w3ay5CtEKYVJ8dKOYdpA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company&#x2019;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for credit losses primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials and equipment. The Company performs ongoing credit evaluations of its suppliers&#x2019; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#x2019;s expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2021 and 2022, gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2022.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_LWqlNFSg70mv9e7RXnwdxA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:28.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;As of December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,359&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,257&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.8%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;(1)&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"&gt;Not in excess of 10% of total advances to suppliers as of December 31, 2022.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_DqCGjBlLcUa1YsQICKplZg"
      decimals="-3"
      id="Tc_niJBql-brUG5YIeeog0vpg_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37117000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_nTbR9xLPK0e_7XFspXEclw"
      decimals="-3"
      id="Tc_ux9Csiqgo06-xglIq_1iTQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35359000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierBMember_9W-QDuThU0GfavSDhUpnIw"
      decimals="-3"
      id="Tc_RY5WhwyapUetz8-orlEbfA_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">52257000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2021_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierCMember_1xyqd3FEgkeYbZq2seVRVQ"
      decimals="-3"
      id="Tc_1Wc8dlTYIUmcTUJuRsjuVA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36026000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_D8UMx70TmkKX4LcnrKb-6A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritizes the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s money market fund included in cash equivalent, restricted cash balance, mutual funds to satisfy its obligations under its employee deferred compensation plan and listed equity securities for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_KbQJU58aBUO4nSon2zUUsw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting. ASC 815 provides for three different ways to account for derivative instruments: (i) as a cash flow or fair value hedge; (ii) as a mark-to-market agreement with changes in fair value recognized in current period earnings; or (iii) as an accrual agreement, if the criteria for the normal purchase normal sale exception are met and documented.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from non-functional currency-denominated monetary assets, liabilities and cash flows, and to hedge its commodity risk exposure to losses from raw material price fluctuations. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using observable inputs obtained from active markets or pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty with the Company, as necessary. &lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_6Spkp7fsqE23aNCC945qZw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Earnings per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings per common share is computed by dividing income attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_nTxB4ORWLEeXGAwZL398hA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;) with a time-based vesting condition, is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting period. The share-based compensation expense related to the award which contains both time-based and performance-based vesting condition will be recognized when it is probable that the performance-based condition will be met. The probability of the performance condition to be met is not reflected when determining the fair value of the award.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <csiq:UnusualOrInfrequentItemPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_dwGED6Uphk-g-9gyKk0bhA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#160;Risks and uncertainties related to the COVID-19 pandemic&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The COVID-19 pandemic has continued to pose significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. The extent to which the COVID-19 has and may persist to impact the Company&#x2019;s ability to effectively operate continues to be highly uncertain. The outbreak continues to evolve, and the impact that COVID-19, or new variants of COVID-19, will ultimately have on the Company&#x2019;s result of operations, financial condition, liquidity and cash flows cannot be estimated and is impossible to predict. The Company will continue to monitor and adhere to the policies, lockdowns, restrictions, and preventive measures implemented by the various government authorities, as well as general movement restrictions, social distancing and other measures imposed that may continue to evolve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of the date of issuance of these consolidated financial statements, the Company is not aware of any specific event or circumstance that would require updates to its estimates and judgments or revisions due to COVID-19 to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the consolidated financial statements as soon as they become known.&lt;/p&gt;</csiq:UnusualOrInfrequentItemPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_HU2W9QyEwU60ZwFXliF_tg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(al)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In January 2020, the FASB issued ASU No. 2020-01, which clarifies that a company should consider observable transactions that require a company to either apply or discontinue the equity method of accounting under Topic 323, Investment &#x2013; Equity Method and Joint Ventures, for the purposes of applying the measurement alternative in accordance with Topic 321, Investments &#x2013; Equity Securities immediately before applying or upon discontinuing the equity method. The amendment was effective for fiscal years beginning after December 15, 2020. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In March 2020, the FASB issued ASU No. 2020-04, &#x201c;Reference Rate Reform (Topic 848)&#x201d;, to provide optional expedients and exceptions for applying generally accepted accounting principles to contracts, hedging relationships, and other transactions affected by reference rate reform if certain criteria are met. The new guidance is effective, at the Company&#x2019;s election, beginning March 12, 2020 through December 31, 2022. In addition, in January 2021 the FASB issued ASU No. 2021-01, &#x201c;Reference Rate Reform &#x2014; Scope,&#x201d; which clarified the scope of ASC 848 relating to contract modifications. In addition, in December 2022, the FASB issued ASU No. 2022-06, &#x201c;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848,&#x201d; which deferred the sunset date in Topic 848 from December 31, 2022 to December 31, 2024. The ASU 2022-06 became effective upon issuance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(al)&#160;Recently issued accounting pronouncements (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;With the planned discontinuation of LIBOR as a benchmark in June 2023 the Company has evaluated alternatives for its debt that utilizes LIBOR as a reference rate. The Company has $208,621 of LIBOR debt as of December 31, 2022 and projects the balance will be approximately $185,326 by the June 2023 discontinuance date. All of the Company&#x2019;s LIBOR debt agreements contemplate a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR, with no exposure to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In August, 2020, the FASB issued ASU No. 2020-06, Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity (ASU 2020-06), which simplifies the accounting for convertible instruments by reducing the number of accounting models available for convertible debt instruments. This guidance also eliminates the treasury stock method to calculate diluted earnings per share for convertible instruments and requires the use of the if-converted method. The new standard was effective for the Company beginning January 1, 2022. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In October 2021, the FASB issued ASU No. 2021-08, Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers, which require that an entity (acquirer) recognize and measure contract assets and contract liabilities acquired in a business combination in accordance with Revenue from Contracts with Customers (Topic 606). At the acquisition date, an acquirer should account for the related revenue contracts in accordance with Topic 606 as if it had originated the contracts. The amendments in this update also provide certain practical expedients for acquirers when recognizing and measuring acquired contract assets and contract liabilities from revenue contracts in a business combination. The standard is effective for interim and annual periods beginning after December 15, 2022, with early adoption permitted. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In November 2021, the FASB issued ASU No. 2021-10, &#x201c;Government Assistance (Topic 832): Disclosures by Business Entities about Government Assistance&#x201d;, to increase the transparency of government assistance received by most business entities by requiring the disclosure of: (1) the types of government assistance received; (2) the accounting for such assistance; and (3) the effect of the assistance on a business entity&#x2019;s financial statements. The Company adopted this new standard on January 1, 2022 and the adoption did not have a material impact on the Company&#x2019;s consolidated financial statements. See note 2(aa) for discussion regarding such amounts recorded in 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In September 2022, the FASB issued ASU No. 2022-04, Liabilities-Supplier Finance Programs (Subtopic 405-50) - Disclosure of Supplier Finance Program Obligations, which requires that a buyer in a supplier finance program disclose sufficient information about the program to allow a user of financial statements to understand the program&#x2019;s nature, activity during the period, changes from period to period, and potential magnitude. The amendment in this update is expected to improve financial reporting by requiring new disclosures about the programs, thereby allowing financial statement users to better consider the effect of the programs on an entity&#x2019;s working capital, liquidity, and cash flows. The new standard is effective for fiscal years beginning after December 15, 2022, except for the amendment on roll forward information which is effective for fiscal years beginning after December 15, 2023. The Company is currently evaluating the impact of adopting this new guidance and the potential effects it could have on the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_us-gaap_VariableRateAxis_us-gaap_LondonInterbankOfferedRateLIBORMember_pS4YOMFg7UGetpJmSLjrVA"
      decimals="-3"
      id="Narr_vJpReTPQJUm1dZ8wiipMgw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">208621000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_suaZpF3p8Ui21dmFf_HEmw"
      decimals="-3"
      id="Narr_JaGU2RPafE67xl8XU4y3fw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">185326000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:AllowanceForCreditLossesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_RycUXeaG3k6bxq_RxapCsA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&#160;ALLOWANCE FOR CREDIT LOSSES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Allowance for credit losses is comprised of allowances for accounts receivable trade, advances to suppliers and other receivables. Other receivables were included as a component of prepaid expenses and other current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Accounts receivable trade, net consisted of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable trade, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,498&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,020,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,126)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (49,930)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable trade, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 651,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 970,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Advances to suppliers, net consisted of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances to suppliers, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,800&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320,211&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,682)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,375)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances to suppliers, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 260,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 318,836&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Other receivable, net consisted of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other receivable, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 280,350&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 129,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,397)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,999)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,196&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table presents the change in the allowances for credit losses related to the Company&#x2019;s accounts receivable trade and advances to suppliers:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Advances&#160;to&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts&#160;Receivable&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Suppliers&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Trade&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&#160;Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cumulative-effect adjustment for the adoption of ASU 2016-13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,647&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (639)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,490)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (141)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,424&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (109)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,295)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,436)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (834)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,930&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,374&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesTextBlock>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw"
      id="Tb_Vxd2exGCIUub3hPs3BmR8g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable trade, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,498&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,020,880&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,126)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (49,930)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable trade, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 651,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 970,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A"
      decimals="-3"
      id="Tc_PmfcdTWUTEW2CEwYuTXK-A_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">698498000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ"
      decimals="-3"
      id="Tc_TIXodQtLfE6CAq0fbSIu9w_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1020880000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A"
      decimals="-3"
      id="Tc_urVvTCO34USqsieNuJN45w_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ"
      decimals="-3"
      id="Tc_blwv8U9T_kaxVhJAU4zp_g_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49930000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A"
      decimals="-3"
      id="Tc__myy7LGPK0qUITDdfUHI9g_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">651372000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ"
      decimals="-3"
      id="Tc_B4097ic7YEO0CPuP6ROw8w_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">970950000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_iiRLL9PbM0ei1plmlXmJQg"
      id="Tb_v28bvE9mX0OO0ADZNN9s9A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances to suppliers, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,800&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320,211&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,682)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,375)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Advances to suppliers, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 260,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 318,836&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw"
      decimals="-3"
      id="Tc_z79u3WOqGEmp_VcuqYHSQA_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">279800000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA"
      decimals="-3"
      id="Tc_gu5ozxflj0WXt6KhuSOcGQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">320211000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw"
      decimals="-3"
      id="Tc_BAaTGQjGrkej1UTUqNP18A_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19682000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA"
      decimals="-3"
      id="Tc_Gi1mTbYm6keo4sMd4aYcZQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1375000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_moglfbh47keV-mTt7e87Iw"
      decimals="-3"
      id="Tc_3TOZlHtkK0-duf0LrpXLfw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">260118000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_mquTjSN7KUOCuNS87_2MSA"
      decimals="-3"
      id="Tc_v8JxcaJdyUy3bjtRdXivnw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">318836000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rJWWHxg8vkG2JFRadWYidQ"
      id="Tb_fDnTszFmX0apYDoDSzdZNA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other receivable, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 280,350&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 129,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,397)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,999)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.2%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 270,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,196&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg"
      decimals="-3"
      id="Tc_G12xEkMAKkGhZCm5Vkqj_g_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">280350000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w"
      decimals="-3"
      id="Tc_zv_R-PJ7fkulX9NzdaDynw_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">129195000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg"
      decimals="-3"
      id="Tc_Bi_e9KojbEaA2g3veNkB3Q_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9397000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w"
      decimals="-3"
      id="Tc_ynMzzJbG3UmOguKg0ivwMQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9999000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_rDxJDpSRT0CIy5xhqq8Czg"
      decimals="-3"
      id="Tc_qx5KfBwQMEi5ch10iSJypA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">270953000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_CNoKnZysKUqpotMeu8he-w"
      decimals="-3"
      id="Tc_lx0lqUoPXEWtgVE6yJ4Fgg_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119196000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_0nSM5Dwu90itBGfYO3d8oA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:9pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Advances&#160;to&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts&#160;Receivable&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Suppliers&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Trade&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Other&#160;Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Cumulative-effect adjustment for the adoption of ASU 2016-13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,647&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (639)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,490)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,602&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (197)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (141)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 186&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Provision for credit losses, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,424&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Write-offs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (109)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,295)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,436)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (834)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance as of December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,930&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,374&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_L8ECMlBnzU6k_pRy7P96xQ"
      decimals="-3"
      id="Tc_VvVuhL-ZV0Ctg8yG_cfrIQ_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_p78HETWA0US7Mi5JE9YJUQ"
      decimals="-3"
      id="Tc_JVeTkfp9CkOvvzdb8r-3RA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31712000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w"
      decimals="-3"
      id="Tc_jJIFD46Y7keohalL4BdJ9Q_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-9785000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw"
      decimals="-3"
      id="Tc_wGDZI--leE2WP7LCKDAbXw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1647000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w"
      decimals="-3"
      id="Tc_QM-26mGUcEa_e2wS_J5A_Q_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">639000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw"
      decimals="-3"
      id="Tc_ZDTynoxsV0CFHX6q4FNuUg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5490000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_wimfC4pulUObarWA71BE2w"
      decimals="-3"
      id="Tc_fRJLhwecck2LcRl8x980Sw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1602000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_90bhWR3i-UulJo-MHbS8Hw"
      decimals="-3"
      id="Tc_F7lXYQRkakquLrq1tvTdNg_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">633000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Tnaw2BfUb0uCh_vlNGe3Sw"
      decimals="-3"
      id="Tc_fktrHg9gbUqIUqen6QLGIQ_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40293000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_yRzeOWSg_U-6iY6zqoCvjQ"
      decimals="-3"
      id="Tc_OYFkUhXlFEWuWKcpBydCjw_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">28502000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw"
      decimals="-3"
      id="Tc_ZuaDTxEkOUuSo0jGflsfgw_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-7171000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ"
      decimals="-3"
      id="Tc_mKCbE20RCEO1kbJaTC0MOQ_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-444000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw"
      decimals="-3"
      id="Tc_2fjjtObs00qnL9Sv9cFxnA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">197000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ"
      decimals="-3"
      id="Tc_3hcMDLJtqkO_xkgN8V_prw_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_f4Dbrs2JNUuGN7fwPV6pDw"
      decimals="-3"
      id="Tc_v0G4Vd3EZUOL-o8oVolWZA_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-141000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_gVK4_wu20kKRxd3AJADobQ"
      decimals="-3"
      id="Tc_sARPnvhtrkiUMRCL0fYZbw_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">186000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4YpPMBuP5k-c53Y3cR1g9A"
      decimals="-3"
      id="Tc_Pi6RPTlS2kyBJWkJLC3jyQ_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_75L7WSTPP0eB5J1UMjxHvQ"
      decimals="-3"
      id="Tc_maBrzMCEKkOUlpqsSn1BNQ_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29079000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw"
      decimals="-3"
      id="Tc_schz2jl8okSw0dE4P-WaqQ_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4349000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA"
      decimals="-3"
      id="Tc_gzpejZ0on0KCU2Asq4xfng_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1424000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw"
      decimals="-3"
      id="Tc_mqghAh14s0mO87OZg9Lung_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">109000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA"
      decimals="-3"
      id="Tc_iSzC6ZM-aUKxEfAZze0JiA_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18295000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TlE0_f_MzEWqaFzsUv0SNw"
      decimals="-3"
      id="Tc_8V3SKtgouUG6y-zb4ze2Nw_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1436000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_XWNO_i7UJE28Xosyw313xA"
      decimals="-3"
      id="Tc_fIYTWyyh-k-VPMMS4i5OhQ_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-834000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ"
      decimals="-3"
      id="Tc_RfEG4PCBNkGxdvIzkmLYoQ_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49930000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersAndOtherReceivableMember_EWAhNK7qBEiz1R7gKwOVdA"
      decimals="-3"
      id="Tc_hzjO17gl002_Rc4fpFKLzQ_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11374000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_KzN9aZLq-kyD344ZlEIBYQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;4.&#160;INVENTORIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Inventories consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,433&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 310,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,109&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 919,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 948,592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,192,374&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,524,095&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Finished goods include modules of $163,078 and $161,138 as of December 31, 2021 and 2022, respectively, that allow solar energy systems to qualify for the U.S. Federal Investment Tax Credit by satisfying the 5% safe harbor method outlined in the U.S. Internal Revenue Service (IRS) guidance notice.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2020, 2021 and 2022, inventory was written down by $42,907, $14,070 and $7,475, respectively, to reflect the lower of cost and net realizable value.&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_xMYB-YAerkSJFT-KvJwe0Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,433&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 310,394&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,109&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 919,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 948,592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,192,374&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,524,095&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_zWvUYFRhcUWQUCooNX4wjw_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">155433000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_teGQHAp74k2pVhTg0d_WGQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">310394000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_ZlaJyhDiuEizfzoSb_hcmw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">117509000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_lkG86g8UcEqlArepCC0I9g_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">265109000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_FFdH6t4k_Emylo4c_eamxg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">919432000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_A4xbIvLoc02jhldPC0lncw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">948592000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_O77dsvunZUK7asMRm12_wQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1192374000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_JR9xq0B9F0yeHJIGDEr17g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1524095000</us-gaap:InventoryNet>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_ENFc4oz3pUayfxQD3BdnJw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">163078000</csiq:FinishedGoodsModules>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_MKVrOyf6lECYiK-TJXs91w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">161138000</csiq:FinishedGoodsModules>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_t9jbS7o4wEq-jL-0VYrInQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_aQgbJw_uKUuM_5gFi0oYqg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">42907000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_W-XOK48yoUqiNcxtNozVtQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14070000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_TqMZytchikmi-9nrm8jnNQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7475000</us-gaap:InventoryWriteDown>
    <csiq:ProjectAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Hhr-DtVayE65KRfaOP7xjA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;5.&#160;PROJECT ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Project assets consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Development cost, including project acquisition and land cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444,858&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other construction cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 379,635&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,361&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,493&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594,107&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 385,964&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 433,254&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment loss on project assets of $369, $17,152 and $1,674 for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of project assets was $10,197, $17,316 and $26,439 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</csiq:ProjectAssetsDisclosureTextBlock>
    <csiq:ScheduleOfProjectAssetsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_PfpbMnyFVkmK1TB4VzQXWg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Development cost, including project acquisition and land cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 558,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444,858&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other construction cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 469,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 379,635&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,361&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,493&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594,107&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 385,964&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 433,254&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 438,529&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfProjectAssetsTableTextBlock>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_cqplQ8KglECqaBAuXxdbjw_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">558244000</csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_i2gPNlgtZk263R8skttzeg_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">444858000</csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pMyjgLR8ZE2GGcIv6SC9Zw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">469117000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_XCxalixpY0azavmhmzRNWg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">379635000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_CRUelvGRykyBMGDmetcLpQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1027361000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ChIek-bLIk-loizuIKAFSw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">824493000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_BDwoioYcGkaGc8pNchYuNQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">594107000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_KIUP5WLIsU-M8M3OD-zyXA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">385964000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_4UarGr-8YUuPuOrt32-2ig_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">433254000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_F_0TrhxYpEGrRPtSglZsrg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">438529000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_rZoYnfYJMkiu4MKW3mwdLQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_LvvmO2IdwkW8yqt1i4M5CA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_WsWbvLT_L0i5eThXtc9TxQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1674000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_87kkCInZDEevPBEgPiok_A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10197000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_AS3N1tes5EqQ3yrOyFfQxg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17316000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_JhbsXH2zIEC1q4CpX7a2-Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26439000</csiq:InterestCostsCapitalizedProjectAssets>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Ea3SEjJbF0WhZWfseGgWwg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Property, plant and equipment, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 720,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 764,577&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,812&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,896&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,441,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,470,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,928&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,527&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Freehold land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,691&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,285&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,320,885&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,376,170&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,019,988)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (908,888)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,300,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,467,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,826,643&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation expense of property, plant and equipment was $197,600, $266,956 and $225,351 for the years ended December 31, 2020, 2021 and 2022, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. &lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_8ltJN4EUWESs11PpacS0Ug">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 720,367&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 764,577&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,812&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,896&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,441,546&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,470,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,928&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,527&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Freehold land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,691&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,285&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,320,885&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,376,170&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,019,988)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (908,888)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,300,897&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,467,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 359,361&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,401,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,826,643&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_gfXGQOyaFEO2_sp_c_F8Zw"
      decimals="-3"
      id="Tc_xO76BdW2pE6aA4YsRuwF9Q_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">720367000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_8gQ9fsAY-UmW7ELwpxGuzQ"
      decimals="-3"
      id="Tc_phZFxSLWrUCrPg8YnE_ZfA_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">764577000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_1mIRjU6lP0-DSiicZUGNgw"
      decimals="-3"
      id="Tc_Gm3ubo0Ex0mn049ru3N0xw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32812000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_USB4L6ldy06cUYWJca0DQg"
      decimals="-3"
      id="Tc_IWGaWx200kyn9P3XzOlIhA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30896000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Bo_sDyB3vECHrFSC4hxypQ"
      decimals="-3"
      id="Tc_MyIOZdfZY0uN-DuFEyPezA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1441546000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_Sj89mQPxAU6ZVsFclKWlzw"
      decimals="-3"
      id="Tc_RIzcZkRFtkuwRu1l8gKnwA_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1470957000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gZ4gWDEii0irn4i7bXD3Bw"
      decimals="-3"
      id="Tc_9CTbaPJtqkKVotTxPKgTHg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">84694000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_zhKs-R2evEahQu9K62SZ-w"
      decimals="-3"
      id="Tc_EfKaG_J2IEeMdG3srEc8RQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58928000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_wijJkgzxZ027fvPvxS8irw"
      decimals="-3"
      id="Tc_f0x7VfSKRkae6dBdSGG2Tg_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9775000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_ePFm11INK0W8r1eAfnckyw"
      decimals="-3"
      id="Tc__AmXtrleTUylnkzaYfDIUg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11527000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_h3tGW7fuLkuwOWCkQk-Gjw"
      decimals="-3"
      id="Tc_f02SOevQGkmkp89PE9ZNow_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31691000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_orL2HGkd90uS6LEedncvaw"
      decimals="-3"
      id="Tc_RoueAKoN_UmZcnYfkK5D2Q_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39285000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_E-68cIGlf0eXBXWK2rDGxA_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2320885000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_6iJ--H4r-U6wMbPVAyxfYA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2376170000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_x4GdwztBvECST-R9Nf0f-w_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1019988000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_O9XA8Avz60uTPuJV67Rjbg_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">908888000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_m1oj9_IZo0uc7VIEd-gwzA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1300897000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_T3i88oOA7kuLX11BsCyMZQ_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1467282000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_h_cP4q01GEyK9WuuCXPIAw_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">100980000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_uFsDv6TD9kqSXcJffIjqYQ_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">359361000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_k5qHB1b3jk6iZvAcClTSIw_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1401877000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_4vYX-zacwEO5dPudEJm5hw_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1826643000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_NSbT9Gz1G0e15ihmwmXVSg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">197600000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_sPoFwECVeU6zL84rmFHUSA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">266956000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_9NB-Ki_Cp0qceO2EIaJqCw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225351000</us-gaap:Depreciation>
    <csiq:SolarPowerSystemsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_Vw5WaLFyZk-IAsIEGpQlNw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;7. SOLAR POWER SYSTEMS, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Solar power systems, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,339&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,684&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 209,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 381,907&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,760)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,091)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,263&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company reclassified certain project assets of $117,560, nil and $263,710 to solar power systems during the years ended December 31, 2020, 2021 and 2022, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale or storage of electricity.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation expense of solar power systems was $6,396, $11,212 and $4,074 for the years ended December 31, 2020, 2021 and 2022, respectively. Interest capitalized during development and construction of solar power systems, net was nil, nil and $18,666 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</csiq:SolarPowerSystemsTextBlock>
    <csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_OtuKbogtW0-_FjUYvsCpGg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,339&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,707&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,684&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 209,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 381,907&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,760)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,091)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 108,263&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_N2Ubp5RqcEiFmKGlN3x7gw"
      decimals="-3"
      id="Tc_tlj8lv7rbUKCoSF0UeEX-Q_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">117339000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Ns5vpw4-v0uzgbOYUuZXfQ"
      decimals="-3"
      id="Tc_MsvNCct0JEixEEI5gAMy5Q_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">172707000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_5iPj7Xch6EiY5_ZYLOJnGA"
      decimals="-3"
      id="Tc_4SjeyVjtZ0aXeLI7Oc5ltQ_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4684000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_XPnQDzHGPkGH-g_0awJQIQ"
      decimals="-3"
      id="Tc_fFLR2gDX_Umbj2EYrmvdvQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">209200000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_2mdT0CNqDUKwJ3fCkUCgCQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">122023000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_b4EMV5zjCEGv7UKSuWFCLg_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">381907000</csiq:SolarPowerSystemsGross>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_UC_iMhTU6EOWyNnYZTPFuQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13760000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_XBbYIMvWY024ZCKv1cx3bw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17091000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_1a0flYWxHUKrgwtmjiqTwQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">108263000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_25OLEDD4o0KX1-c1fYuhdA_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">364816000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_lqzmswLxvEaaO9hypq-Skw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">117560000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_06FYy80jyEmQ3kkalsjhMw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_O9P9jK3RxkG8cwpUt5xHAw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">263710000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MqGHYPqVzE6VvcN0NIKIUA"
      decimals="-3"
      id="Narr_47aoNbtGbEyRYLqrGFY8mQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6396000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_FfyDW-3hBkKI55u6xIkFmA"
      decimals="-3"
      id="Narr_1DG30PHApkG8lIXhvneF6g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11212000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_M-uNWuNMsk-lb1V79YbMdA"
      decimals="-3"
      id="Narr_bAhi_nm9X0ebGUrLMVVUHA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4074000</us-gaap:Depreciation>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_kcnhq3RPKkirFezzp5Zv1g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_1Q0Jcz5NOUKolUM9CoUB1w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_M8CFuVK_SkKvWUg5m4D8-Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18666000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_7dUWLYcBqUKekh3Mgrgt3A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8.&#160;INTANGIBLE ASSETS, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s intangible assets, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,430)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,131)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,517&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,561)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,530&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,082)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,644)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Amortization expense for the years ended December 31, 2020, 2021 and 2022 were $5,122, $4,601 and $3,586, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Amortization expenses of the above intangible assets are expected to be approximately $3,102, $2,627, $2,186, $2,031, $1,977 and $5,607 for the years ending December&#160;31, 2023, 2024, 2025, 2026, 2027 and thereafter, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_3ePQyF-kfUmXbbVvig0Kdg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,430)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,131)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,517&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,561)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,530&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,577&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,059&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,082)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,636&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,644)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ"
      decimals="-3"
      id="Tc_T_FsZsRk_EuP7TzJBjOMlw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1443000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ"
      decimals="-3"
      id="Tc_Ce-c4dTroU6VJu4_QqYyzA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1430000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_lwSnaCpSHkGUx6mmxsaDtQ"
      decimals="-3"
      id="Tc_pQd9gE-FMkWTXPz9ErI5xw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA"
      decimals="-3"
      id="Tc_BKMo3W2z80iW61hfu1yLUw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37648000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA"
      decimals="-3"
      id="Tc_4SL2DX-7uUuEaZCIPKyI3A_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20131000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_LnQeMvWVfkuglkZvpFnobA"
      decimals="-3"
      id="Tc_hHnnvqW6JEed_qKW5zj18g_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17517000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_a3yNwFqlSEiGOiNpnMislA_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39091000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_YaRJfjBj00a0zOSW2S6xAg_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">21561000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_BV6DSRe7xEmlMtK4yui9yA_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17530000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA"
      decimals="-3"
      id="Tc_Gg4FQbXkpkO_tMXn5qgWnw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1577000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA"
      decimals="-3"
      id="Tc_xMiMjIUvEkKGHcBfcy5IrQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1562000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_UDr3-gQDu0-jxSYqtvyFIA"
      decimals="-3"
      id="Tc_C5C5wQCbbky3p4UUIvWC3w_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg"
      decimals="-3"
      id="Tc_7sGW9rm-lUmukbthiHBpJQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39059000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg"
      decimals="-3"
      id="Tc_ac_m3_mRukKxI4DIwX8vDw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20082000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_hbvubQY3T0WU5uITrWTkqg"
      decimals="-3"
      id="Tc_ry729HAUQ0eXZXfHDxafgA_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18977000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_6agSFPd_PEiuw96__Kpk2Q_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40636000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_rbqs9MgVW0iNpKa8jYJd5g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">21644000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_SglzuZJuwUyToya2ZELoOg_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_NkTpXAb8K0a9S7-TzEx1zQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5122000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_ILDr3N4gU0KA77Lp9JolPw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4601000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_s8H87jehdEetJapMt5coRw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3586000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_7iyKVF_Ul0yPu6FxQLavgw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3102000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_Vqjpxz4aFUGdYbs8NoF93g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2627000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_XcH8svmA9kSGviabSUAAQg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2186000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_SPUwAmMNdke5QZxqGi8gzQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2031000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_koaSwk0wKkyQ6tb45aACFw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1977000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_2gxS4sqPAkWB3lei8oI06A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5607000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_YxUP6TMg1ESyBNDhuYFqJg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2021 and 2022, with the exception of its listed equity securities, mutual funds to satisfy its obligations under its employee deferred compensation plan and money market funds which were measured based on unadjusted quoted prices for identical assets in active market (Level 1 inputs), the Company&#x2019;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs (Level 2 inputs). &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Foreign exchange&lt;/span&gt; &lt;span style="font-style:italic;font-weight:bold;"&gt;option and forward contracts&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Brazilian reals, Euros, Canadian dollars and South African rand. Since its derivative instruments are not traded on an exchange, the Company values them using standard industry valuation models. As applicable, these models use market-based observable inputs, including credit risk, foreign exchange rates, forward and spot rates for currencies. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are considered as Level 2 inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest rate swap and commodity hedge&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In July 2020, the Company completed the sale of its class B membership interests in the Roserock project to an unrelated third party, and consequently the Company&#x2019;s interest rate swap contracts with total notional amounts of approximately $399,000 were paid off following the loan repayment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;In 2021 and 2022, the Company entered into interest rate swaps to manage part of its interest rate risks, and entered into commodity hedge to manage part of its risks of rising raw material costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The estimated fair value of interest rate swaps and commodity hedge was measured based on observable market data, which were considered Level 2 inputs. The unrealized gains or losses on interest rate swaps that qualified as cash flow hedges were recognized in other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2021 and 2022 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2020, 2021 and 2022 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,576&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 210&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,362&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,580&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,104&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,255&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;of&#160;Gain&#160;(Loss)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recognized&#160;in&#160;Statements&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gain&#160;(Loss)&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Statements&#160;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,807&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,388)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,019)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,001&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (44,489)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Marketable securities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd, listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd, valued at RMB 91,370 (approximately $14,003) on the transaction date as part of the consideration. These shares were classified and accounted for as available-for-sale, and were carried at fair value of $20,195 and $18,337 as of December 31, 2021 and 2022, respectively, included as a component of Prepaid expenses and other current assets. Unrealized gains on these shares of $1,048 and $4,744 were recorded under investment income in the consolidated statements of operations for the years ended December 31, 2020 and 2021, respectively, and unrealized losses of $418 were recorded for the year ended December 31, 2022 under investment income (loss), net, in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other fair value measurements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. The Company assesses ROU assets for impairment quarterly. If the carrying value of ROU asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recorded impairment charges for certain solar product manufacturing asset group of $11,854, $6,084 and $60,330 for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of CSI Solar segment on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company recorded impairment loss on project assets of $369, $17,152 and $1,674 for the years ended December 31, 2020, 2021 and 2022, respectively. The fair value of project assets was measured based on prices offered by unrelated third-party willing buyers and classified as Level 3 fair value measurements as the offering prices are not observable. The impairment was recorded as cost of revenues on its consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivables, accounts payables, short-term notes payable, amounts due to related parties, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $523,634 and $813,406 as of December 31, 2021 and 2022, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as Level 2 as the key inputs can be corroborated with market data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The carrying value of the Company&#x2019;s outstanding convertible notes was $224,675 and $225,977 as of December 31, 2021 and 2022, respectively, which approximates the fair value.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A"
      decimals="-3"
      id="Narr_qpohmbetHUuuxiezURpg2g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">399000000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_tZX-F4JpVkyyLRCOOJ0H1w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,576&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 210&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,362&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,580&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:65.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,104&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,255&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.76%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,622&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,359&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_wOxwUD6MGka9zgElNdFRQA"
      decimals="-3"
      id="Tc_aApPzehL2EeTnOx26Z5Sug_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7124000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_M3Y8LOcSgU6xU3sdENlNxQ"
      decimals="-3"
      id="Tc_FHzE7BLGfEG9hh2F5GbhSA_5_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7730000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_CkXhBctMJE-vHz-9Mb1W0A"
      decimals="-3"
      id="Tc_UimWKZ0KdUirCULJAQEe2A_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">162000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Kx6cBoXg4UON4z0sH4As1g"
      decimals="-3"
      id="Tc_FIWjNjZ4kUSJocDLeeOTyg_6_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9576000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_KOr5_Jtbv0uirWAmY3Av6w"
      decimals="-3"
      id="Tc_NwmhGgLQ2EOvzaMpQvdq8Q_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">210000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tzisCoXcakiNFwDVP8wwnA"
      decimals="-3"
      id="Tc_AMUxecTI00-vqZdMnAoTsg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">76000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_FrpOwoJeYUy5WNoF4ARAiQ"
      decimals="-3"
      id="Tc_xjEHs8YZEkOFE9gmq-GVfg_8_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1064000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA"
      decimals="-3"
      id="Tc_jAwRDSxuDkesAsdp7b4Lsg_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7362000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw"
      decimals="-3"
      id="Tc_3cohIY05iUew6nnycC1R0A_9_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18580000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_0O4dmubGy06x0epzmoD-AQ"
      decimals="-3"
      id="Tc_Ra7zlNPBdk-CidGUhvqF9A_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2622000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_fFHH1k-OYUCrl5dgcFiGlA"
      decimals="-3"
      id="Tc_vEpyy-rEK0CP2_xz1ishsQ_5_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24104000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_1Z3RvnFavESCRo2PHXuZrg"
      decimals="-3"
      id="Tc_U9bPGJpQXEW6y8VHp1MmWQ_6_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1255000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2021_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_7_Bwf59FY0GJIu6H3hUpGA"
      decimals="-3"
      id="Tc_WyKZigObFkiGoMZD5U-W5g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2622000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw"
      decimals="-3"
      id="Tc_P_lmqP-GSU6SCvlncjLkzQ_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25359000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_IMVeNFrCBEK-TCnNQbZn4A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;of&#160;Gain&#160;(Loss)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recognized&#160;in&#160;Statements&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gain&#160;(Loss)&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Statements&#160;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,807&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,388)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Commodity hedge&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 983&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,019)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,182)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,001&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,785&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (44,489)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_DGhCQz2SmEuNdlUaqp8L3g"
      decimals="-3"
      id="Tc_DwGcEnj9yUaXJpQBZj460g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49807000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_UtE_-0OBPU6MhGnlQmAGRw"
      decimals="-3"
      id="Tc_3VU-BqcStEKNUZ4OlTQ65g_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22582000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_FDHuGmVG9k6uU-eOFwdmrw"
      decimals="-3"
      id="Tc_zMHm0fswXkqlPj0EE4rP8g_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-49388000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_BfUxPG8mRkeLmU9LGlBRlQ"
      decimals="-3"
      id="Tc_Z7x7NnMKskqNVhEfhpGn4w_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1376000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember__yaE8XbB806SGhTx8c2rwQ"
      decimals="-3"
      id="Tc_5TrllYN6RkmfXR-0v__cEw_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">220000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_RFDkYLUKtUyRBdftb9jRpg"
      decimals="-3"
      id="Tc_IEUZk_Q3mUSBcwJOEi7ZtA_8_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8918000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_7Ft6D4v5BE64dfirtTaT3g"
      decimals="-3"
      id="Tc_j4S0PlbVRUKD8yz3Q_q8Sg_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">983000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_4wRhCW2DyU26gHOuud0a5g"
      decimals="-3"
      id="Tc_JKhqDUPUOEqep5w280ddpg_9_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4019000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_DNP6vdjwlUm1aWTIcwnbeA"
      decimals="-3"
      id="Tc_goT85v3ujEGOyuC0rRxDmg_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1182000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_omyq6pgSYkiFzYluqlrSuA_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50001000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ayRtr9GTNEG85NbLvI3vAg_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23785000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_gzJh284HoEWDejwOXbKY5g_11_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-44489000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Narr_8Vx2dyFEukOK8duAZCZUCg"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">91370000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Narr_pArGK72AIkmq5hvLks6bWw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14003000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquitySecuritiesFVNINoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr__AgMd23LKkqIqZnJjtVXIQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20195000</us-gaap:EquitySecuritiesFVNINoncurrent>
    <us-gaap:EquitySecuritiesFVNINoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_OUIzMmhxPUaPUSW_xWlEdg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18337000</us-gaap:EquitySecuritiesFVNINoncurrent>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGain
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_pv7C2WooZkW8ixsyWg817A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1048000</us-gaap:EquitySecuritiesFvNiUnrealizedGain>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGain
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_m3COk3a3rkuXoN-BYqujpQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4744000</us-gaap:EquitySecuritiesFvNiUnrealizedGain>
    <us-gaap:EquitySecuritiesFvNiUnrealizedLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_xKVC-ZIoGEiyKXKS6bOYug"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">418000</us-gaap:EquitySecuritiesFvNiUnrealizedLoss>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_QohzRn4p9kqqZFtXw9sXOg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_OAjKanhRHkuZaGwKl_ekcw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_lLBvBilolkqSrWM0eaczFA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60330000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_Btb7SVBQLUWmEo1lYU8yMg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_yjMmupb9j0qrCcGGh5hIZQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_ZxlWuThG40CSkV2IAzgvXg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1674000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_paJ54523K0mj7jO7nmYsIw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_ov0FRKtxh0as5J6JIMcJaA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_tj13ZhAo40anDyj1IrGWEw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224675000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_xS0-wm_WJ0OiYSmXhsh5yg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225977000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_NcODEuWfe0W9776zqmsClA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;10. VARIABLE INTEREST ENTITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company, through its subsidiaries, may enter into silent partnership agreements and/or various types of bankruptcy remote arrangements for the sole purpose of holding Japan project companies. Under the silent partnership agreements and/or the bankruptcy remote arrangements, the project companies are considered VIEs in which the Company has no majority equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and a wholly-owned subsidiary, Canadian Solar Projects K.K. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment. The Company does not retain any ownership interest nor control of the bankruptcy remote entities, which individually and, in the aggregate, are insignificant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021 and 2022, the carrying amounts and classifications of the consolidated VIEs&#x2019; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#x2019;s consolidated balance sheets are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 390,606&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 366,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,857&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 257,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 267,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Net income and overall cash flow activities during the years ended December 31, 2020, 2021 and 2022 were insignificant to the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:ScheduleOfVariableInterestEntitiesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_GviYwPlIiUGa__plQJ06oA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 320,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 390,606&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 366,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,857&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 191,792&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 257,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 267,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfVariableInterestEntitiesTextBlock>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_YT5Hd-vzVEO451qZyySz5w_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48200000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_M6HiiBB_3E2di0AO7GEf3Q_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15903000</us-gaap:Cash>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_Nt4fFUOakEuuCExjIJLSPA_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">289315000</csiq:ProjectAssets>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_BiGFbgV4PECQtAB7Ff68bw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">320460000</csiq:ProjectAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_H5b3I675FUOiCG44nm1Kng_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53091000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_G4LEzDs4xUWNp3Cui4OX9g_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30163000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_ctLJUJOHEUq6zjFDuqqtfQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">390606000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_AbMTeEIBN0SadkZGmquAXw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">366526000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_cTAx8LHZdEmD2jIV4Rtm2w_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">113857000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_7MFRLLLjvEOvyAIQC1lOvQ_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">191792000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_Rc65UYql7Uml98FGZhnmJg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">106880000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc__4KXMZh340Ov6RJzddkKDA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49675000</us-gaap:LongTermDebt>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_neB1aky7gEyVdYo24n-dgw_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36872000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_kY4mTslQkUKaaAeN3DybDg_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26366000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maaaIK9cP06rKPFBYlTo_g"
      decimals="-3"
      id="Tc_VouOM4TuoEO4wy4-h9YIZA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">257609000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw"
      decimals="-3"
      id="Tc_1ZAACMF8H0STkynx0fWa1Q_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">267833000</us-gaap:Liabilities>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_WyJsfSJ1W0KRL0MS6b4pwg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11.&#160;INVESTMENTS IN AFFILIATES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Investments in affiliates consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:39.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:19.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.17&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;RE Crimson Holdings LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;&lt;span style="font-size:11pt;"&gt;Lavras Solar Holding S.A.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,264&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Canadian Solar Infrastructure Fund, Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,961&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Francisco Sa Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Suzhou Zhuosheng Venture Investment Fund, LLP&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.85&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,868&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.85&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Salgueiro Solar Holding S.A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,989&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,595&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;JuSheng (Suzhou) Solar Tech Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,922&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.38&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Jaiba Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,903&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15.92-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,760&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;10.86-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 115,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11.&#160;INVESTMENTS IN AFFILIATES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2015, the Company co-established an entity, Suzhou Financial Leasing Co., Ltd. and owned an effective interest of 4.78% and 4.17% as of December 31, 2021 and 2022, respectively. One of five board members is designated by CSI Solar. This investment is held through CSI Solar Co., Ltd. and is accounted for under the equity method, as CSI Solar Co., Ltd. has significant influence over the investee.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, Canadian Solar Infrastructure Fund, Inc. (&#x201c;CSIF&#x201d;) completed its initial public offering. On March 5, 2021, CSIF issued 151,500 investment units at 125,115 Japanese yen per unit through public offering, the Company purchased 22,725 units in the amount of JPY2,843,238 ($25,683). Through its initial private placement of 1,500 units, the purchase of 25,395 units in the initial public offering on October 26, 2017 and allotment of 7,000 units on September 5, 2018, the Company held a total of 56,620 units as of December 31, 2021 and 2022 at a total subscription amount of JPY6,247,998 ($55,697). As of December 31, 2021 and 2022, the Company owned 14.64% of total units of CSIF, respectively. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes present. As such, the Company is considered to have significant influence over the investee and the equity method is used in this investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company completed the sales of its majority interests in Lavras Solar Holding S.A. (&#x201c;Lavras&#x201d;) , Francisco Sa Solar Holding S.A (&#x201c;Francisco Sa&#x201d;), Salgueiro Solar Holding S.A (&#x201c;Salgueiro&#x201d;), and Jaiba Solar Holding S.A (&#x201c;Jaiba&#x201d;) to an unrelated third party. In connection with the project sales, the Company&#x2019;s equity interest in &lt;span style="-sec-ix-hidden:Hidden_MUI0Hs4i-UWlS0wnDlHGrQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Lavras&lt;/span&gt;&lt;/span&gt;, &lt;span style="-sec-ix-hidden:Hidden_xi-hcSuPskCs8cLuNDV5sQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Francisco Sa&lt;/span&gt;&lt;/span&gt;, &lt;span style="-sec-ix-hidden:Hidden_X41kEkCh4UmEJSsmku8NvQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Salgueiro&lt;/span&gt;&lt;/span&gt;, and Jaiba have each decreased to 20%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, the Company acquired a minor interest in Suzhou Zhuosheng Venture Investment Fund, LLP and owned an effective interest of 17.85% as of December 31, 2021 and 2022. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as it designated a representative to participate in the investee&#x2019;s investment decision-making processes and exercised significant influence over the investee.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In September 2021, the Company, through its wholly owned subsidiary, Recurrent Energy, LLC, completed the sale of its 80% stake in RE Crimson Holdings LLC (&#x201c;Crimson&#x201d;) to an unrelated third party. Effective with the sale of the equity interests, the Company ceased having controlling financial interests in Crimson, and accounted for the transaction as partial sales of real estates under ASC 360-20. The Company considered that it would continue to exercise significant influences over its retained 20% equity interests in Crimson, and has accounted for these interests pursuant to the equity method of accounting. In connection with the sale, $123,135 was recognized as revenue, and with the loss of controlling financial interests in Crimson, the Company derecognized net assets of $42,333 and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2021, the Company acquired a minor interest in JuSheng (Suzhou) Solar Tech Co., Ltd, and owned an effective interest of 4.55% and 4.38% as of December 31, 2021 and 2022, respectively. This investment is held through CSI Solar Co., Ltd., and is accounted for under the equity method as CSI Solar Co., Ltd. designated a representative director to participate in the investee&#x2019;s policy-making processes and exercised significant influence over the investee.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2020 and December 2021, the Company completed the sales of its majority interests in Horus Solar S.A. De Capital Variable (&#x201c;Horus&#x201d;) which holds its Horus project, and Recursos Solares PV De M&#xe9;xico II S.A. De Capital Variable (&#x201c;Recursos&#x201d;) which holds its Tastiota project, respectively, to unrelated third parties. In connection with these sales, $100,896 and $113,843 were recognized as revenue in 2020 and 2021, respectively and the Company&#x2019;s interest in Horus and Recursos have each decreased to 49%. With the loss of controlling financial interests in Horus and Recursos, the Company derecognized net assets of $10,363 and $7,527 in 2020 and 2021, respectively, and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets. As of December 31, 2021 and 2022, we owned 49% of each of Horus and Recursos, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Equity in earnings of affiliates were $10,779, $7,256 and $15,440 for the years ended December 31, 2020, 2021 and 2022, respectively. Refer to Note 20 for the Company&#x2019;s related party balances and transactions in 2020, 2021 and 2022.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_NMxJ6RC3NU6uueoRx0ea1Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:39.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:18.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:19.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.78&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.17&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;RE Crimson Holdings LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,854&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;&lt;span style="font-size:11pt;"&gt;Lavras Solar Holding S.A.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,264&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Canadian Solar Infrastructure Fund, Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,961&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Francisco Sa Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Suzhou Zhuosheng Venture Investment Fund, LLP&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.85&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,868&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17.85&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Salgueiro Solar Holding S.A&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,989&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,595&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;JuSheng (Suzhou) Solar Tech Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,922&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.38&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Jaiba Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,903&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15.92-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,760&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;10.86-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 115,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA"
      decimals="-3"
      id="Tc_XB-qIqJmWEyMBRZTpjcK2A_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27026000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA"
      decimals="4"
      id="Tc_Ir6LWm-CRUqhxdAjyeQRkA_6_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0478</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg"
      decimals="-3"
      id="Tc_AHd3yZuIl0m8vVfXEqYzOg_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27328000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg"
      decimals="4"
      id="Tc_Y0z12QI71EeOaotKWZzkMA_6_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0417</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw"
      decimals="-3"
      id="Tc_ulCn_BAuEEias10XkbQCew_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18854000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_nOU1nYITt06fd3KOjPueMw"
      decimals="2"
      id="Tc_CN33LaSKwkedm_ndGeCn5Q_7_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg"
      decimals="-3"
      id="Tc_s7Xi6X2SAUimDJSmxbl7BQ_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22272000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_yVMvGb4dZkuUi1Xw2J3XPg"
      decimals="2"
      id="Tc_EwOXNYeC_EmV6abpcLotKA_7_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg"
      decimals="-3"
      id="Tc_Y-bBxiB35Ui6pOBhATNZuA_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12264000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_pJIVqq1O5kiM9Sxu6iEHqg"
      decimals="2"
      id="Tc_-74iUkWZlUu0nL4j425jhQ_8_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw"
      decimals="-3"
      id="Tc_s4VPC0czsESkoLuZ1hMWHA_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14318000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_RanVHggAV0WKfwxb7zUmkw"
      decimals="2"
      id="Tc_jdY7k4IYCk-w6TGwg6PG0A_8_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg"
      decimals="-3"
      id="Tc_KGmuvlzxxUGcBYK2LTyfUQ_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12889000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg"
      decimals="4"
      id="Tc_8K4y09FFjUObMgqkyMIamg_9_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA"
      decimals="-3"
      id="Tc_cM5JayTRbUaTa0AfAEEsQg_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8961000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA"
      decimals="4"
      id="Tc_FM-Y5CnO60GNyZySQaDKAA_9_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA"
      decimals="-3"
      id="Tc_mS2COkThIU6ml_T4KJt0WQ_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6492000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_GEMWsaRluUKBwqIBaUvDZA"
      decimals="2"
      id="Tc_zbEWZ5f9wEOJVCA6NymmJw_10_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ"
      decimals="-3"
      id="Tc_Y1UO3LbES0emkgGWeBc4tw_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7683000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_V17ADGEOEE2kFbHHt8yiIQ"
      decimals="2"
      id="Tc_xbpz9tygvkCIm75Zy8zO7g_10_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ"
      decimals="-3"
      id="Tc_YtbNxBj4_Eyo0t3KvhAQdg_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4715000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ"
      decimals="4"
      id="Tc_A_vk_PmKQk2PZjATflkM8A_11_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1785</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q"
      decimals="-3"
      id="Tc_rFQk9pEjykuuy5uO30raQA_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6868000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q"
      decimals="4"
      id="Tc_u01i_urr5E6afUyEs09zWg_11_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1785</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw"
      decimals="-3"
      id="Tc_jH8aEcNobki6Vxi82Hbkbg_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2989000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_082Vo8IZlECeKzSy7PMpjw"
      decimals="2"
      id="Tc_fSjuavlbTkqBIP5wcgHl0Q_12_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw"
      decimals="-3"
      id="Tc__NNLMfKyvkWrI75c3IcNUw_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6595000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_bwA4NspiOEyxI13VWHepVw"
      decimals="2"
      id="Tc_5KLiVUISI0OdTXJjgBcW2A_12_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q"
      decimals="-3"
      id="Tc_-Dmdh8YaBkqMAvXD5zqszw_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6274000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q"
      decimals="4"
      id="Tc_qnvwfoZWI0KMHK7QHbHNPw_13_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0455</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg"
      decimals="-3"
      id="Tc_mGYmeP_UDEio8oGTLWTctw_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5922000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg"
      decimals="4"
      id="Tc_a9xC5jOkiUGNlnZYcHuTYg_13_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0438</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA"
      decimals="-3"
      id="Tc_UOwFekgJYkqnwfAqX5KD7g_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4903000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_f7sfDWUeI0WzXSldPcbvaA"
      decimals="2"
      id="Tc_vUcUqLwzmES7ADNKe5aIXQ_14_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A"
      decimals="-3"
      id="Tc_xZeqlzNoB0SpO6eNofWGQg_14_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5077000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A"
      decimals="2"
      id="Tc_DsXiFpGDJEyCBHqD3v7m7Q_14_8"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_dW2WSCROnUa38uZSnGnSuw"
      decimals="-3"
      id="Tc_pXrtDf9tXEqfBQNxpOK1fw_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2413000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_-BF16P4rmkGUDZ6qgb34Sw"
      decimals="4"
      id="Narr_A93ppnHdx0edKwuLzeZ4Hw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1592</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tZswWPKWUEyFd8jErnRu_w"
      decimals="2"
      id="Narr_AS43hE7YqECK6LGWrtQR-g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JrNosuyERkiGgZi1C6E2Cw"
      decimals="-3"
      id="Tc_-RQBFq6k8kawX4klZuIgqQ_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10760000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_U-VHBkYj4EeFCkEPl8BvzA"
      decimals="4"
      id="Narr_UdhP1EklbkWcMHB_nrMVWg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1086</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_DViYwNU-I0i0wdkEXTFE-w"
      decimals="2"
      id="Narr_GsEbPNoMSEmIfC__R30Z3w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_RhRXJFYvCUyZGJpU_K_63Q_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">98819000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_oE3i6Ab-mUW74VbaDzzitA_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">115784000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_ZPxctL8_2kirT8irxRDjZA"
      decimals="4"
      id="Narr_FXHl7Mb4qEGM7LTRTLfdGQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0478</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg"
      decimals="4"
      id="Narr_jDoglF8kIk-POXtwBqOIwA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0417</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="INF"
      id="Narr_EL_5-OK83Eqmg9kY5jHIrw"
      unitRef="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA">1</csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity>
    <csiq:NumberOfBoardMembers
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="INF"
      id="Narr_Cw7tNrRDEU6fLa1Rbqudfw"
      unitRef="Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA">5</csiq:NumberOfBoardMembers>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_3_5_2021_To_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_uYrMFSK5NEiPeNkXjP28UQ"
      decimals="INF"
      id="Narr_Gb0rAZw72EWr6lekL8_tHg"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">151500</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember__04d94lhVEOKxcxbPEnr5Q"
      decimals="0"
      id="Narr_IeZ3ioWxlUajtjPrXslOfw"
      unitRef="Unit_Divide_JPY_shares_ELqJJHbgG0SEDH3ZjRog4g">125115</us-gaap:SharePrice>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_0-zRvEqlPEi51TDvpaSyJg"
      decimals="INF"
      id="Narr_Z8WaJ4aXJUCyf9u0kdnh8g"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">22725</csiq:NumberOfUnitsPurchased>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA"
      decimals="0"
      id="Narr_o-K9M7kzN0OnqnN8AnEmUg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">2843238</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_3_5_2021_To_3_5_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_X8eVX2HqhUuffqB5MJ0cDA"
      decimals="-3"
      id="Narr_0PFwYPLR1kC_SYFSrKrgJA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25683000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_PrivatePlacementMember_NFSvB2JC5ESFPr5HcOvv0w"
      decimals="INF"
      id="Narr_wo24vxLH8U-PKIw275C-1g"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">1500</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_10_26_2017_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_SubsidiarySaleOfStockAxis_us-gaap_IPOMember_h5tCNREYskGWIErwhkB6nA"
      decimals="INF"
      id="Narr_8QfQmO_RR06_0AwACrW7lQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">25395</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_9_5_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wsqwrOkOUEm-A83iv3Qo5g"
      decimals="INF"
      id="Narr_hZePHcf4ck-uyc6C4vRHNQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">7000</csiq:NumberOfUnitsPurchased>
    <csiq:NumberOfUnitsPurchased
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_PQ9jqp329keEUWdbVeHkVA"
      decimals="INF"
      id="Narr_i2k3Dy18HUmPpx1CVhEk8w"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">56620</csiq:NumberOfUnitsPurchased>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA"
      decimals="0"
      id="Narr_HfM1VpaNxUm1iPFwxSPmkA"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">6247998</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_FojlD8AwWE6UCozwtZEndA"
      decimals="-3"
      id="Narr_5IMBj87SPk6ZRnmnL8J9iQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55697000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_7i41dcBjGUmmhVuH-YiUsg"
      decimals="4"
      id="Narr_kmQB3Xgx506SX37jF98wxQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_F5GqYZs64k6iY92Z4IuA8A"
      decimals="2"
      id="Narr_3KZmid360k-yukh5bNOLNA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_2KLvK9EaKUOpzxCL-oeakQ"
      decimals="4"
      id="Narr_IhDwSqGZpUCrxfmk8iavqw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1785</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_W2uAdL1zBkqJTpU5K2rX6Q"
      decimals="4"
      id="Narr_IhdZsBGmI0KseCrvzLLjTw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1785</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:EquityMethodInvestmentOwnershipPercentageSold
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg"
      decimals="2"
      id="Narr_yfG4Z2b5MkKu-zvEoNB6WQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</csiq:EquityMethodInvestmentOwnershipPercentageSold>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_ssDObqt7QkeNHeubVYB1ZA"
      decimals="2"
      id="Narr_O0JyNCds3U-kmF1h1kBSQg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg"
      decimals="-3"
      id="Narr_EMC0P1QUYUSNBJ88up5lNg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">123135000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_8dfWJ5a9SEOMIbpK7cWMeg"
      decimals="-3"
      id="Narr_0yc269C1PUuPk88I2nXlsA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">42333000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_XtyzYJUN0EaG7419Kemq2Q"
      decimals="4"
      id="Narr_h6bWsr-BS0SqEpgkVX8foA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0455</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_A1gt5ci9CEy9Tps1-ME9Cg"
      decimals="4"
      id="Narr_XGiJKodLM0SaTwxuAXMtzg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0438</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA"
      decimals="-3"
      id="Narr_5qhaB1a7RUKp07xcHK2Azg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">100896000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ"
      decimals="-3"
      id="Narr_4IOGKGgxjE-qx0AYg8AmBg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">113843000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug"
      decimals="2"
      id="Narr_pDx_9ZYT-U29rL2AqudhSg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_Z9SG6Cu9R0apPeDS3tZoXA"
      decimals="-3"
      id="Narr_k3aAIWNeMEyJJDg6LR7xRw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10363000</csiq:DecreaseOfNetAssets>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_863SrcrUKE6mH2jfZd_OJQ"
      decimals="-3"
      id="Narr_bnP_rbNdo0mnKY9pHL0PMA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7527000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_gUqjWdu6HkepzHHKjhwSRw"
      decimals="2"
      id="Narr_Xnb6_1FCjUm5CNMehbVr7Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_sBcVvXDxwEWwg1IPBK5fug"
      decimals="2"
      id="Narr_j2fs5TTM3k2wowH8Bdx0Ew"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_-M45kTPhwE2u58HgceWPSg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10779000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_fqGySXZieUy0aeOKDXjF2Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_E9y9jko2Yk6G0c6B2HadXA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_rTXjhPUEC0Gy_OcCO4qC3w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company leases manufacturing facilities in various regions where the Company operates. The Company also leases land for construction and operations of solar power systems, and leases office space, office equipment and motor vehicles for its sales and administrative functions. Leased assets are mainly located in the PRC, Brazil and United States. The land use rights represent lease prepayments and are expensed over the remaining term of the rights, which is generally 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company capitalizes lease costs to its project assets and solar power systems, when such costs qualify for capitalization as during periods in which activities necessary to get the property ready for its intended use are in progress.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The components of lease expenses were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amortization of ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,406&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,994&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating fixed lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,936&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,884&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,364&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Supplemental balance sheet information related to leases was as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,286&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land use rights, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total operating lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,297&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease liabilities - current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,810&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease liabilities - non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,714&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Other supplemental information related to leases was as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating cash outflows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,349)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,994)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating cash outflows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,972)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,032)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Financing cash outflows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,194)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets disposed through early termination of operating leases in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,880)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (965)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining lease term - finance leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining lease term - operating leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of lease discount rate - finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2022, maturities of operating and finance lease liabilities were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,062&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,155&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,156&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,666&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,133&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,548&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,325&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,593&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_fABpZzIpOk-x8U7lksz8Cg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Short-term&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,507&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_ZpeYQQuy1023lBvr_RvBDg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Long-term&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,086&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_Tek3YO5uCkiiEpdXHPnrpg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Total lease liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,593&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Narr_4VuFogX_h0K1WiXIFRwJVg">P50Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w"
      id="Narr_q8Dr7N7kD0ewSYdQ-T9a3Q">P20Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Group_522ym2aUzUG6iyg0XW0yOQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amortization of ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,920&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,406&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,994&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating fixed lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,443&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,936&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,884&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,364&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_sHT6pTdPrUWvObMMdOsy1w_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14920000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_yxkbEa7UnUWPn-f9dixPhg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11406000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_seQCEDZ-5kSr9LYvr225Cw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1349000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Pz9pTtc2SECaER8D91isVQ_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1994000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_2lx83Tub90ecB2NkcUBJbg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18443000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_kFQqvbdRUUKaemtljjLzNQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14936000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_hRvG1OxudUWd0Z8dghKloQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1884000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_j0JxPOJ4S0S97JBChf4YkA_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1028000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_FLAezh-x5ky-P9hYrYPZWQ_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36596000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_BMuNB9l-iEGXjBmaRuneag_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29364000</us-gaap:LeaseCost>
    <csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_ysm1Xze2ckuu1jFWjig6nA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,286&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,506&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Land use rights, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,011&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total operating lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,297&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease liabilities - current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,810&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating lease liabilities - non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,714&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,400&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock>
    <csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_7ItHASC3a0-XB7EMpEcp4A_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35286000</csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights>
    <csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_3bsCsHr1akWs2vnHKQEeVw_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35506000</csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights>
    <csiq:LandUseRightsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_VjXRDg8qpk2Um9iGMetRLQ_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">71011000</csiq:LandUseRightsNet>
    <csiq:LandUseRightsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_-Bn2FQJxTkSf38DMidfBjA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68094000</csiq:LandUseRightsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_BdwHL07l8EWRnP8Kmk_qYQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">106297000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_JY_uBVUYK0CDLHGcsO1D3w_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">103600000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_I2GM2BXP5kqmFOCeWRwVlg_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12185000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_junCbb6JP0uFikBge2U_wQ_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9810000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_unSSKi9Sg0iIHqoy3caLOw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_QbvZZuXRXEWN4X8Tv5gkVg_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25714000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_QpRG9B-lLkyr9ASNgXztZw_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35400000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_tiH5a2H-kUKlbcIyV8rbQw_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35524000</us-gaap:OperatingLeaseLiability>
    <csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_VokcW4oJeUOzWGPoNhKgGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating cash outflows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,349)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,994)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Operating cash outflows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,972)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,032)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Financing cash outflows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,194)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;ROU assets disposed through early termination of operating leases in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,880)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (965)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining lease term - finance leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.8&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining lease term - operating leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of lease discount rate - finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Weighted average of lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Vg41FBm-3E6s4BvOO2L7Uw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1349000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_qgB9CSMmxUqbn4Nr5VFIfw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1994000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_C6j4jXt5eEaNT5LIEyGOmA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19972000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_DrRdxj1aR0eZSr3YXR3EVg_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15032000</us-gaap:OperatingLeasePayments>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_rg8XHvvD1kKXDmLkF6A6zg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-35554000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_jEwPm7OAb0-re4frWm5b3g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-20194000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_bHif5oT2IUiYA3Tj2INU-Q_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60102000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_17r7Ku9ws0S64FlBgi50AA_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24694000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_OLjYn8u_e02ywn24Lz8-Xw_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14393000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_2tLX03Lol0ui_iuErVNeYA_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1880000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_BZPa2T8NOkqSmXY7PVc7Yw_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-965000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      id="Tc_Htz5vOV1y02OlLi4VpDm_Q_3_2">P2Y8M12D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Tc_OY05vTS5h0KHUyuylp6ExA_3_4">P1Y9M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      id="Tc_igTaoK9DUEWSRsos-Z72yA_4_2">P4Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      id="Tc_q9mwkH-5Tkubkq_KMkpx3Q_4_4">P6Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="3"
      id="Tc_F4JcZYGvD02WR9V0mFTXMg_5_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.050</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="3"
      id="Tc_NCA2IEm4MkOiGbwHxNUnJQ_5_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.049</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="3"
      id="Tc_8uGmjhemTEaFIbcBBpx5FA_6_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.043</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="3"
      id="Tc_oCWNsHmbVUCzNGXDl4MIWg_6_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.104</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_EshxP_VfWEyxD9-08A4ezw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,062&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,580&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,155&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,156&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,666&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,133&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,548&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,918&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,325&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,593&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_fABpZzIpOk-x8U7lksz8Cg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Short-term&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,507&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_ZpeYQQuy1023lBvr_RvBDg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Long-term&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,086&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_Tek3YO5uCkiiEpdXHPnrpg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Total lease liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,593&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_c2fSKgKpw0KFe3Wmyb4cMw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10798000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_TpfJN00_bEWqJQl-fn-G0g_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15517000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LesseeLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_7y_QPzjXw0-YvlZicQcXog_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26315000</csiq:LesseeLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_UyNsqHHtSECXwBl4PJYxsw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7216000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_mVfY5gIRZEytb1NlTwhecw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14846000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LesseeLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_aDx-UhF5t0mg6uCzEU1EaQ_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22062000</csiq:LesseeLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_FSFh6hKkmECl42pCL_e8yQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5580000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_PpuJ_ZQBaEmHpdAQp7LJFw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <csiq:LesseeLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_dJEwQmLaSU2yuYqPj5O_Xg_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5586000</csiq:LesseeLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_-99j3xTe0k-_fwtV35OeSg_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5155000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_RIncYu90JEqzsL5Suhev-Q_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <csiq:LesseeLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_rhJEFBeyMESNR2RlMbGeog_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5156000</csiq:LesseeLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_SHCrJ96bU0itkU0q9rJFrw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3666000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <csiq:LesseeLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_WRJ2S-XKa0Ww_RdXzyGWsg_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3666000</csiq:LesseeLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_xdSpEimPjEmFmD2ZViyRdw_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33133000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LesseeLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_pKi6uT2EpESaBRZOScqSpg_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33133000</csiq:LesseeLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_R307vAP2zkqS9ZxctrLrXA_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">65548000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_lSpUOObXYUO_Ti9OcCYDTw_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30370000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LesseeLiabilityPaymentsDue
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_UDWWGo6KIEqCi23_gH4XLg_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95918000</csiq:LesseeLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ZvPOfE5KcE221HowtISEDw_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30024000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_37em6n_UTUCe8MmOXaFAYA_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1301000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LesseeLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_UDcpEb-WbkO3hNYiMB6byw_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31325000</csiq:LesseeLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_aF7DGqXQs0uz8RteK4vVsA_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35524000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_TIfwvR4JMUuQYU86wjA1pA_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29069000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_u3_84TYMNEmL0cROvHX3QQ_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">64593000</csiq:LeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_Mct3aFlDqUm_lHGSzA2vKA_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9810000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_QI6SkyEdI0yJnTr-WW82rQ_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14697000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_dqgA_jl7n0Wh-vjNc5fuTA_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24507000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_MX5r5ur9AU20HNN-dg7dgw_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25714000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_3W07SQCykUyg-baYYvN2YQ_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14372000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_XgFToImZBE-VcuWRmjc1sw_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40086000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_dSm5Ngc8m0GfhSDPR4mrJQ_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35524000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_H2OIbYdIpE6ehygCh4Cc3Q_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29069000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_XRx5X6DKzEafJBTIQScr9Q_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">64593000</csiq:LeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_uAjuyaYFn0OGhek-qC7LDQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;BORROWINGS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Borrowings consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings related to project assets&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 474,555&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 333,521&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other short-term borrowings &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,118,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,110,295&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,592,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings related to project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 327,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 318,987&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,418&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 494,419&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,634&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 813,406&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,116,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,257,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, the Company had contractual credit facilities of $3,412,104, of which $1,694,732 has been drawn under borrowings and $623,377 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $1,093,995 was available for draw down upon demand. In addition, as of December 31, 2022, the Company also had uncommitted credit facilities of $1,464,055, of which $562,490 has been drawn under borrowings and $426,734 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2022, $365,065 of the Company&#x2019;s borrowings under its energy business were non-recourse in nature.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The lenders under the Company's non-recourse facilities generally require the pledge of underlying solar projects and do not have direct recourse to Canadian Solar Inc.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, borrowings of $1,042,407 were secured by property, plant and equipment with carrying amounts of $414,244, inventories of $161,673, land use rights of $46,607, restricted cash of $6,715, accounts receivable of $33,690, equity interest of $34,859, project assets of $353,503 and solar power systems of&#160;$295,145. These borrowings were recorded as short-term borrowings of $207,134, non-recourse borrowings - current of $335,893, long-term borrowings of $470,208, and non-recourse borrowings of $29,172.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s significant borrowings during the years ended December 31, 2021 and 2022 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2016, Canadian Solar Projects K.K. obtained a syndicated three-year loan facility of JPY9,600,000 ($85,200) with Sumitomo Mitsui Banking Corporation (&#x201c;SMBC&#x201d;), acting as the lead arranger and 13 other participating financial institutions. The facility is unsecured. The loan proceeds may be used to develop its solar project development pipeline in Japan and for general corporate working capital purposes. In 2020, the facility agreement was renewed with 11 participating financial institutions led by SMBC at a term of two years and a facility amount of JPY9,100,000 ($88,200). In 2021, the subsidiary further expanded the facility to JPY10,000,000 ($89,859) for a term of three years, with a September 2024 maturity. In 2022, the subsidiary amended the facility agreement to tranche 1 loan facility of JPY7,500,000 ($57,198) guaranteed by the Company and tranche 2 loan facility of JPY2,500,000 ($19,066) secured by a pledge of equity interest in CSIF. As of December 31, 2022, the loan was fully drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. obtained a five-year syndicated credit facility of $188,000 with the Siam Commercial Bank Public Company Limited (&#x201c;SCB&#x201d;), acting as the lead arranger and China Minsheng Banking Corporation Ltd as one of the lenders. The facility is guaranteed by the Company. Under the same facility agreement, the subsidiary obtained a working capital facility of THB3,540,000 ($106,729) from SCB to support the operations of its manufacturing Company in Thailand. As of December 31, 2022, the outstanding balance of the long-term loan was $34,606 and the outstanding balance of working capital facility was $11,777.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, Recurrent Energy, LLC (&#x201c;Recurrent&#x201d;) executed a $75,000 development loan with Nomura Securities International, Inc. In 2021, the syndicated facility was renewed with Nomura at an expanded amount of $125,000 that matures in November 2023. The outstanding credit facility is secured by certain project assets in the U.S. and Canada, and is guaranteed by the Company. As of December 31, 2022, the loan was fully drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd. obtained a syndicated five-year non-recourse facility of AUD289,419 ($206,022) with Australia and New Zealand Banking Group Limited acting as the facility agent and 3 other financial institutions, to finance the construction of a portfolio of solar projects in Australia. The facility was secured by the project assets and was set to mature in 2025. The loan was assumed by a buyer in connection with the sale of the portfolio in 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, Japan Green Infrastructure Fund LP obtained a six-year mezzanine loan facility of JPY18,000,000 ($174,241) with Madison Pacific Trust Limited acting as the facility agent and other four financial institutions. The facility is for the development and construction of solar projects in Japan. As of December 31, 2022, the outstanding non-recourse balance was $16,002. Subsequently in January 2023, the subsidiary cancelled the unused commitment of JPY15,901,795 ($122,208) under the facility agreement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, Azuma Kofuji Daiichi Hatsudensho G.K. obtained a JPY24,513,530 ($230,759) project finance loan facility with Nomura Capital Investment Co., Ltd. acting as lead arranger and other participating financial institutions to construct the 100MWp Azuma Kofuji project in Japan. The project finance loan is secured by the Azuma Kofuji project and will mature in November 2023. As of December 31, 2022, the outstanding non-recourse balance was $148,867.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, four Japanese subsidiaries issued JPY8,100,000 ($73,167) of non-recourse green project bonds to construct a portfolio of projects in Japan. The project bonds are secured by certain project assets and will mature in 2039. As of December 31, 2022, the outstanding balance was $32,515.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained $60,000 project finance loan facility with Sumitomo Mitsui Banking Corporation (&#x201c;SMBC&#x201d;). The facility has been partially drawn for the construction of the El Mayo project in Mexico. As of December 31, 2022, the outstanding balance was $28,000. The Company has provided a guarantee on the outstanding balance through a letter of credit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, Canadian Solar Spain S.L.U obtained a &#x20ac;50,000 ($61,132) credit facility with Banco Santander, S.A. (&#x201c;Santander&#x201d;). The facility comprises a term loan of &#x20ac;25,000 and a revolving credit facility of &#x20ac;25,000, and is guaranteed by the Company. The facility will mature in May 2024. As of December 31, 2022, the loan was fully drawn and the revolving credit facility outstanding balance was $26,755.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, eight Brazilian subsidiaries obtained a BRL500,000 ($95,921) financing facility with BTG Pactual and Ita&#xfa; BBA to support the equity contribution for the development and construction of solar power projects in Brazil. The facility is guaranteed by the Company and will mature in December 2023. As of December 31, 2022, the outstanding balance was $87,873.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. (formerly known as CSI Modules (Jiaxing) Co., Ltd.) entered into a RMB580,000 ($90,918) long-term loan facility with Shanghai Pudong Development Bank. The loan facility is secured by certain property and plant, is guaranteed by CSI Solar, and matures in November 2028. As of December 31, 2022, $55,510 was drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, Canadian Solar EMEA Capital Markets, S.A.U. issued &#x20ac;30,000 ($34,106) fixed rate notes on Spain&#x2019;s alternative fixed-income market (the &#x201c;MARF&#x201d;). The notes are guaranteed by the Company and mature on December 2, 2026. As of December 2021 and 2022, the carrying value net of unamortized issuance costs of the fixed rate notes were $33,676 and $31,638, respectively, and were included as a component of other non-current liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Between 2021 and 2022, CSI Cells (Yancheng) Co., Ltd. entered into credit facilities in the aggregate of RMB710,000 ($101,944) with various banks. The credit facilities of RMB 510,000 ($73,227) are unsecured and are guaranteed by CSI Solar. The remaining RMB 200,000 ($28,717) is secured by certain property, plant and equipment, and is guaranteed by CSI Solar. As of December 31, 2022, $78,072 was drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Between 2021 and 2022, Canadian Solar Sunenergy (Baotou) Co., Ltd. entered into credit facilities in the aggregate of RMB880,000 ($126,353) with six banks. Credit facility of RMB580,000 ($83,278) is guaranteed by CSI Solar, and the remaining RMB300,000 ($43,075) is secured by certain property, plant and equipment, and is guaranteed by Canadian Solar Manufacturing (Luoyang) Inc and CSI Solar. As of December 31, 2022, $101,407 was drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2022, the financial covenants related to these borrowings were met.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In connection with the sale of solar projects for the years ended December 31, 2020, 2021 and 2022, borrowings of $316,496, $118,406 and $193,578, respectively, were assumed by the buyers.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;These obtained long-term borrowings mentioned above bear effective floating interest rates from 1.2% to 8.3%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Future principal repayments on the borrowings are as follows. Included in the future principal repayment of 2023 are $333,521 of current portion of long-term borrowings, associated with certain solar and battery storage projects that are expected to be sold within one year:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 639,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,615&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,257,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest expenses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Weighted average effective interest rates on borrowings are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar and battery storage projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2020, 2021 and 2022 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,316&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,439&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,874&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,266&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total interest incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,469&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,371&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_CXC0MPuSHkeVaZqjCEchow">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings related to project assets&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 474,555&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 333,521&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other short-term borrowings &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,118,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,110,295&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,592,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings related to project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 327,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 318,987&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 196,418&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 494,419&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 523,634&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 813,406&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,116,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,257,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <csiq:ShortTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_fuYCDD_kTEqG3jqWv3g-1A_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">474555000</csiq:ShortTermBorrowingsOnProjectAssets>
    <csiq:ShortTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_tZ_51xpy7kOoh6kAkPnMUg_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">333521000</csiq:ShortTermBorrowingsOnProjectAssets>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_DoCOiuPM0UKfiifhSQPQTQ_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1118315000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_WO-f62FQq0WzzieVpk4_Aw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1110295000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_8xxAXsn3k0-uSbYWQLL6jw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1592870000</us-gaap:DebtCurrent>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_GgeAiELRR0e694gw0w6GhA_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1443816000</us-gaap:DebtCurrent>
    <csiq:LongTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">327216000</csiq:LongTermBorrowingsOnProjectAssets>
    <csiq:LongTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">318987000</csiq:LongTermBorrowingsOnProjectAssets>
    <us-gaap:OtherLongTermDebt
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_s1xqFhvZ0UuSwerybdpGtQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">196418000</us-gaap:OtherLongTermDebt>
    <us-gaap:OtherLongTermDebt
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_aNhaIGsIXEKszX_qNXihbg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">494419000</us-gaap:OtherLongTermDebt>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_y-csmub5qE-jhNRhlEQFvw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">523634000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_HHpIT1HHDEeNFsdRfG96zg_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_RFEjumsNB0Kgf3-hGybqSg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2116504000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_27OmcSPlw0KdkzvYf6khBQ_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2257222000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"
      decimals="-3"
      id="Narr_CVinStw4hUi5qCI4KKIr6Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3412104000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"
      decimals="-3"
      id="Narr_s5F-SjKVc0u5rdSkNjM3gg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3412104000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"
      decimals="-3"
      id="Narr_bdZTic9QyU-tUM7NwkJmdQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1694732000</us-gaap:LineOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"
      decimals="-3"
      id="Narr_eWSIacWMgECyb7pqvbIKjg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">623377000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_ybRNeiyU80SxgiFva42P6g"
      decimals="-3"
      id="Narr_OJLB0ArTPUSgt1I-_ivScw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1093995000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_TBle2o3tZ02_JiugJpwP0Q"
      decimals="-3"
      id="Narr_fHQC8M64REeTMQFGCSYYYw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1464055000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember__5IlVZK5ukWwgQfjgpaQ0g"
      decimals="-3"
      id="Narr__33-fik4IkSpC_M6HlIxtw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">562490000</us-gaap:ProceedsFromLinesOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_oz1Wv7rLIUiwDsVs8pBSuA"
      decimals="-3"
      id="Narr_oPdN63Rne0eXOBSzjgiMJw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">426734000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ"
      decimals="-3"
      id="Narr_4aGxm9E8XU2xcWHUpqs4bA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">365065000</us-gaap:LineOfCredit>
    <us-gaap:SecuredDebt
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_SR-T6-RsaUq1lFzBKucpMw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1042407000</us-gaap:SecuredDebt>
    <csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw"
      decimals="-3"
      id="Narr_lsHPCpuWn0CPoJ_QE5ZcUw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">414244000</csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment>
    <csiq:PledgedAssetsNotSeparatelyReportedInventory
      contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw"
      decimals="-3"
      id="Narr_oI3LehLXLEOtWQKk1lkedA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">161673000</csiq:PledgedAssetsNotSeparatelyReportedInventory>
    <csiq:PledgedAssetsNotSeparatelyReportedLandUseRights
      contextRef="As_Of_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_E05fbyimmkSmW08c1QxOSw"
      decimals="-3"
      id="Narr_nyM8k2TGU0WeULA9JibJ_A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">46607000</csiq:PledgedAssetsNotSeparatelyReportedLandUseRights>
    <csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"
      decimals="-3"
      id="Narr_OpoD5RVlekqNzPomrXk1Vw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6715000</csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash>
    <csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"
      decimals="-3"
      id="Narr_z6M_Ltxa-EKtwkjgXdRnaw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33690000</csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable>
    <csiq:PledgedEquityNotSeparatelyReported
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"
      decimals="-3"
      id="Narr_-Lqu22YO6EC615UTiGg8Lw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34859000</csiq:PledgedEquityNotSeparatelyReported>
    <csiq:PledgedAssetsNotSeparatelyReportedProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"
      decimals="-3"
      id="Narr_1tNoegaGqEmpDxPkNl6WFA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">353503000</csiq:PledgedAssetsNotSeparatelyReportedProjectAssets>
    <csiq:PledgedAssetsSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_EMWQ-lXU3Eaz7lQhgIpi6Q"
      decimals="-3"
      id="Narr_wsLi2cw010CiCfJ-LC70bg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">295145000</csiq:PledgedAssetsSolarPowerSystems>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_0Uq7Dfe5e0a60CwSZFnhqA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">207134000</csiq:SecuredShortTermDebt>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_RecourseMember_vp0ODBBnSkenOFOmcNGaSQ"
      decimals="-3"
      id="Narr_8WHXGwLsrUKmQFirkV9rSQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">207134000</csiq:SecuredShortTermDebt>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ"
      decimals="-3"
      id="Narr_sV13PaUk2EioG49ZyY592w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">335893000</csiq:SecuredShortTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_VxySeFcLN0KtOj1pjxKcZA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">470208000</us-gaap:SecuredLongTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2022_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_ueDnhS3VNk6q0YBbwEpvHQ"
      decimals="-3"
      id="Narr_SYbQl9zbgkStiY22-sEfNg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29172000</us-gaap:SecuredLongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw"
      id="Narr_z-d-Jobqj06Wn0bjM4JqKA">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg"
      decimals="0"
      id="Narr_p5ER40Y3xkq0KAhG_Br3cw"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">9600000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_l4VhV22wmEyJ92R9sfuGGg"
      decimals="-3"
      id="Narr_LDm5Ge8zAUGhWRSqN3mjbQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">85200000</us-gaap:DebtInstrumentFaceAmount>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_FSfAyZiLikKsZCQjeRJJmw"
      decimals="INF"
      id="Narr_O2jbqxcs7E25KhTbiJr2_Q"
      unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg">13</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA"
      decimals="INF"
      id="Narr_CaoQ8MROuU23Nt9_vQvQRw"
      unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg">11</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_LXN7rw8EikW5LF0pns_ibA"
      id="Narr_YUYQ3tyyXECWplUfQdrXGQ">P2Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA"
      decimals="0"
      id="Narr_7Y7AKJvtfkCLhCwGGXuViw"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">9100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Kix1ITQ7r0q07A28Oz8vdA"
      decimals="-3"
      id="Narr_Dxx60Aw99kGvjGmHnfdepQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">88200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw"
      decimals="0"
      id="Narr_CBk5Ue3inUmu__3xXM_GZw"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">10000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_MUykiYNrO0K5V5L8DLcCsw"
      decimals="-3"
      id="Narr_j-O5oqHpfk6x7Deqa95FhA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">89859000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_xz3M2LaHOUuzGgUychNB4A"
      id="Narr_aOT8F8-U80y3SQAPX5d6XA">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_UEA8cSRtO0qT-JN5_Tccxg"
      decimals="0"
      id="Narr_Ob1GCqVAnkGCqQNXmHmO4A"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">7500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_D0TCTT-wRkyhOg6tczHT9Q"
      decimals="-3"
      id="Narr_tweTPhjwVUycY0ktyeLizg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57198000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_48r1sN6kBEu1gb-Vrmm8Xg"
      decimals="0"
      id="Narr_lPdYUWR4iUiC6Tu7L0bhxQ"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">2500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_89RAnytBNUmi1ibWJmSYtA"
      decimals="-3"
      id="Narr_qyaXLQVdd0W4VvZaGnbT-g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19066000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_B13mEfbPxUCiuahfDKBHxw"
      id="Narr_PHgo0VDfZkiZFSE2fsfVhQ">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_pT4bHCJD0UKmDEqvHLrB4Q"
      decimals="-3"
      id="Narr_NDXoGqGWVkC47ZtZPMn7KA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">188000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ"
      decimals="0"
      id="Narr_MtYEz4NR-kOt5xH8Kq8yUQ"
      unitRef="Unit_Standard_THB_joOAZ6jxnkOc2RX95GC2qg">3540000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_A_nUlDIBZEuyebc97kH7jQ"
      decimals="-3"
      id="Narr_DGPhFCcPZEm8K6_iUOsyCg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">106729000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_PJzVbHRZkEGVsOJslPoauw"
      decimals="-3"
      id="Narr_1QUUS099fUGJdCgIBCd4aQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34606000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_CreditFacilityAxis_csiq_WorkingCapitalFacilityMember_V-daamt8Lk2CYrQZreYX4A"
      decimals="-3"
      id="Narr_DlTnvCdRekSaTY7_jMshfw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11777000</us-gaap:LineOfCredit>
    <csiq:AmountOfDevelopmentLoan
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Narr__GO7Oe0Kn0218yKrVLMC9A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">75000000</csiq:AmountOfDevelopmentLoan>
    <csiq:TotalAmountOfMatures
      contextRef="As_Of_11_30_2023_1PBXplHmH0SH-E9JNu-yDw"
      decimals="-3"
      id="Narr_35NWUf1Ysk6FDnsvP69e0w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">125000000</csiq:TotalAmountOfMatures>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q"
      id="Narr_6GDanUqDRkOaWk7v_NL2BA">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA"
      decimals="0"
      id="Narr_sk0khSNKLUak-hv__YIf9w"
      unitRef="Unit_Standard_AUD_jWFbINBFkE6ICAPYV1Rt5w">289419</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_i9_QnZGzz0GaVEQKDhyJsA"
      decimals="-3"
      id="Narr_FO7HSBP9y0-TPw3MSpqnXw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">206022000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_rnb7f_7pnUmlFHb9Wnmz9Q"
      decimals="INF"
      id="Narr_qtR4CbTdXESpkiidotHtuQ"
      unitRef="Unit_Standard_Institution_M99IuTpS3EGcGI2X2kWDVg">3</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_SZtzIqPLA06h5DQGnYNPaQ"
      id="Narr_VpdHGz3m1kCdXoagB8WJZg">P6Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg"
      decimals="0"
      id="Narr_Khlz1CJc80WwMV5RkQ9hYg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">18000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2020_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_fvNueUyqukK0DLB5l1PKxg"
      decimals="-3"
      id="Narr_FG2RziEULkqOzgsD6NG_xw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">174241000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_MezzanineLoanFacilityMember_FBoGmazZY0OplbK5P1a87Q"
      decimals="-3"
      id="Narr_U-hBq-5rl0CfnLrLSzDw4w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16002000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <csiq:AmountOfAvailableCommitmentCancelled
      contextRef="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g"
      decimals="0"
      id="Narr_Q0c6a_XN70ezH9VfViYF-g"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">15901795</csiq:AmountOfAvailableCommitmentCancelled>
    <csiq:AmountOfAvailableCommitmentCancelled
      contextRef="Duration_1_1_2023_To_1_31_2023_1_rKjbab9UiHvG6mHJpz6g"
      decimals="-3"
      id="Narr_TQcoDv0YSEqNVzNuev56rw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">122208000</csiq:AmountOfAvailableCommitmentCancelled>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g"
      decimals="0"
      id="Narr_qZU_AJ2KNUGfy0957cTfLg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">24513530</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_2_28_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_hN3mnRWnZUu6ZF8dIWfQ3g"
      decimals="-3"
      id="Narr_i1tRf_BmVEOABdYzMpRUQg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">230759000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_LDRFTpa0GkCYBCKoCmkv9A"
      decimals="-3"
      id="Narr_4o58xhFZIUm56gwWNrAJIA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148867000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_p2pIA34M00ef9xOnmq3h_Q"
      decimals="0"
      id="Narr_zoSUFOfpI0uJJa5XcbVURQ"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">8100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2021_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_D1U6Pvt0vEiBhcgY-xmcKQ"
      decimals="-3"
      id="Narr_pThu1wh32EipygjjcxHfMw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73167000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_FourJapaneseSubsidiariesMember_o0TMokwSpESqxliSNRvibA"
      decimals="-3"
      id="Narr_v50vLvlQXUugRzT7mEB9DA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32515000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ"
      decimals="-3"
      id="Narr_F3BQvvxmHEGxFCztJYAeAg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_W0xDUfgePEKSnJzA3ShHcQ"
      decimals="-3"
      id="Narr_XWSSj0wP2UWyTd6agVVWkA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">28000000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ"
      decimals="0"
      id="Narr_ae-sOnjw-kGxG0DbFuIglA"
      unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow">50000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_bSfNQiDBYE-FjiT7RlbTyQ"
      decimals="-3"
      id="Narr_0vfwJLb9TU6fDs8U_Y04mA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">61132000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_SaZKbDxhjk2ZrXdWVQKArA"
      decimals="0"
      id="Narr_nQPB1mFAAEKB1zS4Z7g-tQ"
      unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow">25000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_BR0kKiksTUmrLZa3XkkzRA"
      decimals="0"
      id="Narr_5CtQcvgxDEKmiiwrkRBuNA"
      unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow">25000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_JxqqL43SuUSUZNrbJiKmTw"
      decimals="-3"
      id="Narr_MngHHv6CxECjCwT33adswA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26755000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA"
      decimals="0"
      id="Narr_N3X6j4jD60uo91bU0Y2sCQ"
      unitRef="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg">500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_QwAYCmZJl02L3xzJgT2QOA"
      decimals="-3"
      id="Narr_GcRUFlrBeEiGSbY2jiGRKA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95921000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_GtVfa52VakiF4ZKM-1DJEA"
      decimals="-3"
      id="Narr_1vxq5BJsNUSUMXykhsBjDA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">87873000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ"
      decimals="0"
      id="Narr_WgFPPDrsMU-v4oOP6VFyqQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">580000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_11_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_PxbB2Rk5XEueUk0qAQK-iQ"
      decimals="-3"
      id="Narr_fBd-RLZsM0qu1umFRwsBwg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">90918000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_UOEfshE51kGG4iNgz--ZGw"
      decimals="-3"
      id="Narr_9piCEo0hT0m3YS3cGPVMXQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55510000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA"
      decimals="0"
      id="Narr_IJVmh-wrmkC7cn6It1aYVg"
      unitRef="Unit_Standard_EUR_jh3bDxQWzUqPcLzVmmceow">30000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA"
      decimals="-3"
      id="Narr_a0OSOoKdvEaOimB0WmLjYQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34106000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_bKPRqzsh-UuUuvVVOnuFOA"
      decimals="-3"
      id="Narr_DdM_V_ljtkWPVwyZ87GNAA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33676000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember_FlBVN1R30kmsfxvkYbSF6A"
      decimals="-3"
      id="Narr_C4Lzyei05UaiKHUHV9h9zw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31638000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg"
      decimals="0"
      id="Narr__I3XuO3GV0iEKvo0b1uDpQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">710000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_5oh5ARytDU-a4BaogU7feg"
      decimals="-3"
      id="Narr_CoY3ErNz1EaQATlTLrAsZA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">101944000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw"
      decimals="0"
      id="Narr_UUb1lwyUaE6oHNZss6aMZA"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">510000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_GUdfaHVn10SpFRrBPZBIMw"
      decimals="-3"
      id="Narr_ti8fLDfMLkubzVsyZkaNHQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73227000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ"
      decimals="0"
      id="Narr_5kWF8uk0XEq_1cmO6Flq-Q"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_6shra--Wb0yYacAEOczHPQ"
      decimals="-3"
      id="Narr__p3lUyJsNEu3HbF7RuzQpg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">28717000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CsiCellsYanchengCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_E2qd8LcCZU2ZyD9S9I52KA"
      decimals="-3"
      id="Narr_cE3hCzTRy0KC2ExSVghYkQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">78072000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_8UzjVGkUWUSO1O9zdGKLFg"
      decimals="0"
      id="Narr_AXm7D0XVMUW0Kgr3pHvUQg"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">880000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_yCUXmcYT0Uye3sTzz5PKIQ"
      decimals="-3"
      id="Narr_8goM64t6LEWH-y183Of3eg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">126353000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg"
      decimals="0"
      id="Narr_4mznkKuBA0-Y159YyGNiWA"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">580000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember__iAj9CK8K0u4Hf6iFxAgOg"
      decimals="-3"
      id="Narr_1C0-DEBlRkiZ7diDsRPf-Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">83278000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ"
      decimals="0"
      id="Narr_vzP1BjsbHkSX1M4r_EqTPw"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">300000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_DD2Eyj_NRU-Shv0h4SvvlQ"
      decimals="-3"
      id="Narr_kPkWNfkOuEyQtxfBRTinmQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">43075000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_d6lRyXHCw0ml5AeC6iLwGw"
      decimals="-3"
      id="Narr_jQfe1AkSVE2WxOqsBYd8Vg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">101407000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2020_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_V2G85_fiPUurY43hSFCXTg"
      decimals="-3"
      id="Narr_P-KvI_8VhEC7HEVRusHxSQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">316496000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_U293J2ngv0KvbJjbfEuF1Q"
      decimals="-3"
      id="Narr_SvxOFo9G_kmVdqCqVN5ANA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">118406000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_zpSEeGDqzkKtoerMmY7jgQ"
      decimals="-3"
      id="Narr_TxrEDJ8JXkaqMY-F7wlHIA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">193578000</us-gaap:OtherBorrowings>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"
      decimals="3"
      id="Narr_vpirmkt0HEqB9fXlKnB-OQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.012</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"
      decimals="3"
      id="Narr_tIFT4r5SV02701YusmIuFw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.083</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_RDgamwcqs0SzMLZ1uTQcSQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">333521000</csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_3ySJhTRX00WacKR4JxbjdA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,443,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 639,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,615&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,775&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:84.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,257,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_2IXKW7sms0ikBSN4gxr5qA_1_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1443816000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_iUAjWhKfR0S7FkyzumbVjg_2_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">639862000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_FrzlyFxqq0ufTC0FRaPHSA_3_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">83615000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_0D7BUR78OEyO22cPpm0z_g_4_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31775000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_Gwo8WyJOw0upMqkkKXrDPA_5_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22475000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_APJIXXFOMk6w0YI4-8CYTg_6_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35679000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_b6iZtNuSs0aC3ZmtqGJ9EQ_7_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2257222000</us-gaap:LongTermDebt>
    <csiq:ScheduleOfEffectiveInterestRatesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_wFHeMys1dU2Ne4Eylvqx4g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;%  &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfEffectiveInterestRatesTableTextBlock>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_BrXutxSrWkKrWeg7XraGTw"
      decimals="3"
      id="Tc_Ge2kc8cY5ku9bQPbd0PKbQ_3_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.030</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_ef8_AhvJHEmJNZ2D7q5Fvw"
      decimals="3"
      id="Tc_lz68-HfcxkunAprPlEWXQQ_3_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.053</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2021_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_EwcflZ0IGkmsEMXUo4Z1Bw"
      decimals="3"
      id="Tc_nIZgUxu-SUW2p3jk0mkUYA_4_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.035</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember__jUXUzlycEWTEzGVgDPIzQ"
      decimals="3"
      id="Tc_wCPkQq5WYUCZpwSqqaRN0Q_4_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.041</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:ScheduleOfInterestExpenseTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_XwrNv8MxLESn_IufB4DzPA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,197&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,316&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,439&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,874&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,266&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total interest incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,469&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,371&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfInterestExpenseTableTextBlock>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_8o5OcrPb0EuBjUkKmbWpDQ_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10197000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_uZKQmUYq30a0fsyaKglX6w_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17316000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_Th8LYzACnE-h_a17ER4IQA_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26439000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_tE91Xjuxv0CTfaki6CMJSw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18666000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_TmIzqsEXo02bXfLKApLUBg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">154000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_TG7iPRkx0EaP4B-V9F__Qg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">71874000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_EobfgzcoUUeE_GBBMMndtA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58153000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_RPRamm09QkmnNnxAZtVwXQ_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74266000</us-gaap:InterestExpense>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_eDoqiIqnZEyRu6Z6Wk0tng_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">82225000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_XbVkvRK0G0yMId-tZ1rvJA_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">75469000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_1wpQegv3aEaod9QdwncYfQ_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119371000</us-gaap:InterestCostsIncurred>
    <csiq:ShortTermNotesPayableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_1hNZHwFbp0GiVSYTQvR01w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;14.&#160;SHORT-TERM NOTES PAYABLE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company enters into arrangements with banks whereby the banks issue notes to the Company&#x2019;s materials and equipment vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the bank&#x2019;s settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable due to suppliers, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company&#x2019;s restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2021 and 2022, short-term notes payable was $881,184 and $1,493,399, respectively.&lt;/p&gt;</csiq:ShortTermNotesPayableTextBlock>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_fadcPey6kUiitbUTCIE7WQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">881184000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_Mw_l45fiq0-iy0Gp5G0FcA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1493399000</csiq:ShortTermNotesPayable>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_adOStHYgnUOELJzyo1ZEBQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;15.&#160;ACCRUED WARRANTY COSTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s warranty activity is summarized below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,053&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (46,067)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,432)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,943)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,207)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,937)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_zRaayDzNz0ycaK4PCGJv0g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:35.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,931&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,053&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (46,067)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,432)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,943)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,207)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,937)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,732&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,146&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A"
      decimals="-3"
      id="Tc_W4HLfOqcREG4T5M5-NZScw_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_smOX_EIHrEO-g6LqIKJs1w_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_gSK2wdkDQE-ybTuQH6NTVQ_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_AUyio8n5fEiUePGNtmi8Lw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26931000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_vNk7ofiZaUO4pYkT9B8NzA_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45053000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_AiOMm05sI0qkKiz8TQyUzg_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68411000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_PR_225YvUU6EIzOMhIirOg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">46067000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_O7KLZUr_b0Wfg5DqUUam6A_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35432000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_n3JdwqyTw02gspnJkA23fQ_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31943000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_EkgZrB5w7EaQUVTKBNN2hw_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">990000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_ZA0TnYz9h0udpf8EZMnWJw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2207000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_NLbFt4nXb0iHab23_XhVKw_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4937000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_hv2o6kI2o0id-FqtbR013w_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_UXvcQaM8nU6S-sBnGtBo2Q_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_OgLamj2_A0i_iNJiCPw55g_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">76677000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:RestrictedAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_5MaPAAp_G0GUTcZClNV5pA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;16.&#160;RESTRICTED NET ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As stipulated by the relevant laws and regulations applicable to PRC&#x2019;s foreign investment enterprise, the Company&#x2019;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#x201c;PRC&#160;GAAP&#x201d;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employees of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#x2019; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition to the general reserve, the Company&#x2019;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#x2019;s PRC subsidiaries are considered as restricted net assets amounting to $658,166 as of December 31, 2022.&lt;/p&gt;</us-gaap:RestrictedAssetsDisclosureTextBlock>
    <csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="2"
      id="Narr_bFR5bAq4OEeEf9CPRKA8_A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.10</csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_cGEbkQDPeEywqUKt0ijOJg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">658166000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ConvertibleNotesDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_fzfT3_w_KEKG3iCDgXZeuA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;17.&#160;CONVERTIBLE NOTES &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 16, 2020, the Company issued $200,000 of convertible notes (the &#x201c;2020 Notes&#x201d;). The Company granted the initial purchasers a 30-day option to purchase up to an additional $30,000 aggregate principal amount of the 2020 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2020 Notes are described as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Maturity date.&lt;/i&gt; The 2020 Notes mature on October 1, 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Interest.&lt;/i&gt; The 2020 Notes holders are entitled to receive interest at 2.50% per annum on the principal outstanding, in semi-annually installments, payable in arrears on April 1 and October 1 of each year, beginning April 1, 2021.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Conversion.&lt;/i&gt; The initial conversion rate is 27.2707 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $36.67 per share. The 2020 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2020 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &#x201c;Fundamental Change Make-Whole Premium&#x201d;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Redemption.&lt;/i&gt; The Company may redeem for cash all or any portion of the notes (i) at the Company&#x2019;s option, on or after October 6, 2023, if the last reported sale price of the Company&#x2019;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2021 and 2022, the carrying value of the convertible notes was $224,675 and $225,977, net of unamortized issuance costs of $5,325 and $4,023, respectively. The debt issuance costs are being amortized through interest expense over the period from September 16, 2020, the date of issuance, to October 1, 2025, the date of expiration, using the effective interest rate method at the rate of 3.18%. The amortization expense was $1,461 and $1,302 for the years ended December 31, 2021 and 2022, respectively. Coupon interest of $5,750 was recorded for each of the years ended December 31, 2021 and 2022, of which $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2021 and 2022.&lt;/p&gt;</csiq:ConvertibleNotesDisclosureTextBlock>
    <csiq:ProceedsFromConvertibleDebtInitialIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="-3"
      id="Narr_0nU7MWai70WAjXbGHCOz7g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">200000000</csiq:ProceedsFromConvertibleDebtInitialIssuance>
    <csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      id="Narr_kga-zhEO80u-9XjHPA9GLg">P30D</csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance>
    <csiq:ProceedsFromConvertibleDebtAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="-3"
      id="Narr_j5BorGt2cEaHTAWanSozpA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30000000</csiq:ProceedsFromConvertibleDebtAdditionalIssuance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g"
      decimals="INF"
      id="Narr_3Zfy_jp6xE2_fXl6xzVBig"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0250</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="4"
      id="Narr_kh0t4IIDUk20dk6eiGYS7A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">27.2707</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentAnnualPrincipalPayment
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g"
      decimals="-3"
      id="Narr_B0MbW2Pd-UCvH1b52jEoEQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1000000</us-gaap:DebtInstrumentAnnualPrincipalPayment>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_3O6khxO7tUSkOf4LkWHm_g"
      decimals="2"
      id="Narr_Miz5i-XVikSkP-QLwKDq2g"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">36.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="2"
      id="Narr_Bm1XfdEh4EO2FqF7xu-Y_g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="INF"
      id="Narr_Bxt-oFXyrkeSwFN-5UoUpw"
      unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="INF"
      id="Narr_vBLX7K70gUaQzS7Tv-tElA"
      unitRef="Unit_Standard_D_CzOrryFZXUeNpd0I3__dwg">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_IHyM1dukJU2Z7fGQSgcynw"
      decimals="2"
      id="Narr_93U1qroH-UqEiP-C02bBow"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">1</csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA"
      decimals="-3"
      id="Narr_HUj9VZnwRkajK9x8XR8spQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224675000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA"
      decimals="-3"
      id="Narr_CLWllNfAo0yf6Qo7CpHcEg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225977000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA"
      decimals="-3"
      id="Narr_oRGJcO1W9U6EzwbcmEzNzw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5325000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA"
      decimals="-3"
      id="Narr_RdFv9SF-0USYFGGNJ7pzLw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4023000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA"
      decimals="4"
      id="Narr_-gVYCkOhv0ixNBfOis3mUQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0318</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_OnDMWFSZvkGd79qHCtaCgQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1461000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_7Lj118H1_UCFjxwNRP1kjQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1302000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_BDfCZ48w_0SOht_P62rwCQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5750000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_VbXQhC5QvEOmx9CC_nEs8A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5750000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yWm-Idbh0kW6rLOO8YMOkA"
      decimals="-3"
      id="Narr_Afp68o09X0C5nRABoaahxw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1438000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_BZnCDr6LgkuTnFcJkH7epA"
      decimals="-3"
      id="Narr_jFzwssbZaUaiSX6nbZdF_A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1438000</us-gaap:InterestPayableCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_pF8bfC5mDkmO2QXu8h8d1g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Income tax expenses (benefits)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The provision for income taxes is comprised of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income (loss) before income taxes and equity in earnings of affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,357)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (117,145)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,275&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 184,113&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,943)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,705&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,665&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,956)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,728)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,424&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (39,412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,448&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,052&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,166&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,155&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,949&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,670&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,464&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,124)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,707)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (71,421)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,937&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,684)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,356&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,528&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,047&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,054&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (489)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,151&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,023&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,722&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,081&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,269&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,792)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 685&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,604)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,998)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (65,017)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,571)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (173)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,670)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,546&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,620&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,192)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,645)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (67,237)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,084&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total income tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (439)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,078)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,248)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,661)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (489)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,670)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,395&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,905&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,538&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,844&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s major operating subsidiaries and their respective income taxes are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Canada&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;CSI was incorporated in Ontario, Canada and was subject to both federal and Ontario provincial corporate income taxes at a rate of 26.5%. In July 2022, CSI filed articles of continuance to change its jurisdiction from the provincial jurisdiction of British Columbia to the provincial jurisdiction of Ontario. CSI is subject to federal and Ontario provincial corporate income taxes at a rate of 26.5% through December 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2020, 2021 and 2022. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;United&#160;States&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 22.2%, 26.4% and 24.6% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar SSES (US) Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 21.9% for the year ended December 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Recurrent Energy Group Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 26.1%, 22.2% and 22.5% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Japan&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 31.8% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Singapore&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar Energy Holding Singapore Pte. Ltd. was incorporated in Singapore and is subject to Singapore corporate income tax at a rate of approximately 17% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Germany&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Brazil&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd. was incorporated in Brazil and is subject to Brazil corporate income tax at a rate of 34% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Thailand&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has three Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2017, 2017 and 2020, respectively, one of which expired in 2022 and the other two will expire in 2025 and 2028, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;PRC&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The major operating subsidiaries, including CSI Solartronics (Suzhou) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Co., Ltd. and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#x201c;EIT Law&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;PRC (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Certain of the Company&#x2019;s PRC subsidiaries, such as CSI New Energy Holding Co., Ltd. and Canadian Solar Manufacturing (Luoyang) Inc., were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2022, only Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd (formerly known as Suzhou Gaochuangte New Energy Development Co., Ltd), Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. and Changshu Tlian Co., Ltd are HNTEs and enjoyed preferential enterprise income tax rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Hong Kong&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and are subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and equity in earnings of affiliates and the actual provision and benefit for income taxes is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The aggregate amount and per share effect of tax holiday are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of U.S.&#160;Dollars,&#160;except per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,520&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Hong Kong (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The components of the deferred tax assets and liabilities are presented as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,318&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,235&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,561&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,332&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping and countervailing duty deposits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Government subsidies&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,470&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,723&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,474&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 491&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,800&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,761&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,494&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,714&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,682)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,488)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 240,812&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 229,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,899&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,776&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,046&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,856&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,503&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 229,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,150)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (66,630)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Hong Kong (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a 5% or 10% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2022, all of the undistributed earnings of approximately $592,731 attributable to the Company&#x2019;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $29,637 to $59,273, depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Movement of the valuation allowance is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Reversals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,585)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,671)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,531)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 235&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (663)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,682&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,488&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, the Company has accumulated net operating losses of $579,862 of which $338,692 will expire between 2023 and 2042, and the remaining can be carried forward and back.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#x2019;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Tax planning strategies;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Future reversals of existing taxable temporary differences;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Further taxable income exclusive of reversing temporary differences and carry-forwards;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Valuation allowance (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-bottom:6pt;text-indent:18pt;margin:0pt;"&gt;The Company has recognized a valuation allowance of $45,682 and $43,488 as at December 31, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Uncertain tax positions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2021 and 2022 was $1,585 and $961, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table illustrates the movement and balance of the Company&#x2019;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Reductions for tax positions from prior years/Statute of limitations expirations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,011)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,763)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (678)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (415)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,863&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#x2019;s taxation years from 2016 to 2022 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company&#x2019;s income tax returns for 2017 through 2022 remain open to examination by the U.S. tax authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#x2019;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2017 retrospectively, and on transfer pricing matters for taxation years up to 2012 retrospectively. There is no statute of limitations in case of tax evasion in PRC.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_50nwUpv-lEafgJL4MTMi8A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income (loss) before income taxes and equity in earnings of affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,896)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,237&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,357)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (117,145)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,275&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 184,113&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,943)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,705&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,665&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,956)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,728)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,424&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (39,412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,448&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,052&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,166&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,562)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,155&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,949&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,670&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,464&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,124)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,707)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (71,421)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,937&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,684)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,276&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,356&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,528&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,047&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,054&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (489)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 872&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,151&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,023&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,722&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 103,081&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,269&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Deferred tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,792)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 685&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,604)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,998)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (65,017)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,571)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (173)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,670)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,546&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,620&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,192)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,645)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (24,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (67,237)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,084&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total income tax expense (benefit)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (439)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,078)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,248)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,278&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,661)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,028&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,694&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (489)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 617&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,670)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,395&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,905&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,538&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,983)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,844&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,353&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ"
      decimals="-3"
      id="Tc_7-iDqKT9Yk22ElCpUCVuxw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-31896000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA"
      decimals="-3"
      id="Tc_9E67v_JBe0G92CJlAb47Bg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6237000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA"
      decimals="-3"
      id="Tc_o84KEsx7wUOLCymPJzDpcg_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-19357000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg"
      decimals="-3"
      id="Tc_EbmiDb9UX0myuUhNrYzrOw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-117145000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ"
      decimals="-3"
      id="Tc_4bldtaPQTUOJC6bTrddwZQ_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66432000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg"
      decimals="-3"
      id="Tc_wgwr7mf3P0eYj75VldzOVw_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22275000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ"
      decimals="-3"
      id="Tc_1YeKH9i2tEGgaj5YGzplqw_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">184113000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw"
      decimals="-3"
      id="Tc_FjMRd0gYdkutF21kOErFuw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-35943000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg"
      decimals="-3"
      id="Tc_dHS525fCCEixfaHagEJlrw_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">193705000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q"
      decimals="-3"
      id="Tc_cb3NYaVhwEKtxC6yqfiZ4g_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48665000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A"
      decimals="-3"
      id="Tc_Podq5W7I1kKt09HCUp7m8Q_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">51910000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew"
      decimals="-3"
      id="Tc_AompgkO6e0-x6aO5JerZCQ_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1179000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w"
      decimals="-3"
      id="Tc_e83qrOdqMkqwmRCfEgM2Ig_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2956000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA"
      decimals="-3"
      id="Tc_JpfiRmQmQ0aESPfn2ei-vw_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-7728000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA"
      decimals="-3"
      id="Tc_k1z-9sTRhUOEwcsR-nztxw_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">69424000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA"
      decimals="-3"
      id="Tc_ymZZuQADKUqx4VJRuVGd7w_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-39412000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg"
      decimals="-3"
      id="Tc_rSqWyAatZ0mDWdGgfvr4hA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14448000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg"
      decimals="-3"
      id="Tc_GVULZVaGcE2_ngn5X8UhKg_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32052000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_TH_Uk9IByUwCUKceqVw2pIZ4w"
      decimals="-3"
      id="Tc_9wEt5O_rRUSBkGolb15_iQ_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74166000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_pCNR5N4xREOdQxhur6S0PA"
      decimals="-3"
      id="Tc_1-Rb5SYxTkWi4NKoXVkWpg_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-15562000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_cJijrFL2A0WHKl0DVqUI9A"
      decimals="-3"
      id="Tc_TU6L-4faxEybY2KHN1LvjQ_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17155000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw"
      decimals="-3"
      id="Tc_8FESJYNQYkmMDDm4mcqT0g_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18949000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug"
      decimals="-3"
      id="Tc_Q3swh38at0qS4auP4aobSA_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">58670000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw"
      decimals="-3"
      id="Tc_wO5he6AZ8EatgerP-tANOg_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40035000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_EqDUKkDflUeL8QcXSO4SNQ_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">134484000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_PAGcmfqIuUqmNcXwu6e8TA_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">138464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_B6W5dyfD7EC4QZP4mQNZ8g_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">356468000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ"
      decimals="-3"
      id="Tc_8to_qVNb00mWTpTQGEq_GQ_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36226000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA"
      decimals="-3"
      id="Tc_wdHuRI-gOUKmaxpyUyHlpQ_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1124000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA"
      decimals="-3"
      id="Tc_tmoOcdW85E27_NCdeOLQhw_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-16707000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg"
      decimals="-3"
      id="Tc_vZgru8tDE0OJbuJqqel18w_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-71421000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ"
      decimals="-3"
      id="Tc_D_4oQTiV2kSQdpfOZUspaQ_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15937000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg"
      decimals="-3"
      id="Tc_vSP1P8nxbEinxkaWLL1vkQ_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1684000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ"
      decimals="-3"
      id="Tc_-yiwhcavwUShsX-Aj2Vb-A_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30276000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw"
      decimals="-3"
      id="Tc_WZpLZAVE6EinpNKqOIx4CQ_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47356000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg"
      decimals="-3"
      id="Tc_tT5rz31ATU-zlJKpvn2bGg_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47528000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q"
      decimals="-3"
      id="Tc_arxFS6BGtkyASj2hWQj8kQ_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18941000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A"
      decimals="-3"
      id="Tc_p8VFY-moL0ex23dsxuG96Q_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24047000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew"
      decimals="-3"
      id="Tc_cbgCeeOWDEW8n0_glY-e2Q_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3054000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w"
      decimals="-3"
      id="Tc_qeuMy30Y6UWNpLEY-5nzCg_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-489000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA"
      decimals="-3"
      id="Tc_yF78zNAaOkiGUuBJCaMmSg_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">617000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA"
      decimals="-3"
      id="Tc_jThCrSRpn0GqqQU8Lckgwg_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">872000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg"
      decimals="-3"
      id="Tc_PPmcdGBx90Sf9TQH4z-qMw_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6151000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg"
      decimals="-3"
      id="Tc_IPScz3uflUyn0mL7tQOlaA_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5023000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw"
      decimals="-3"
      id="Tc_pjO2ouCgjEymMO-gMz3y0g_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8722000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug"
      decimals="-3"
      id="Tc_fAB6L8MSuUGNQvpvTveh0A_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10097000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw"
      decimals="-3"
      id="Tc_Z9FQy-mtB0O_rP8omz7JOQ_22_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19183000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_TgeZ7uxHik-1qichyTzELg_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">22255000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_NF1dBh484UOq8Umnwo1JdQ_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">103081000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_LvLg81ntz0-ahouxenFnZA_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57269000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ"
      decimals="-3"
      id="Tc_PnKvpnptO0yuoen--v86oA_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-10792000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA"
      decimals="-3"
      id="Tc_AexUZR8yGke4nNd79ATF5Q_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">685000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA"
      decimals="-3"
      id="Tc_7fAWVDLWo0uGvGwdgLauOg_25_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10629000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg"
      decimals="-3"
      id="Tc_FYjeY1f1U0qNQBERR8srGw_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23173000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ"
      decimals="-3"
      id="Tc_OOy2P32JT0arBlKAHI621A_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1604000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg"
      decimals="-3"
      id="Tc__MiLvcQd9UGmEAeh1dBSng_26_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1996000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ"
      decimals="-3"
      id="Tc_cimrdz8kXEqG6C3_WwOYsQ_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-17998000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw"
      decimals="-3"
      id="Tc_NEdkONf5TUSvYn2QdCqx3g_27_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-65017000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg"
      decimals="-3"
      id="Tc_xJjW_FFzCUOVTPQd8MT9WQ_27_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">500000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q"
      decimals="-3"
      id="Tc_r_oa017CakqwXC9Iyu9QbQ_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-10571000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A"
      decimals="-3"
      id="Tc_NPzTw5zscUKpL2qCwhdYzA_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-353000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew"
      decimals="-3"
      id="Tc_itoGs4Jm7Uef2imc_MSiHQ_28_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-173000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA"
      decimals="-3"
      id="Tc_937PF-qSXEq7F-MczhO6SQ_29_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">231000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA"
      decimals="-3"
      id="Tc_O5maAwcYnUObrUAtTyw93w_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-11670000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg"
      decimals="-3"
      id="Tc_lRyb5E1-H0KRMnrN7iJSLQ_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1244000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg"
      decimals="-3"
      id="Tc_aLBkUZ8r-E6UisiEGX6oqA_30_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5546000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw"
      decimals="-3"
      id="Tc_tADdUMPTrkyXZQ2c28kD2w_32_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3620000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug"
      decimals="-3"
      id="Tc_Y_IHAbJXEEGKmouuiOBnRg_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2192000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw"
      decimals="-3"
      id="Tc_gFt25Wm0TEK-WoUh7Sus_w_32_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2645000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Yv6TdX1HtUOZU6_s30qDnQ_33_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-24238000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_s8rDeALYDkumf73Zu2IAiQ_33_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-67237000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_3jEQ0r-2qUeiSU7Vc4g_-g_33_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16084000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CA_cvyQmGsOkkigdxj_ZXhXoQ"
      decimals="-3"
      id="Tc_-29xn52pBUW-_5TKicEV4Q_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25434000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_xVRHmoZG0kGcXxGLXJ0AVA"
      decimals="-3"
      id="Tc_ivvWNRgelkKshgZ-h9cxkw_35_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-439000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_1Ft1aN327UScfNHGQZkPWA"
      decimals="-3"
      id="Tc_r9uo-BdtSUG41UQBJpDvEg_35_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-6078000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_US_V-OF-2PDP0Sq6fDYepx-Wg"
      decimals="-3"
      id="Tc_Z1nyPdOtlEWGY28fNjU26A_36_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-48248000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_VZNDN4vrBEi2-gf522KSBQ"
      decimals="-3"
      id="Tc_NhtRD7p3gkqswEaBpHW_hA_36_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_teKTNl5O2EiyWcBM8RPDQg"
      decimals="-3"
      id="Tc_bfK9KTLHBEWJvbVGfHzSWg_36_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">312000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_CN_dx0dC1_BuUqAmn4IID9jiQ"
      decimals="-3"
      id="Tc_LM_j72T4vkSfsN7jReajTQ_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12278000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_FS2HArx_ikyd4vcyaYmbxw"
      decimals="-3"
      id="Tc_McBOQQ3jDESvf2uWc1Qnjg_37_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-17661000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN_wz48Y1FFz0mf4FVJfYu2Eg"
      decimals="-3"
      id="Tc_fD6-yH8rAkiGgXDuF3PIJQ_37_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_JP_qXkB6DJXDUqDvEE6NzSI1Q"
      decimals="-3"
      id="Tc_-ylbogBCXEa30iIjH6_keA_38_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8370000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_A6ww59MQ90ari9aEotOR6A"
      decimals="-3"
      id="Tc_GsY-3HCZEkmlyML2kTHRkg_38_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_v3oTI_R2gU6oihSNTMyZew"
      decimals="-3"
      id="Tc_JldsBbieUkeuTMkBey2qMA_38_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2881000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_SG_C6fja2ie_ESrbE2_b6B74w"
      decimals="-3"
      id="Tc_Obwg-lABoEi0tCzlrH0vbw_39_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-489000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_KT0hn0Ow0U6TI34CTiIDIA"
      decimals="-3"
      id="Tc_w5elo7CFIUqXNUu7aK9yDA_39_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">617000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_PYMlZZ9KwkOD4uL-Ubm7pA"
      decimals="-3"
      id="Tc_YA6D-t37pUeI7W8QRHTtYA_39_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1103000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_country_BR_S9eobnmzO0mO5vlIhI1wyA"
      decimals="-3"
      id="Tc_XrirmEAF5UmGFhg1hEikyA_40_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-11670000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_pnLNt2AMzUSzI0hFyBFwqg"
      decimals="-3"
      id="Tc_v9vCL-nseUKST7gZGYbBow_40_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7395000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_yjtYLLNsd0OwJ_jZ_AdRjg"
      decimals="-3"
      id="Tc_sXhsTdc4EEqemnyhEAc4lA_40_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10569000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_O4RjknUN20SR9aOK6r4Xiw"
      decimals="-3"
      id="Tc_E7AoWnA2vESZ7SnPMFdOAA_42_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12342000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_cwSQryZEuEmu4EuEXyMjug"
      decimals="-3"
      id="Tc_BrErY8VmpEG-KEG2aCrtcA_42_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7905000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HarkKg5jlUO4yNgB1F1Etw"
      decimals="-3"
      id="Tc_hooZaY87IU6WQRVJNfESIw_42_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16538000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_jD1Rf54M-0aQBhEvsAY1sA_43_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1983000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_X3WTrQBb206vTChq9-gqAA_43_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_sGeFKp_o_UqGyFxeLWCWZw_43_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73353000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q"
      decimals="3"
      id="Narr_soW1J6il4UqDMKUHxoU2eA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_nKLPFV88PEqsXTm2Asvg_Q"
      decimals="3"
      id="Narr_wkX40s_Fs0CexOZxYw0B2A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_20VDTG5dLkWDy7XqUU9Y-w"
      decimals="3"
      id="Narr_-zfe89Jyjku_YUC13T-6AQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_JKafbkw3SkOgE5oDucQjaw"
      decimals="3"
      id="Narr_ClEKANVmMUKQVVfas6LBJw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xgWSR9377kKJj4hfrhszgA"
      decimals="3"
      id="Narr_OjoL7LpMeUKT-eEefvle5w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_s3KBBk6DoUan87IBBNuZNA"
      decimals="4"
      id="Narr_NM21ud9PkU-fIsdnQ6RQBQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.222</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_kz6mkTAGJkSTYNFtmDxUSA"
      decimals="4"
      id="Narr_ebGv3gmhCk2h9_HY2m3r6w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.264</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_9CVSad79-UO-RVFnaq3B9Q"
      decimals="4"
      id="Narr__Cbdbws07ESUXd4e2ZorAA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.246</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_rXnJHpPK9kytHGIrJPLwEw"
      decimals="3"
      id="Narr_ok-LnrKnOUGbZt1d8cAxvw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.219</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_m7FBD6qubke6WZ6c3qYLBw"
      decimals="4"
      id="Narr_ewwtnsdpzEKD1k4hDPJgYQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.261</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_guLaUqHpZUWfk5Emh-2uSA"
      decimals="4"
      id="Narr_4CiCZeqe3UC_Rc6CV4DHIg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.222</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_cSkrjd0ZoEGRpSqwbb8NqQ"
      decimals="4"
      id="Narr_VxbWFcXLG0m4Gxnwg4-7bw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.225</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_jHNiUTiVgUOGEo5IEPWZQQ"
      decimals="4"
      id="Narr_rCbOv66ixUG450odzYiKlQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_PbCYhWm2ck2z_WqfXekGRQ"
      decimals="4"
      id="Narr_KNOcS0uKakO-NIXcMPy67A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_wkM9lA4CWk6AWGqDxcHv5g"
      decimals="4"
      id="Narr_gdaIb-tBF0i1CAlVg8yuWw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_C2si07GDRkiv6GSHtpKpOA"
      decimals="2"
      id="Narr_NPvwoOhPtUioOf4lJdzXuQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.17</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_6KaE9rl080igR6eWWkZHfQ"
      decimals="2"
      id="Narr_SSPgIFft7kKd9Zs0Vy9sYw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.17</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_SG_lrmHvBhGn0WXjWKhtT3aFA"
      decimals="2"
      id="Narr_53dl767bV0K9CadMnT6wfQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.17</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yRYqeAs1ZkSEswiYOORBeQ"
      decimals="2"
      id="Narr_674rN49pSUGDT7j0PXn_SQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_uIUV0klEAkqLoiD87xa3Fg"
      decimals="2"
      id="Narr_qLsXXC-wLEababipIOfnOg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_Y43hpORsYE-vcUWEpHNXrw"
      decimals="2"
      id="Narr_OoO3rYpfeEu1qkx96k_O4A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_NwOpM-4iQEqjWzfSlxmjKw"
      decimals="2"
      id="Narr_dfEii4I_40CcLuv2xxgRlQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_L7WMwTmkLk6WYqx0crNKzA"
      decimals="2"
      id="Narr_umHOnPdll0eJkuz7Xv1bbw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_8s7anVBIZEW2XzLfGFkQjw"
      decimals="2"
      id="Narr_BdgFU1l9LUOS3kvq5mI8IA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_yWrkBG_TNkCmPME7-IG4Ng"
      decimals="2"
      id="Narr_MXT6wUWUWU6oQNmjvOgjmQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_pSV1ltf1LE-I17K7zWLTkw"
      decimals="INF"
      id="Narr_Si6sCUCGq0CX6Ow5_ANpGg"
      unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ">3</csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_3hmSNvsvpkqR-t9VpwiFdA"
      decimals="3"
      id="Narr_t6n9tZ_GiE21ZMz6-OhsWw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_OqP3OGzf_kSs3SJoJZfpTA"
      decimals="3"
      id="Narr_RXnhEagutkedHw9uwLkGCA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IHfLCa6rgkyNcek4wPMrBw"
      decimals="3"
      id="Narr_Bv_OkQIrV0qXdQedNQad9Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_SVBCNZh2n0KGTiJJ1DZCMw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (13)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.12%;background:#cceeff;border-bottom:3px double #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_2EeAeLXyFkmlYmq_ZTrHYA_3_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_a8Gba-LHskiEp-l_BHUyww_3_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_PZsONqBZTEKjf2vx2N2kCw_3_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_gK53rDPeI0Or-nrQal1s0Q_4_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.04</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_vv5jFEa_A0Sxd6UWp5gudA_4_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.04</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_SpoXAZqLqEOEI3dZmgEnZw_4_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.03</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_27z6F-zDmEy_Zwlr2I35pA_5_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_UxTwovDE50iVVkQEVtZ6kQ_5_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.09</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_Iu8kz3H8h0GrnbzH7WlAFw_5_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_C-ZsiN9O0ESrgDlfFB7Z9g_6_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_erKA4etWsEiNzCK9Ijwbkg_6_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_CXyRFp2dp0-fO4khOymz9g_6_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_peTPbO8M3kWPvpVIOqXF8A_7_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.13</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_7wyEpL2IEk-sdcBLbP7N2A_7_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.04</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_Up0fLbufB0izMs5Hg2wCng_7_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.02</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_FY9d3Qm6eUamBzmtHFM0pg_8_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_IsXyjgQqSkiVss5B8ifN1Q_9_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.14</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_HxiFH2GRTUS0JxN9QGxymA_9_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_JMkYW0s_pki7qGVKaPrUbw_9_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_WqebRfXlbU-dCSSfWNIWSg_10_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_FdXxbWtT-kSth-HDBtOWWw_10_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_NLRUWxqmpUS6hliw2p73JA_11_2"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">-0.01</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_6ocOFwCrN0aVfoS0s9y0Mw_11_4"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.26</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_X-FpTWNhUkq6Ooybk5srDA_11_6"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.21</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxHolidayTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_BThLw_-MmEuDs2nmOQ3e-A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of U.S.&#160;Dollars,&#160;except per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,466&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,520&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.07&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SummaryOfIncomeTaxHolidayTextBlock>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_tVTLzQIqt0m_of6AjSy3kw_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1287000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_V7ezR6qFVkuu8HEzdPIdXA_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4466000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_9-lzLZoHgkymhDaFM2njRQ_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2520000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_10DRDA4gsEusDFJpnuK0Sw_5_2"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.02</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_uVbThKPKgEyA6XxNF9b0-Q_5_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_Ovi8hRwcTkaXrfGhnaNitA_5_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.04</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_bo-yIi8TNEmP1IgRa1HeYA_6_2"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.02</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_B4Uq9ylvQE21OiWBrswiYQ_6_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_ywteMFGiu0OcWdQNaOY0qQ_6_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0.04</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_EXmzoW4sOkWABnAiFNAlBQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,318&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,404&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,235&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,561&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 36,332&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping and countervailing duty deposits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Government subsidies&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,470&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,723&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 110,012&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,474&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 491&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,800&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,690&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,761&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,494&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,714&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,682)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,488)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 240,812&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 229,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,899&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,776&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,046&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,856&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 236,503&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 229,226&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,150)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (66,630)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 188,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 162,596&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_i-BdQmWAYkG0LUxz_eEXIw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14942000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_64V6SPIOVUSLQkXtjhqi_Q_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17318000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_3hzbGV7nck2HSrOpQJBtXg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12175000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_C5G4ZUhiUEa-YOajdlMJfQ_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11772000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_2ZkdmoSHDEGJBzTdWIuKAA_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1404000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_lNCOKblMhUu5r2uPp1-_uQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1235000</us-gaap:DeferredTaxAssetsInventory>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_ll5_JHIAt0eNRVPvVwwKww_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24910000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_-zUD2TwaSkqixkOTuRXdmw_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32351000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pN8t_G-jnUuyBXaYIZm3ew_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24561000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_wdc05RJHnEu-If8rNcXw5A_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">36332000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc__PzIKjbdwE6Xl1Ko3_DbUg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_6xAOiRSlC0yqiVW_z3uFPw_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">40000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_mw-Y3RpPCEGa0SYMbgn-AQ_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39470000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_uKbSSyoLg0aDApR2BCZnMA_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">28723000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Y_XOlAflr0Gyghkj0YcCDg_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">110012000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_yDC7G1-htkKVZ_1Xlhf_fQ_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">79474000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_S2rQN71WaUG2s5aP8x50dA_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">491000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_R3V5f0APxk2MDYwI_zXj8Q_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2677000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_zOx0XsvcykSurL_yjq0YaQ_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10800000</csiq:DeferredTaxAssetsInterestLimitation>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_GFf6LxUCPkWP0NbYbdDRWQ_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14031000</csiq:DeferredTaxAssetsInterestLimitation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_d9SqcmEsg06GZCyNqyNqBg_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47690000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_DOklwalu20OqFW4ru5dIXA_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48761000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Uldikg21j0aOZeSD49_yyg_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">286494000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_En1w_a3-bk65WDUEVGyfwA_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">272714000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_yWQ7cRz_80iiYWFWjroXRQ_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_g3E2oc4r5UuRDhFSczjAIA_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_CRDUjUdj5kSD8Kmt60OAzg_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">240812000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_CPGR4h37kUanP1f3NAUvZg_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">229226000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_WUslj1NvyUS8RQ2n3SfTzQ_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2153000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_LRSxxxTJi0uu652Fp30dGg_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2899000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Gnfz-cZuukO6_9IUDTQcHw_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27776000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_cfBCBceKSEmZqeFfbWDXkg_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34914000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_YOLIR55q0EuUYJkDe3Kv9g_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ChZO-WnWqU-k86M3ho0vAA_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Tcad7YDsi0ODVyZpbHB-9g_24_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3452000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_vhnWalXDHkexukNwe6Ma7g_24_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3906000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pkbQOptNREm68U9EYgxuAA_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19046000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ehBPk4-Usk-BmyWvw6eKyg_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24856000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_K_EnKr5tkUG85IRcBj6kkA_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">52459000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_PisCmlaO206yWa7sWNGksg_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66630000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc__dHS-70A0EGbzyrvoyhsjA_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">188353000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_VTkyqUJmsEubOJI1CC3MkQ_27_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">162596000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_9x3zrj3bsE-l8iaibgZqXw_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">236503000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_GpYrNBeRskWMprJOmQupsA_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">229226000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_pHM5OWG89UyyhzMGSjRM8Q_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48150000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_ye4TIt6fHUOhZIzXYyyZTw_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66630000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_Ehb3pVTeqEG-Z3SpyS-cjQ_31_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">188353000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc__uUcwyQ0Xk2FM6Q0HBwxvw_31_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">162596000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"
      decimals="2"
      id="Narr_LqLe7VfRS0O5qXOfjuAxYA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.05</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"
      decimals="2"
      id="Narr_SJBRZycG4UKK5klpoGfx5w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.10</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_cQKl53YyV0mmLltkfxLfLA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">592731000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="0"
      id="Narr_uie9Jxn_Ukuemg5iPdaI5Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_eiUkKIjD9UOw8r1WHb6B5Q"
      decimals="-3"
      id="Narr_ZVp5N7efHEisO6_GpeLlmA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29637000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_fTOoQ-CC1EutzjV808LS4w"
      decimals="-3"
      id="Narr_7G0_JGnh-0SfZs21snCvTg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59273000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <csiq:PreferentialWithholdingTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_4c4fmkVAYUqTFYu2qqqzPw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.05</csiq:PreferentialWithholdingTaxRate>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_H1Zm1gtK6U6hTSIFmx1QjQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Reversals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,585)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,671)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,531)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,076&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 235&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (663)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,118&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,682&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,488&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_d-XyZ4FfWEaqOe3j_wop-Q"
      decimals="-3"
      id="Tc_YxO9AwqkIE-o0tdiIRrVvQ_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA"
      decimals="-3"
      id="Tc_SF16v5DsnUuFeovy715NEA_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg"
      decimals="-3"
      id="Tc__Y2TT4ke_EGgPSNcBuAQPQ_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA"
      decimals="-3"
      id="Tc_fxh4HRSUnUumf5ihe1Ej-g_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-21585000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg"
      decimals="-3"
      id="Tc_wKIZ9cYQ6EqUz2mo832Vjw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4671000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA"
      decimals="-3"
      id="Tc_rwWsmeS-r0aMMr4H_VudGw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1531000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8t_wV95JDkGJEx6tJRXuTA"
      decimals="-3"
      id="Tc_8B1lBgoJK06BLs8lva4MUg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1076000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_oQRpwZRiqE6EZ5-lG57PCg"
      decimals="-3"
      id="Tc_Dq9AKqx32k65aS4Z21lNOw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">235000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA"
      decimals="-3"
      id="Tc_zkyRbh5i_UWTWGMk9w5d0A_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-663000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_6bdtZbuUbkuNAiTA_xvbaA"
      decimals="-3"
      id="Tc_E1iP0MQB8Eu6CZr1nufXMQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_-Vy-Bg2efE-B6kSiULH9Rg"
      decimals="-3"
      id="Tc_72RjStJYSEyDwGie_AITBw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_2WiNquh9okmYRbJvT3zzxQ"
      decimals="-3"
      id="Tc_fdcF-jnCZ0CaWlCqhYlXeA_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_EvsGyuwzzkOfYhKgV_8naw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">579862000</us-gaap:OperatingLossCarryforwards>
    <csiq:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_PousCFMlTk6TrnZyF3fLeA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">338692000</csiq:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_GFq_sfVHwEyMW7YePZQm7Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_ON7mqvis1kGRSdcLD6TUjA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Narr_8jziEZU97kSZY-pERUmWVQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1585000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_wvFtjldiMUeRZz0IXqTvnw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">961000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_dkZxjtN2cUiJzz68wDGecQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,863&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Reductions for tax positions from prior years/Statute of limitations expirations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,011)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,763)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (678)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (415)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,628&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,863&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A"
      decimals="-3"
      id="Tc_4tIoCl-x-06hRkzQOBFztA_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10557000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_p1tmT_WyxU6WJ9RAXCCbnQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9628000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_J_03CL4jcEKWJpFs95NzAQ_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5863000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc__0onHizAiUOq-tYCDiP7gQ_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1011000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <csiq:UnrecognizedTaxStatueOfLimitationsExpirations
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_wAkDFg_mN0WeoGJj4CYpEw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-3763000</csiq:UnrecognizedTaxStatueOfLimitationsExpirations>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_-VW93YgrOUisho8ezvfkRQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">678000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_Kp01XRPVs0Wrz6zH5Gm-cA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">82000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_8DZRTpPFbEi1B4cMwm1nhw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_f2vvYHHBnEm3RyVVtDMqDg_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">415000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA"
      decimals="-3"
      id="Tc_9Se2TNLsPU6NWsKYuGb-4A_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9628000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_cFd98wSY4EioTFIl6o8fGA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5863000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_jpY00NHXokuXHyRcS-Y6lA_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4770000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_a8x3HFSaoEazJurSjjtlSQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;19.&#160;EARNINGS PER SHARE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth the computation of basic and diluted earnings per share for the years indicated:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="10" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,968&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effect of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,548&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,151&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator for basic calculation &#x2014; weighted average number of common shares &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,575,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,614,391&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,324,558&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 897,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 985,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 586,420&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effects of share number from convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,833,663&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,272,157&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,272,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator for diluted calculation &#x2014; weighted average number of common shares &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,306,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,872,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,183,135&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.73&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.44&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 187,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,295&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_0TAD_cx0YECsd2R10K_Zvg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="10" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.14%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,968&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effect of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,183&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,548&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,151&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator for basic calculation &#x2014; weighted average number of common shares &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,575,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,614,391&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,324,558&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 897,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 985,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 586,420&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Dilutive effects of share number from convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,833,663&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,272,157&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,272,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Denominator for diluted calculation &#x2014; weighted average number of common shares &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,306,819&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,872,102&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,183,135&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.73&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.44&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_PeF-WaaZKkO0TD_Kmq2www_5_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_D0rE_jDyvUOgthw48snzJQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_K8ySM2br50qr5sEh_nT2aA_5_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_OE0D8frWIUiMLkuYXrmMJg_6_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1518000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Gp_CGc4-8EqQtKFsFmkXtA_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5300000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_mGG1G_vXJU-LIO6pkNme5Q_6_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5183000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_eYArL3WbWE6HDvWjPT1z1A_7_3"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148221000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_SSbxC3BVbEiMM_8IDBLU2w_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">100548000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_tyhYYcZ8S0i7IITtl4CVjg_7_9"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">245151000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_kX8-ZmWaoUqtcnQc5d6hRw_9_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">59575898</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc__MFnVuua_0OqNBmFIVBraQ_9_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_uyw68BZs-Uiq179aWO9qMw_9_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64324558</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_5oWhhg0BoUmB5V2zFekCTA_10_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">897258</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc_E9ux-hnPyUmqN2n3v9SHdw_10_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">985554</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_AFujqj6cakWHQcMoUxS0RA_10_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">586420</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_7vlANe9r80iNuMARmEALvQ_11_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">1833663</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc_feaNCaxgdUe-vSe0EkMg6w_11_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_6tMHFFPCm02gcaodcsYmIA_11_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="0"
      id="Tc_hJRIpptvC0mzj4ziUV2Rpw_12_3"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">62306819</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="0"
      id="Tc_XcGSCMqenUeOoLE9clMBYg_12_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="0"
      id="Tc_ruvlHQqA9kS3AhO9Nm4s_w_12_9"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">71183135</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_2G4hHKw8lUW-y4zNZtsZJQ_13_3"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">2.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_nwre4fSfUkCiv-2hT_UcAg_13_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_DXXewyE46UC17KxRMdw5HA_13_9"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">3.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="2"
      id="Tc_m0TPjKhOYkS7RM7zB_Axng_14_3"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">2.38</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="2"
      id="Tc_E3n084BR-EOusELmbx8Llw_14_6"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Tc_oZWJnvdBVkmoSZzJVD2MMQ_14_9"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">3.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_4kHBZDtCckuC1lZRDP08eA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:32.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 187,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,877&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,295&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_20uKseaLHUOj57uBLPyzOA"
      decimals="INF"
      id="Tc_7f1hwPZOWUCHUVkJUs61OQ_3_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">187083</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_ZYo8x2HaUEWycOJBxmRXqg"
      decimals="INF"
      id="Tc_YR51s24-YUWx2xpvPiBSIg_3_4"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">3877</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_EbI2hZLSmk-cLW7eJHIYuQ"
      decimals="INF"
      id="Tc_n7y3GXO1XEKnA6gBBHzF4A_3_6"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">9295</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_GkoZM-eJOUSN9yz2xyryJw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party balances&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The amount due from related parties, current of $48,614 and amount due from related parties, non-current of $33,489 as of December 31, 2022 primarily consists of shareholder loans of $52,424 and $29,613, respectively, to Horus and Recursos, each the Company&#x2019;s 49% owned affiliates in Mexico with the remaining 51% ownership by a Korean investor. No amount was due as of December 31, 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The amount due to related parties as of December 31, 2022 was not material. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Guarantees and loans&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Dr. Shawn Qu fully guaranteed loan facilities from two Chinese banks of RMB135,000 ($20,648) in 2020, and from a Chinese bank of RMB12,000 ($1,882) in 2021, respectively. No amount was drawn down under the facilities as of December 31, 2020 and 2021. Dr. Shawn did not guarantee loan facilities of the Company in 2022. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company granted 26,073 restricted share units to Dr. Shawn Qu in 2020 on account of his having guaranteed these loan facilities. No grants were made in 2021 and 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Sales and purchase contracts with affiliates&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, 2021 and 2022, the Company provided asset management service to CSIF, the Company&#x2019;s 14.64% owned affiliate in Japan, in the amount JPY394,506 ($3,723), JPY829,053 ($7,541) and JPY545,131 ($4,180), respectively, and provided O&amp;amp;M service to CSIF in the amount of JPY805,021 ($7,564), JPY981,161 ($9,195) and JPY914,933 ($7,036), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Sales and purchase contracts with affiliates (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2022, the Company sold modules to Salgueiro I Renewable Energy S.A., Salgueiro II Renewable Energy S.A. and Salgueiro III Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_1LvL-xv2mkeNujMCoY0EMg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_pS-Go_5FLU2fFAyjeOmIPg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $119, $119 and $119, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $105, $105 and $114, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $11,636, $9,996 and $9,403, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2022, the Company sold modules to Francisco SA I Renewable Energy S.A., Francisco SA II Renewable Energy S.A. and Francisco SA III Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_rX8mKLfInEixfE-FxeSSeA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_lRXaAHW03E6vCsPZ9oMrLg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $220, $211 and $211, respectively. In 2021, the Company sold modules to these affiliates in the amounts of $7,170, $7,592 and $8,121, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2022, the Company sold modules to Lavras I Solar Renewable Energy S.A, the Company&#x2019;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $202. In 2021, the Company sold modules to Lavras I Solar Renewable Energy S.A., Lavras II Solar Renewable Energy S.A., Lavras III Solar Renewable Energy S.A., Lavras IV Solar Renewable Energy S.A. and Lavras V Solar Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_MMEOmfiFiUGvrWM6wp5wpQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_kyTZTIb-nEa-mkyLsy99lQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_5FFKGbxPDkGKxFAQFeG8RQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;in&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_ZKUChQhi4EmS0C1BedBjBg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Brazil&lt;/span&gt;&lt;/span&gt; with the remaining 80% ownership by Chinese investors, in the amounts of $5,707, $5,842, $6,049, $6,233 and $6,233, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2022, the Company provided battery storage solutions to Sonoran West Solar Holdings, LLC. and Sonoran West Solar Holdings 2, LLC, each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_FaLdBc66G0qw20KSBvX4wA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_PAUKuvclakqwXFFUNtLlUQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in the United States held through RE Crimson Holdings LLC with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $207,728 and $159,655, respectively. In 2021, the Company provided battery storage solutions to these affiliates in the amounts of $12,822 and $6,955, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021 and 2022, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#x2019;s 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB10,831 ($1,688) and RMB34,772 ($5,192), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the Company sold modules to Jaiba 3 Renewable Energy S.A., Jaiba 4 Renewable Energy S.A. and Jaiba 9 Renewable Energy S.A., each the Company&#x2019;s 20% &lt;span style="-sec-ix-hidden:Hidden_M6CBjTP4X0SQ9Wbj1KLxcA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;owned&lt;/span&gt;&lt;/span&gt; &lt;span style="-sec-ix-hidden:Hidden_a2e5dw9jGkaHi-Y-vsnysw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;affiliate&lt;/span&gt;&lt;/span&gt; in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $834, $3,210 and $3,046, respectively. In 2020, the Company sold modules to these affiliates in the amounts of $5,971, $3,696 and $1,372, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020 and 2021, the Company sold two and two solar power projects to CSIF in the amount of JPY888,000 ($8,392) and JPY30,601,181 ($282,133), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020 and 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#x2019;s 10.91% owned affiliate with the remaining 89.09% ownership by Chinese investors, in the amount of RMB31,388 ($4,545) and RMB19,378 ($2,995), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2020, the Company provided EPC services to Lavras Solar Holding S.A., the Company&#x2019;s 20% owned affiliate in Brazil, in the amount of BRL5,061 ($974).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2020, the Company fully disposed of its ownership of Suzhou iSilver Materials Co., Ltd. for cash and exchange of shares with an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB168,032 ($24,301) from this former affiliate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In July 2020, the Company fully disposed of its ownership of Suzhou Kzone Equipment Technology Co., Ltd. for cash to an unrelated third party. From January 1, 2020 through the date of disposal, the Company purchased raw materials in the amount of RMB7,381 ($1,048) from this former affiliate.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg"
      decimals="-3"
      id="Narr__yIZUkS1Yk-Jf3tmh5_6hw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48614000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesNoncurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0tDMGB0DXUeGqDL7FOuRFg"
      decimals="-3"
      id="Narr_-7aW_pNCJ0Ko4If3yeJ05Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33489000</us-gaap:DueFromRelatedPartiesNoncurrent>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_SHRHbmlUVEOFGzs9zxkjGQ"
      decimals="-3"
      id="Narr_cbY0HPXm3EmFHMml9i3jwA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">52424000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_a0Hr63KJ70yOtkBh9FbWBA"
      decimals="-3"
      id="Narr_ep38YtVR3UOPuOO-4Cdl3g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29613000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_AffiliatedEntityMember_xfB3zunXMkaPrFa7Uu1FMQ"
      decimals="2"
      id="Narr_FTD_WNzPlEOAjlemvS970A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_KoreanInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_lTNxmIcDc0eLo7Io5oetDw"
      decimals="2"
      id="Narr_sviADPw_9EylRvSaVe9d8Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.51</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw"
      decimals="0"
      id="Narr_p-4xf7UzgU2KH4oLzVf1Og"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">135000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2020_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_C51Rci5lo0yg57pe6wlehw"
      decimals="-3"
      id="Narr_G0mtBxOqrkeqpe3nvStbsA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20648000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww"
      decimals="-3"
      id="Narr_uYmD6W0sc0yNla9F2EzAvQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">12000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember__yaM1Ljys0u12Iuj1Aw2ww"
      decimals="-3"
      id="Narr_beDchR3J6E2dlKrU7nM90A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1882000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_Ipx2-GFfUkOTkm9JI0qMYA"
      decimals="INF"
      id="Narr_8UUleYF9sEmgveRdEPNiTA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">26073</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw"
      decimals="4"
      id="Narr_QV8Av3TPF0GSmKv_p36oSQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA"
      decimals="4"
      id="Narr_Isc6ZHzFzEueL6i289kwEw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_kfz6Uwf0RU--Y70gGEJqjw"
      decimals="4"
      id="Narr_levAw6dhXk2JZuRiUlq2fQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1464</csiq:PurchaseOfUnitsPercentage>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w"
      decimals="-3"
      id="Narr_EvVyzkhV2kSPbwWhSSCnVQ"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">394506000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_1Z27syjvRE-i5lEHpONH4w"
      decimals="-3"
      id="Narr_PVmKxUawC0WWkrkp6U2cjw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3723000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g"
      decimals="-3"
      id="Narr_A8CeoydvpkGXaPFlyvRKAg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">829053000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_bfHcHRi6TkuQU3OzcBQy_g"
      decimals="-3"
      id="Narr_yEC9no259EyE_i1Q3QkUxg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7541000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag"
      decimals="-3"
      id="Narr_Fio0r0Sf7024Nb1PaIG__w"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">545131000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_eVttdROVU06XOnNnRET0Ag"
      decimals="-3"
      id="Narr_7QnbXOpldkWoNYDf8GiDUw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4180000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ"
      decimals="-3"
      id="Narr_PjRpLukxNEqIZRuynFxsUg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">805021000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_znzcR9ytykWvcrw1Tj10kQ"
      decimals="-3"
      id="Narr_9oxM42QVF0W4YWPe4BJb-Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7564000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw"
      decimals="-3"
      id="Narr_POahQOfVj06oBDmLZRthCQ"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">981161000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_J2bQ8mUGkUG57KSAlsptvw"
      decimals="-3"
      id="Narr_-fMTI3I2E0KEA6sRy1wP2w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9195000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q"
      decimals="-3"
      id="Narr_ti9AvrFAaEO0ujTGQgu4Wg"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">914933000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_4cn2iyXeLE-lC8vk88ki8Q"
      decimals="-3"
      id="Narr_EPIjsGAdW0qxVZugn3QV2g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7036000</csiq:ServiceRevenueFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA"
      decimals="2"
      id="Narr_ZT82sVZueEa9A0oFsTfIXw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ"
      decimals="2"
      id="Narr_E9dxFmm4mk6CcAVSLrPgVw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_1LWEyadRx0SiudzNpBPfTA"
      decimals="-3"
      id="Narr_F64psLsCzEaZWSeLWzE_zQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_ujsLP9qDPE2I2tPKR_gFUg"
      decimals="-3"
      id="Narr_POJnSR6JWES4-o9LvTUTEQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_gg7UwLk4VEWKZvgoBHFS8g"
      decimals="-3"
      id="Narr_Tv5qmmLAw0KgCwus4_x_Ww"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_xZkfM4_9xEWPTFx94W3T8w"
      decimals="-3"
      id="Narr_8izOSBGoK0ajo6gRgqNXeA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">105000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_5ssGvNdPnUKZYZHXTOSfRg"
      decimals="-3"
      id="Narr_HOd-vNgyg0idVd4G93DByg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">105000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_DJTXy6CEG0-AV8ylCKc3vA"
      decimals="-3"
      id="Narr_XlzmkU12z0GtEO8JuvEHQw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">114000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIRenewableEnergyS.aMember_WmVo7rnnuEGrQal9Fflqnw"
      decimals="-3"
      id="Narr_34WKDtRurE6ZO4eZF39HNw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11636000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiRenewableEnergyS.a.Member_oEjbBL6pUUqYnCNIJL8JRQ"
      decimals="-3"
      id="Narr_FBwk4qHJIEi5cI8wO5B49w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9996000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SalgueiroIiiRenewableEnergyS.a.Member_AlTpeR0QcEq-rYzxFaeTew"
      decimals="-3"
      id="Narr_Ycdve1Pim0-BrIMCW7cqug"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9403000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg"
      decimals="2"
      id="Narr_hYdjs1XZ7EuhqXF_bRpQDg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ"
      decimals="2"
      id="Narr_bGpEV0cUGkuzy1wXVo8aGA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_58B7tZLz_kiMEx5aI9tWrg"
      decimals="-3"
      id="Narr_JPT8HT0J70Kfw2l1f1iqnw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">220000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_PZ8VUDM1Q0eUEtbp-YNqjA"
      decimals="-3"
      id="Narr_KMctx6L0iECRmuhUZdnCGA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">211000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw"
      decimals="-3"
      id="Narr_CezzD8X5wE2-gIHcSfy6tQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">211000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_aj99rnVU9k6oIUpQK5Tsgw"
      decimals="-3"
      id="Narr_K8O8fbDI-kGkEfa1-R9WOg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">211000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ"
      decimals="-3"
      id="Narr_HoOv4RGZi0mjOf3trJYklA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7170000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_sgyuGjRtika4gcWueQDcxQ"
      decimals="-3"
      id="Narr_kViIrHLeL0Six90Kto6ltw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7170000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w"
      decimals="-3"
      id="Narr_y6BjtAg6XUqRy5GUtwO_3g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7592000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiRenewableEnergyS.a.Member_hJoQ7DlH4ESZIphccuRe1w"
      decimals="-3"
      id="Narr_CQJm8987l0KKx05cNaqGyw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7592000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_FranciscoSaIiiRenewableEnergyS.a.Member_0dZ5Ua4ALUOBrU-YlwSSxA"
      decimals="-3"
      id="Narr_L7lqMAcNGkWXz0WB4sQwoA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8121000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw"
      decimals="2"
      id="Narr_5VcZyKC2_UWhngWC4ALHSg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ"
      decimals="2"
      id="Narr_yJYUgzEmBk2q1iyKRh7Hww"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_R1PxsJyvDkWRT4DgMJArBw"
      decimals="-3"
      id="Narr_rHsRJ91mEECIrcPYyxWsOg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">202000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g"
      decimals="2"
      id="Narr_fmvZ_PmLi0OxJ0atqwt6Gw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_MAt21UgCsUixhRiM7OpbyQ"
      decimals="2"
      id="Narr_FBkloCxJnE6g6BPoNXwe4w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g"
      decimals="-3"
      id="Narr_v7WEo1P_R0-kW2bWFCjRTg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5707000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasISolarRenewableEnergyS.a.Member_gmm4c25QnEq81AVYFelB5g"
      decimals="-3"
      id="Narr_KveWnFkxQUKiS0IZbnQXDg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5707000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiSolarRenewableEnergyS.a.Member_B_OGwyj3nEmiBRRqzWURYA"
      decimals="-3"
      id="Narr_vb9x4YTqk06ZvDYxEahCLQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5842000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA"
      decimals="-3"
      id="Narr_8Z7qEBYDsEiFjkbswXqiKA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6049000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIiiSolarRenewableEnergyS.a.Member_IFbzefBhDkOWwnGN-x7FmA"
      decimals="-3"
      id="Narr_LHigv-SRr0eg3WUfWgIsSQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6049000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasIvSolarRenewableEnergyS.a.Member_9cz71A1FWEaelxDNfijTXw"
      decimals="-3"
      id="Narr_4bmu8HMc8UCDW4bLKLrRnA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6233000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasVSolarRenewableEnergyS.a.Member_1PPGV5FbJE2yea96hyDR3Q"
      decimals="-3"
      id="Narr_YJ0wts4eOEGFm9XnMb8lZg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6233000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g"
      decimals="2"
      id="Narr_HxkmXNPaB06-TDrRH-3sMQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_-t5FdDb6hkufSVqLNzUirg"
      decimals="2"
      id="Narr_h6yylajYUkum_XusY70HXA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_LGlK2yV4TU2kWib34ykS4g"
      decimals="-3"
      id="Narr_1COzDcLTbUGt4QX6GrMhAA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">207728000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_Z0Mooh6vLU2TwQkIhDLtww"
      decimals="-3"
      id="Narr_McvVAybfPE6Mg9bm4lYgrw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">159655000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldingsLlcMember_3U4mSeGtfECB7Kx_FmhROQ"
      decimals="-3"
      id="Narr__CgVncBxpUqjY7sE2P_gmg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12822000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_O0LHsPjmXEqP55phlirSbQ"
      decimals="-3"
      id="Narr_lpIUMKUYKEWpJjhbIEKIsQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6955000</us-gaap:RevenueFromRelatedParties>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q"
      decimals="4"
      id="Narr_FzcQieBIp0aK8rpQVIZ-wQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_OpQOpHK-gUmgpUUXcRGtoA"
      decimals="4"
      id="Narr_zYShZ87oGEuCorZBu7GIeA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_FdRhjalZHkCkviXRSKPc3g"
      decimals="4"
      id="Narr_SCwvEt2DNkOvFxr_OtpR8w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q"
      decimals="-3"
      id="Narr_5MZDxk3Sckajcsd0XZbagQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">10831000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_LIFcAsjLLE6n17P8iaEy8Q"
      decimals="-3"
      id="Narr_j9SzBNo00kWqkSoQsnip-A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1688000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA"
      decimals="-3"
      id="Narr_rug8dtE2FE6Z3hzPXhaaEg"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">34772000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_81Pa_Na7_kWGIoA_CFcleA"
      decimals="-3"
      id="Narr_aRqiptlze0GE5GbOQJUqww"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5192000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA"
      decimals="2"
      id="Narr_hZ-noNvNFUuz1HynYx_v_A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_hASr3WyBxEGIBKoykKZgAA"
      decimals="2"
      id="Narr_fTlv_Emtj0STCnPwa6YNXw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_hu9JHdciQ0qKordlvnbPcA"
      decimals="-3"
      id="Narr_Q8KLYzYkMk6zr_VftQnA1g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">834000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SonoranWestSolarHoldings2LlcMember_APswTh2QfU67Df9ay32KkQ"
      decimals="-3"
      id="Narr_xzeQAC2gtkKbchqU1uFfLw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">834000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_jM4CmQ6MT0Wj0ztUMxMHow"
      decimals="-3"
      id="Narr_xhJGKvAmYUiYWOk_ZBd9NQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3210000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ICxBwfY3P0mVNJsH4zxABA"
      decimals="-3"
      id="Narr_tPVy_sLvDkmW2mKly_sR4g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3046000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba3RenewableEnergyS.a.Member_I6frUTDhTE2ONJbMuU5_BQ"
      decimals="-3"
      id="Narr_2wQHjvAPkEKeXUik7e0bFA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5971000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba4RenewableEnergyS.a.Member_d42fvhXtQEGQW3D25Eu7pQ"
      decimals="-3"
      id="Narr_vPwxkEmAKEG8oIcdoS4rzg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3696000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_Jaiba9RenewableEnergyS.a.Member_ewW64LBAdEm1FIjILJF9fA"
      decimals="-3"
      id="Narr_tdIwnFMfK02EWPygb4g05A"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1372000</us-gaap:RevenueFromRelatedParties>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_P5pp0OW6dkqFzWxbsWlEOw"
      decimals="INF"
      id="Narr_zecCTNAG0US_Tq4x_EdWHw"
      unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ">2</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_orLTbpcAvEeqidNfxa8NtA"
      decimals="INF"
      id="Narr_Mdm_buufukajHtSp2byhyA"
      unitRef="Unit_Standard_item_JgTJLc2UHE-EzZ9EnvshEQ">2</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA"
      decimals="-3"
      id="Narr_quBkeSHekUWyWy9nmnVB3Q"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">888000000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_krmrr0R3DE2W_edkr_Z2bA"
      decimals="-3"
      id="Narr_iQ_pgVyK80iwaQofLlWxCA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8392000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw"
      decimals="-3"
      id="Narr_aZwEWoN9RkqcywNHcqrzJA"
      unitRef="Unit_Standard_JPY_mjHE1drkEkO9O3LaAjXZnQ">30601181000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_EIxPZokHyEOcgqDKMtekuw"
      decimals="-3"
      id="Narr_gFcECf6H_0-lqbSsmszodA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">282133000</us-gaap:RevenueFromRelatedParties>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg"
      decimals="4"
      id="Narr_leAqV__VD0SvyCMrJAnaeQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg"
      decimals="4"
      id="Narr_gXVATjVfjUOox9qCfMyFCQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2020_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_I0j2SShHx0uoZQu87nlOSg"
      decimals="4"
      id="Narr_uYCXQvkIxkuTU0nV6sua4g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_ZV78sFpvKUm2pQmA3NhOZA"
      decimals="4"
      id="Narr_1CQ4QS8YzEWsSV4fdMt-7w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg"
      decimals="-3"
      id="Narr_8kYCL9TfykilLbd8fa6vLw"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">31388000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_snkXdOhnlEy7SzBir0zMmg"
      decimals="-3"
      id="Narr_Oa2tM18y1kC5IuMUVXD26w"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4545000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg"
      decimals="-3"
      id="Narr_3tcgoqBIC0uc-ahSG_GXGg"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">19378000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_sNmrX0ZaqECygSIeGHWxOg"
      decimals="-3"
      id="Narr_qrbrtGhba0mYfFvRF1_EMg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2995000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavrasSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_FdZv7LiWSk6IDIajMoUV5w"
      decimals="2"
      id="Narr_Ssh-gMVMOUGnlatBKrA3Jw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w"
      decimals="-3"
      id="Narr_CrHZxQUuGk-I5t2lX6zGsA"
      unitRef="Unit_Standard_BRL_gy89QudJZ0W6xxLjiUZmbg">5061000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LavrasSolarHoldingS.aMember_7_TIP9a1yEmsGckNWgPj0w"
      decimals="-3"
      id="Narr_ZwGPVih9yUKJcmbuM0ZRRA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">974000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg"
      decimals="-3"
      id="Narr_ichk0Ehim0qRWub1Sm_Euw"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">168032000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_11_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_JMxA4AwqV0mpkesJRALYeg"
      decimals="-3"
      id="Narr_1_WUcAJFxUWpa1HK_cKvBw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24301000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw"
      decimals="-3"
      id="Narr_lOrVLCtxiUWZAsMQkIokbQ"
      unitRef="Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA">7381000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2020_To_6_30_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Nk74-mms-ES3qPH0T-EDrw"
      decimals="-3"
      id="Narr_85zafGeICEG85gOzdMptfw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1048000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_SYPUmo774EqIyHD1mWjoEw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;a)&#160;&#160;&#160;&#160;Capital commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2022, the commitments for the purchase of property, plant and equipment were approximately $300,294, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 267,766&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Solar power system commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2022, the commitments related to construction EPC and other services of the Company&#x2019;s solar power systems were approximately $56,124, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,617&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,245&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;c)&#160;&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Class Action Lawsuits&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In January 2015, the plaintiff in a class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court approved a settlement of the action on October 30, 2020. The settlement is no admission of liability or wrongdoing by the Company or any of the other defendants. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar 1&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;On October 17, 2012, the United States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November 30, 2012, the U.S. International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S. CSPV industry. The USITC&#x2019;s determination was subsequently affirmed by the U.S. Court of International Trade, or CIT, and the U.S. Court of Appeals for the Federal Circuit, or Federal Circuit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;As a result of these determinations, the Company was required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to the Company were 13.94% (antidumping duty) and 15.24% (countervailing duty). The Company paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August 7, 2015, the CIT sustained the USITC&#x2019;s final determination and on January 22, 2018, the Federal Circuit upheld the CIT&#x2019;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;The rates at which duties will be assessed and payable are subject to administrative reviews.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;c)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;The USDOC published the final results of the first administrative reviews in July 2015. As a result of these decisions, the duty rates applicable to the Company were revised to 9.67% (antidumping duty) and 20.94% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#x2019;s countervailing duty rates, and no change was made to the Company&#x2019;s countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#x2019;s antidumping duty rates, and no change was made to the Company&#x2019;s antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#x2019;s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to the Company was reduced to 8.52% (from 9.67%) and then to 3.96% (from 8.52%). Because the Company was not subject to the second administrative review of the countervailing duty order, its countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#x2019;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, which in June 2020 reversed the CIT&#x2019;s decision, in part, and directed the USDOC to reconsider certain issues related to its final determination. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#x2019;s antidumping duty redetermination. As a result, the Company&#x2019;s antidumping duty rate was reduced to 0.00% (from 3.96%). There was no further appeal to the Federal Circuit of the USDOC&#x2019;s antidumping duty redetermination and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the third administrative reviews in June 2017 (antidumping duty) and July 2017 (countervailing duty), and later amended in October 2017. As result of these decisions, the duty rates applicable to the Company were changed to 13.07% (from 8.52%) (antidumping duty) and 18.16% (from 20.94%) (countervailing duty). The assessed rates were appealed to the CIT. The CIT has twice remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. Pursuant to CIT&#x2019;s remand orders, the USDOC issued a redetermination. The antidumping duty rate applicable to the Company was reduced to 4.12% (from 13.07%) and then further to 3.19% (from 4.12%). In June 2020, the CIT issued its third opinion sustaining the USDOC&#x2019;s remand redetermination. The Company filed a motion for reconsideration with the CIT advocating for an even lower antidumping duty rate. In September 2020, the CIT granted the Company&#x2019;s motion for reconsideration and remanded to USDOC for further consideration of its antidumping duty rate. The USDOC submitted its antidumping duty redetermination to the CIT in September 2021. In December 2021, the CIT sustained USDOC&#x2019;s antidumping duty redetermination. As a result, the Company&#x2019;s antidumping duty rate was reduced to 0.00% (from 3.19%). There was no further appeal to the Federal Circuit of the USDOC&#x2019;s antidumping duty redetermination and, therefore, this decision is final. The CIT has likewise twice remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. In August 2020, the CIT sustained USDOC&#x2019;s second remand redetermination. As a result, the Company&#x2019;s countervailing duty rate was reduced to 7.36% (from 18.16%). There was no further appeal to the Federal Circuit of the USDOC&#x2019;s countervailing duty redetermination and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because the Company was not subject to the fourth administrative review of the antidumping duty order, its antidumping duty rate remained at 13.07%. In this review, the countervailing duty rate applicable to the Company was reduced to 11.59% (from 18.16%) for the broader Company and 10.64% (from 18.16)% for Canadian Solar International Limited. The countervailing duty rates were appealed to the CIT. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. Pursuant to the CIT&#x2019;s remand orders, the USDOC made a redetermination that reduced the Company&#x2019;s countervailing duty rate to 5.02% (from 11.59%) for the broader Company and 4.22% (from 10.64 percent) for Canadian Solar International Limited. The Company appealed the CIT decision to the Federal Circuit to contest USDOC&#x2019;s continued assessment of a countervailing duty rate related to the alleged electricity subsidy program. In January 2022, the Federal Circuit sustained the CIT&#x2019;s decision, and no change was made to the Company&#x2019;s countervailing duty rate. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the fifth administrative reviews in July 2019 (antidumping duty) and August 2019 (countervailing duty). The antidumping duty rate applicable to the Company was lowered to 4.06% (from 13.07%). The countervailing duty rate applicable to the Company was reduced to 9.70% (from 11.59%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but this amendment resulted in no change to the Company&#x2019;s 9.70% rate. The countervailing duty and antidumping duty rates were appealed to the CIT. Pursuant to the CIT&#x2019;s remand order in the antidumping appeal, USDOC made a remand redetermination that reduced the Company&#x2019;s antidumping duty rate to 3.30% (from 4.06%). In May 2021, the CIT sustained USDOC&#x2019;s antidumping duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#x2019;s antidumping duty redetermination and, therefore, this decision is final. The CIT remanded the countervailing duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. Pursuant to the CIT&#x2019;s remand order in the countervailing duty appeal, USDOC made a remand redetermination that reduced the Company&#x2019;s countervailing duty rate to 3.65% (from 9.70%). In May 2022, the CIT sustained USDOC&#x2019;s countervailing duty redetermination. There was no further appeal to the Federal Circuit of the USDOC&#x2019;s countervailing duty redetermination and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the sixth administrative reviews in October 2020 (antidumping duty) and December 2020 (countervailing duty). USDOC assessed an antidumping duty rate of 68.93% (from 13.07%). The antidumping duty final results were amended to correct ministerial errors in December 2020 and as a result, the antidumping duty rate applicable to the Company was raised to 95.50% (from 68.93%). USDOC assessed a countervailing duty rate of 12.67% (from 9.70%). The countervailing duty final results were amended to correct ministerial errors in April 2021 and, as a result, the Company&#x2019;s countervailing duty rate was reduced to 11.97% (from 12.67%). The antidumping duty rates were appealed to the CIT. The CIT remanded the antidumping duty appeal to the USDOC to consider adjustments to the Company&#x2019;s rate. Pursuant to the CIT's remand order, the USDOC made a redetermination that reduced the Company's antidumping duty rate to 23.02% (from 95.50)%. This decision by the CIT was appealed to the Federal Circuit in March 2023, and the Company is currently participating in the appeal at the Federal Circuit. The Company did not appeal USDOC&#x2019;s final results of its sixth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#x2019;s countervailing duty rate is expected to remain at 11.97%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC published the final results of the seventh administrative reviews in August 2021 (countervailing duty) and October 2021 (antidumping duty). The antidumping duty rate applicable to the Company was lowered to 0.00% (from 95.50%). The countervailing duty rate applicable to Canadian Solar International Limited (&#x201c;CSIL&#x201d;) was raised to 19.28% (from 11.97%). USDOC did not change the rate of 11.97% for Canadian Solar Manufacturing (Changshu) Inc. and Canadian Solar Manufacturing (Luoyang) Inc. because the countervailing duty review was rescinded for both of these companies. The Company did not appeal USDOC&#x2019;s final results of its seventh administrative reviews and, therefore, these decisions are final. The Company&#x2019;s antidumping duty rate will remain at 0.00% and the Company&#x2019;s countervailing duty rate is expected to remain at 19.28% for CSIL.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC published the final results of the eighth administrative reviews in June 2022 (antidumping duty) and July 2022 (countervailing duty). The USDOC determined that the Canadian Solar entities subject to the eighth antidumping duty administrative review had no shipments during the period of review and therefore, the Company&#x2019;s antidumping duty rate (0.00%) will remain unchanged for its Solar 1 CSPV products. The antidumping duty final results were amended to correct ministerial errors in August 2022, but this amendment resulted in no change to USDOC&#x2019;s no shipment determination with respect to the Company. USDOC assessed a countervailing duty rate of 15.75% (from 19.28%). The countervailing duty final results were amended to correct ministerial errors in August 2022 and, as a result, the Company&#x2019;s countervailing duty rate was raised to 15.87% (from 15.75%). The Company did not appeal USDOC&#x2019;s final results of its eighth administrative review of the countervailing duty order and, therefore, this decision is final and the Company&#x2019;s countervailing duty rate is expected to remain at 15.87%.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The ninth and tenth antidumping duty and countervailing duty administrative reviews were initiated in February 2022 and February 2023 and are currently underway. The USDOC is currently scheduled to release the final results of the ninth antidumping and countervailing duty administrative reviews in May 2023, subject to potential extensions. The Company submitted no-shipment certifications in both the ninth and tenth administrative reviews. In its preliminary results, USDOC preliminary determined that the Company had no shipments and stated its intent to rescind the review for the Company. The Company&#x2019;s countervailing duty rate, therefore, is expected to remain the same at 15.87%. USDOC will likely issue preliminary results of the tenth administrative reviews in late 2023 or early 2024.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#x2019;s first sunset review. The Company did, however, participate in the USITC&#x2019;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar 2&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;&#x201c;Chinese CSPV products subject to Solar 2 orders&#x201d; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#x201c;Taiwanese CSPV products subject to Solar 2 orders&#x201d; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, the Company is required to pay cash deposits on these CSPV products, the rates of which applicable to the Company&#x2019;s Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC&#x2019;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#x2019;s decision confirming the USDOC&#x2019;s determination but reduced the Company&#x2019;s countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The antidumping cash deposit rate applicable to the Company&#x2019;s Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. The Company paid all the cash deposits due under these determinations. There is no countervailing duty order on Taiwan Solar 2 products. The rates at which duties will be assessed and payable are subject to administrative reviews.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because the Company was not subject to the first administrative reviews of the Solar 2 orders, the Company&#x2019;s duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The Company&#x2019;s antidumping duty rates for the Company&#x2019;s Taiwanese CSPV products had ranged from 3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The second administrative reviews for the Solar 2 China antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to the Company&#x2019;s Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). The USDOC published the final results of the second administrative review for the Taiwan antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to the Company is 1.33%. There is no ongoing litigation related to the Taiwan antidumping duty rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The Company was not subject to the third administrative reviews of the Chinese orders and, therefore, the Company&#x2019;s duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The third administrative review of the Taiwan antidumping order concluded in mid-2019. The rate assessed to the Company was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwan antidumping duty rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC rescinded the fourth administrative reviews of the Solar 2 China antidumping duty and countervailing duty orders in late 2019. The Company&#x2019;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The rate assessed to the Company in the fourth administrative review of the Taiwan antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC rescinded the fifth administrative reviews of the Solar 2 China antidumping and countervailing duty orders. The Company&#x2019;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for the Company&#x2019;s Chinese CSPV products. The USDOC published the final results of the fifth administrative review of the Taiwan antidumping duty order in September 2021. The USDOC determined that the Canadian Solar entities subject to the fifth administrative review had no shipments during the period of review and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC did not initiate the sixth administrative reviews of the Solar 2 China antidumping and countervailing duty orders because no parties requested reviews. The Company&#x2019;s duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for its Chinese CSPV products. The USDOC published the final results of the sixth administrative review of the Taiwan antidumping duty order in March 2022. The USDOC determined that the Canadian Solar entities subject to the sixth administrative review had no shipments during the period of review and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The USDOC initiated the seventh administrative reviews of the Solar 2 China antidumping and countervailing duty orders in April 2022. The countervailing duty review was not initiated with respect to the Company and therefore, the Company&#x2019;s countervailing duty rates (33.58%) will remain unchanged for its Solar 2 China CSPV products. The USDOC rescinded the seventh administrative review of the Solar 2 Taiwan antidumping duty order in October 2022 and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Solar 2 Taiwan CSPV products. The USDOC initiated the seventh administrative review of the Solar 2 China antidumping duty order in April 2022 with respect to certain of the Canadian Solar entities. The USDOC rescinded the seventh administrative review of the Solar 2 China antidumping duty order in March 2023 with respect to the Canadian Solar entities and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The USDOC initiated the eighth administrative review of the Solar 2 China antidumping duty order in April 2023 with respect to certain of the Canadian Solar entities. The USDOC will likely issue the preliminary results of the eighth administrative review in late 2023 or early 2024, subject to potential extensions. The USDOC did not initiate the eighth administrative review of the Solar 2 China countervailing duty order because no parties requested reviews and therefore, the Company&#x2019;s countervailing duty rates (33.58%) will remain unchanged for its Solar 2 China CSPV products. The USDOC initiated the eighth administrative review of the Solar 2 Taiwan antidumping duty order in April 2023, however, the review was not initiated with respect to the Company and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Taiwanese CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In 2020, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 2 antidumping and countervailing duty orders. In May 2020, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 2 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The USITC issued an affirmative determination on September 4, 2020, declining to revoke the Solar 2 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 2 orders are expected to remain in effect through at least 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Section 201&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;On June 13, 2019 and following an abbreviated public comment period, the Office of the U.S. Trade Representative (or USTR) granted an exclusion from the safeguard measure for solar panels comprising solely bifacial solar cells (or bifacial solar panels). In October 2019, USTR determined to withdraw this exclusion. Invenergy Renewables LLC (or Invenergy) promptly contested USTR&#x2019;s withdrawal determination at the CIT and secured a temporary restraining order against USTR in November 2019. In December 2019, the CIT preliminarily enjoined USTR&#x2019;s withdrawal due to procedural deficiencies. USTR then sought and was granted a voluntary remand to reconsider its withdrawal determination for bifacial solar panels.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In early 2020, USTR conducted a renewed notice-and-comment process regarding the exclusion for bifacial solar panels from the safeguard measures. In April 2020, USTR again determined that the exclusion for bifacial solar panels should be withdrawn based on the findings of its second notice-and-comment process. Notwithstanding, in May 2020 the CIT denied without prejudice the United States&#x2019; motion to dissolve the preliminary injunction and to resume the collection of the safeguard tariff on entries of bifacial modules. USTR appealed the CIT&#x2019;s interlocutory decision to the Federal Circuit in July 2020, but subsequently dismissed its appeal in January 2021. The United States continued to litigate the merits of USTR&#x2019;s April 2020 withdrawal of the bifacial exclusion before the CIT. On November 17, 2021, the CIT vacated USTR&#x2019;s April 2020 withdrawal in &lt;i style="font-style:italic;"&gt;Invenergy Renewables LLC v. United States&lt;/i&gt;. The CIT&#x2019;s judgment holding USTR&#x2019;s April 2020 withdrawal of the bifacial exclusion unlawful was not appealed to the Federal Circuit and, therefore, this decision is final.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In early 2020, the USITC conducted a midterm review of the safeguard order, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the USTR, the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota (TRQ) on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#x2019; production, capacity utilization, and employment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The President must consider the USITC&#x2019;s views but is not required to follow them or to take any action in the safeguard midterm review. On October 10, 2020, President Trump issued Proclamation 10101 pertaining to the midterm review. Proclamation 10101 authorized the following: (1) the revocation of the bifacial module exclusion effective October 25, 2020; (2) the reduction of the safeguard tariff to 18% &lt;i style="font-style:italic;"&gt;ad valorem&lt;/i&gt; (as opposed to 15% &lt;i style="font-style:italic;"&gt;ad valorem&lt;/i&gt; as prescribed in the original safeguard measures) effective February 7, 2021; and (3) the delegation to USTR of the President&#x2019;s authority to ask the USITC to assess whether the safeguard measures should be extended. The President decided not to follow the USITC&#x2019;s recommendation to increase the TRQ applicable to CSPV cells.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Following the issuance of Proclamation 10101, Invenergy and other plaintiffs (AES Distributed Energy, Inc., Clearway Energy Group LLC, EDF Renewables, Inc. (&#x201c;EDF&#x201d;), the Solar Energy Industries Association (&#x201c;SEIA&#x201d;)) sought to challenge the Proclamation and filed motions to amend their complaints with the CIT. The CIT ultimately denied plaintiffs&#x2019; motions and refused to extend the bifacial module exclusion beyond October 24, 2020 as a consequence of the Proclamation (as opposed to USTR&#x2019;s withdrawals). Subsequently, on December 29, 2020, Invenergy and another set of plaintiffs (SEIA, NextEra Energy, Inc., and EDF) commenced new and separate litigation once again challenging Proclamation 10101 in the CIT. This new complaint alleges that the President unlawfully terminated the bifacial module exclusion and revised the safeguard tariff, effective February 7, 2021, to be 18% ad valorem (as opposed to the originally announced 15% ad valorem). &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Contingencies (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On November 16, 2021, the CIT held in Solar Energy Industries Association et al. v. United States (SEIA) that the President acted outside of his statutory authority in issuing Proclamation 10101, and enjoined the Government from enforcing that proclamation. This judgment had the effect of reinstating the exclusion of bifacial modules from the safeguard tariffs and lowering the fourth year safeguard tariff to 15% ad valorem. On January 14, 2022, the Government filed a notice of appeal of SEIA to the Federal Circuit and the appeal remains ongoing. The Federal Circuit held oral argument on April 3, 2023, and the Federal Circuit&#x2019;s decision is expected in mid to late 2023. In October 2022, Canadian Solar filed an appeal at the U.S. Court of International Trade (&#x201c;CIT&#x201d;) challenging U.S. Customs and Border Protection&#x2019;s erroneous collection of certain Section 201 safeguard duties on bifacial panels pursuant to Proclamation 10101, which the CIT ruled &#x201c;null and void&#x201d; in SEIA. Canadian Solar&#x2019;s appeal is stayed pending resolution of the SEIA appeal at the Federal Circuit&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2021, the USITC conducted an extension investigation of the safeguard measure, in response to petitions by representatives of the domestic industry. In December 2021, the USITC issued its determination and report finding that the safeguard order continues to be necessary to prevent or remedy the serious injury to the domestic industry, and that there is evidence that the domestic industry is making a positive adjustment to import competition. On February 4, 2022, President Biden issued a Proclamation extending the safeguard measure on U.S. imports of CSPV products for four years until February 6, 2026. The extended safeguard measure doubles the volume of the TRQ on imported CSPV cells to 5.0 gigawatts and maintains a tariff on imports of CSPV modules and above-quota CSPV cells, beginning at a rate of 14.75% ad valorem and declining annually by 0.25 percentage points to 14.50% in the sixth year, 14.25% in the seventh year, and 14.0% in the eighth year. The extended safeguard measure excludes bifacial panels. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;CSPV cells and modules from Canada are no longer subject to the safeguard measure as of February 1, 2022 following the United States and Canada&#x2019;s entrance into a memorandum of understanding to resolve a dispute under the U.S.-Mexico-Canada Agreement. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Canadian&lt;/i&gt; &lt;i style="font-style:italic;"&gt;Antidumping and Countervailing Duties Expiry Review&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 3, 2015, the Canada Border Services Agency (&#x201c;CBSA&#x201d;) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#x201c;cooperative exporter&#x201d; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (&#x201c;CITT&#x201d;) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT may initiate an expiry review pursuant to Subsection 76.03(3) of the Special Import Measures Act (&#x201c;SIMA&#x201d;) before the end of 5 years of its finding. If the CITT does not initiate such an expiry review pursuant to Subsection 76.03(3) of SIMA, the finding is deemed to have been rescinded as of the expiry of the five years. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The expiry review was concluded on March 25, 2021. The CITT determined to continue its aforementioned finding to impose definitive duties on imports of Chinese solar modules and laminates into Canada. As a result, the Canadian Solar-specific subsidies rate of RMB0.014 per Watt remains unchanged. The subsidies rate applies for a period of five years. The CITT is required to conduct a further expiry review at the end of that period, being July 2, 2025. Such subsidies rate does not have a material negative effect upon the Company&#x2019;s results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"
      decimals="-3"
      id="Narr_04oD-wMY8kmD-sDYEpVygA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">300294000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw"
      id="Tb_icFn52kMYkygm9PDdk3vxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 267,766&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 300,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"
      decimals="-3"
      id="Tc_UhisZFGG0k-HNfaGFrfcQg_2_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">267766000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"
      decimals="-3"
      id="Tc_I_BJL6FXl02he2GLGFuG2Q_3_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32475000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"
      decimals="-3"
      id="Tc_i2eR26cEfkCmtmZ0W6worQ_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw"
      decimals="-3"
      id="Tc_Dwyhw6ikD0GkrziyfJxIeA_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">300294000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"
      decimals="-3"
      id="Narr__XJkQPx1dEWxaro_5NPpGQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">56124000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_1alzlsuVgkyAvc5SUAQ4VA"
      id="Tb_K6dZX8hyh0S1zbtfB_dQWQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,617&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,245&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,124&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"
      decimals="-3"
      id="Tc_VOJA2DHmykeKZkEDqtctuQ_2_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">50617000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"
      decimals="-3"
      id="Tc_2wjZU5JJgUag7hyVWwR0Rw_3_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5245000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"
      decimals="-3"
      id="Tc_D_Z8_UXtOUKhztKlrcRQUQ_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">262000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_ex0kxV1hvkSsfN4FKO6wzg"
      decimals="-3"
      id="Tc_hQ0Z88dY0EeYaMtVBfCuwA_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">56124000</us-gaap:PurchaseObligation>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg"
      decimals="4"
      id="Narr_uAdghlqRnU2jgZaBUcriyw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1394</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg"
      decimals="4"
      id="Narr_-d_EIbMpIkyqv8WKuy23eQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1524</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg"
      decimals="4"
      id="Narr_bCQyHNvLg0Cagtllbq9UXg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_gx21MyVS6kW2xrHfd9guWg"
      decimals="4"
      id="Narr_dTEm7dW4UkKW43FMH2KIoA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg"
      decimals="4"
      id="Narr_mIIbiPzAJEOS4L1qghDkvw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_gOswKMT-N06kI6-UNteoBg"
      decimals="4"
      id="Narr_3dd-BEIfikiRfZ5Y1KUg8Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw"
      decimals="4"
      id="Narr_AlG3u5ZZEEiAMLmC2Lu5uQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_X3Z01xluUE-lJAZgpxUSzg"
      decimals="4"
      id="Narr_8lQQH50-u0mLGL0-RZzn1g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_y8g57uexb0SuvSeJJQHmDw"
      decimals="4"
      id="Narr_7YbHpBfxdUegYM4oRaB1cw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_XXAwb-JM00CS3BGxDY5b0w"
      decimals="4"
      id="Narr_4it1MlInQ0qFSy8nm9fPHg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_SfNbr7JxGUCMHqmarrYBcQ"
      decimals="4"
      id="Narr_9KyWYb56KUGuClHic_uPwQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg"
      decimals="4"
      id="Narr_mueYdo0rDEeEVwNyo9uYmA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA"
      decimals="4"
      id="Narr_b6JEAuRLm0OD__22ykn20w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg"
      decimals="4"
      id="Narr_vxdzwBKEeEGrFsRdNfU_8g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_byl0IBIrJ0u-nRwqcW9BXA"
      decimals="4"
      id="Narr_q1Q7wn-t40iNYvv4KxT9BA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q"
      decimals="4"
      id="Narr_3OzjQMtwp0mb2-9oFlASag"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_hHJO6z7lLU6kQWuDeqx0xg"
      decimals="4"
      id="Narr_ZVwl4HaSUky8sXBQFuO80Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_K5nWS2UD6kOkm0e6Acj75A"
      decimals="4"
      id="Narr_wxluXhKWe0Sf04kXLVOUpA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_F2twymrbj0G5UQsbhHlh0Q"
      decimals="4"
      id="Narr_5whn8-5mbE6TXxZdN-lPHQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_5mRtdHnJQkOhVLVAz7ZxbA"
      decimals="4"
      id="Narr_ChcDRsdsokWMwAqWG4IFyg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_E5LdvBnHzUOdIt_tZdkmiA"
      decimals="4"
      id="Narr_bvAQFh6UWUenb7Vg68McWQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_keV-2fk26UCJ6VR_3Dmjaw"
      decimals="4"
      id="Narr_UCHWxpNsHke7L3biecHgFw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0736</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_60KC-5ojnkKzQyWPbZRsMw"
      decimals="4"
      id="Narr__GRQKXP-qUmm4IY71QArkg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_6xlSQQe380-EO0_JG56iSQ"
      decimals="4"
      id="Narr_vtFkBmmABkimkMhge-T26Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw"
      decimals="4"
      id="Narr_BrBpoTy83kaVk5jOe4ai8g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_hfMdgokmMU-I20eFBzDcQA"
      decimals="4"
      id="Narr_8syy0EHzD06NYC8Y8g3_Vw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA"
      decimals="4"
      id="Narr_lb00UMSM-U6cUgxR1RIqjA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1064</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_MWiY_0I5M0ql4dPWVVOzeQ"
      decimals="4"
      id="Narr_reKrR1cHPUiudRDyfXyT2g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Rqcu9FCvOkqAnU0VzyFTMg"
      decimals="4"
      id="Narr_Ue7mXNJ_EkK0ldHHh0nIaQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0502</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_Wxdj6b25CkeG-2_Bgc8Suw"
      decimals="4"
      id="Narr_OTY-WtIXWkCjsPxxQj3xKw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_890JymlmJUS6wYrHa62krg"
      decimals="4"
      id="Narr_wVpYn08MpEa8Kej3lZ861A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0422</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_zDXsFRkOSUym4DM652kcsA"
      decimals="4"
      id="Narr_yCDIGtFPzUyP5cP7-CRRmw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1064</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ"
      decimals="4"
      id="Narr_t9fcOFxmZU6VNywv-X9d6w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_U0nZs7bU-kO3N2xuiXwkDQ"
      decimals="4"
      id="Narr_9SD4-Gnms0eL6-YLq-_A4Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ"
      decimals="4"
      id="Narr_R30rww_PI0uDn95Iuk_O3w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qgEPVq_QEUOeLbGg_531aw"
      decimals="4"
      id="Narr_X2nmL1f_e0qa1t8hWy2tog"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_8u0QxEvdkkS6nuWrVqtRIw"
      decimals="4"
      id="Narr_6WdoM8btQkifBgzT6J1RHQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_dCWeGSoMtEWj5r5dwF7WCA"
      decimals="4"
      id="Narr_HWfh3N5_9EivzzmAb5tBcA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0330</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pohOacC1YUm8wXGm05XDtQ"
      decimals="4"
      id="Narr_JhYwjIF4N06zD_iQP9GL6w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_SiqScflIfUyL1KjQDOV_yA"
      decimals="4"
      id="Narr_cepB5aGCW0qWHwE0UVeXMg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0365</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_pZV4DSUlZUWgrOzmoTZ5LQ"
      decimals="4"
      id="Narr_eZRVVZfwE0ilwIsoGEFhWQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_iLI_N-bjX0W62PuAz3cF8w"
      decimals="4"
      id="Narr_8bc1NJ6xbEypP_JYRF-dBQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_rsVium9cu0KP6Sw1w5b4fw"
      decimals="4"
      id="Narr_uph9auIvSEGGWnxAAv63fw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw"
      decimals="4"
      id="Narr_HYHtnoMAjUmaPyjqM6qPSg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_hKExpsWhNUCYchcBgZC86w"
      decimals="4"
      id="Narr_TE-vcDe57kWmwD0nrrv1hQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw"
      decimals="4"
      id="Narr_yFP6vrFlM0mAi4zKo1sIWA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_krjK0bY540aTwp10PGRdog"
      decimals="4"
      id="Narr_jQuipu7PMUOKm2fwbzLLtg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_jihcmo1b-UuffoOTMe-dcA"
      decimals="4"
      id="Narr_7SgXRllkD0Ce1WurekmLTw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_ACJ8Mi4HvkKvMXYIcuLHFw"
      decimals="4"
      id="Narr_P1puGM6ZA0KH3phXZxnhKw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_GWImWJUhakqyxZRpvSE6bQ"
      decimals="4"
      id="Narr_kGFBl7UJhUibb3sTqzDW6A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.2302</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_3Dys22en20yVjB0mNzZyYA"
      decimals="4"
      id="Narr_sSg90glRPEyGLX2p5rmepg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_LcRuFW6Sq0SgDKONuFu4ng"
      decimals="4"
      id="Narr_otkkAolOm0Cn_U5f8y5DsA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ"
      decimals="4"
      id="Narr_GQpyTBVTsEqK_VIlriMmCA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_YqdcRDmIUEa2MakFEJV_Bg"
      decimals="4"
      id="Narr_d2JIEhlZa0yqMvYpGYzzFQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg"
      decimals="4"
      id="Narr_O6fC-TPPUUWz21YuKc0pdg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA"
      decimals="4"
      id="Narr_uKxxB8pw9E2XMbavnoBTGg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_5DWni1Avp0i_VBQr0ShgqA"
      decimals="4"
      id="Narr_65ciN8Ag1keqzUsMCJafUw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_7u4YY3AcqEukmRsYKZ9FTQ"
      decimals="4"
      id="Narr_nw9gO9GSMUySSqqxin8wZQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_RlGGOg1RQEuNQgAAY4GYOg"
      decimals="4"
      id="Narr_ySaYnQOUD0Wcn-pYS-DeCA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_PLHS8u2CxUSiJtetEK43zw"
      decimals="4"
      id="Narr_Po2OI9SeoE-IaZ9f7p-8jw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA"
      decimals="4"
      id="Narr_v8LhoXn070KwIJcskDjNVQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1575</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_0TzBSJWyN0-MFnZnFaidmg"
      decimals="4"
      id="Narr_CeFRoUTUTU2Tb-pj8b6L4g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ"
      decimals="4"
      id="Narr_PcTJvG825E-TnrHBroQgWA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_MnqJ8zVgpE-6T3qRc-7BbA"
      decimals="4"
      id="Narr_hYNwgEdaJ0mCXHROhhk9mA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1575</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_GoWxpyA_DU69T4eWVr2TNQ"
      decimals="4"
      id="Narr_U8dfUW_kokaBFVwhReZ50w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2022_To_2_28_2022_srt_LitigationCaseAxis_csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember_5Aj8uJSgiUOrBpC-DAB9WA"
      decimals="4"
      id="Narr_P8K4z73ugkaafLN-KeGUXg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ"
      decimals="4"
      id="Narr_VFsvEjEfBUm2Di-U1CvaNA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_ozHbJq32yEaFNHczFei0RQ"
      decimals="4"
      id="Narr_EK0YKnmCJ0ys2q4aymur_Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_euWImZS3qEGim0XnEjJQuQ"
      decimals="4"
      id="Narr_P7rrZIDyrEyhyhqdF-sBlg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_LFdC_ll5zEOxqY9ArH0jQQ"
      decimals="4"
      id="Narr_-p5ohGvvZ0KIbnvKGD-w_w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg"
      decimals="4"
      id="Narr_zyRyzWmWZ0m4yZEvliA2VQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Ib-b-FiIpUSG3B-DauWGOg"
      decimals="4"
      id="Narr_980ygfHbJky5NF0PkOBUUQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_q9AIoEkoikGwIYlll_ojzA"
      decimals="4"
      id="Narr_QABt3qW_UUSGLuGl_hLA_A"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0356</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_UrdBV_iSGUGS6udcxLFFEA"
      decimals="4"
      id="Narr_Kw5yoCowhEe7c5iDAzhZqg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0420</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_MyP51gxSLkSLAnGZGw7iEA"
      decimals="4"
      id="Narr_KXDy7asue0KX34SZq57lMQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0152</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_yVifOhPSeUGoH8yAJUn7eg"
      decimals="4"
      id="Narr_K2XBKgz090WEJWBMQRjn3g"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0378</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg"
      decimals="4"
      id="Narr_r4x3Wuzai0uI3O0dplCZOg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg"
      decimals="4"
      id="Narr_gn20aM1LhU2QBaFcrFUaQg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg"
      decimals="4"
      id="Narr_qOCgbAWDyEq0AjKWY9mozQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg"
      decimals="4"
      id="Narr_hcqUQMAIUkWjQEIy9_wlKA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg"
      decimals="4"
      id="Narr_Cd4Y8OKxOk23jmzr52K5JA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg"
      decimals="4"
      id="Narr_tz6atQHEfEuLDGf1O1pAXg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_cRt28_E7VU6QE3CvCyLRkg"
      decimals="4"
      id="Narr_KQK96zTagkSDZvVxhqOsuA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ"
      decimals="4"
      id="Narr_QJAaMdof0EW4tYVb3vnZ-Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ"
      decimals="4"
      id="Narr_Dd9JT1I6hUKDqBLJx2zeNg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_kShCXXXL7EGy4JCmdXAoKQ"
      decimals="4"
      id="Narr_PBCU8l3rLU27_toHXE2n-Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0257</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_EfqzjErcc0CKR8nE6kfKhg"
      decimals="4"
      id="Narr_tXGCLmLoS0i9PnumwM8VKw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA"
      decimals="4"
      id="Narr_UC8pzXi0KEyJqcMV1f8QOQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA"
      decimals="4"
      id="Narr_FuDpSplRAUihiptlFFf4Kw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA"
      decimals="4"
      id="Narr_BwmbhQQeiU2eOIpk13SKLA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_gKsJFvy15EWl-duFYoy0OA"
      decimals="4"
      id="Narr_clANowHOREiEWTD7T5qFvA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember__Je0X6S0akqoQ5HPZ9xpmw"
      decimals="4"
      id="Narr_KwP931zd4EOHJu9QTo8vyQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_9-yhXx5qQ0WAp2b9lYYyFA"
      decimals="4"
      id="Narr_ZASb8tcSkE-Cb067h0PRcQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_60xq6Xy6m0Owp9-KEaNmtw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) for making decisions, allocating resources and assessing performance. The Company&#x2019;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;From 2016 through the third quarter of 2020, the Company had been operating in two principal businesses: MSS and Energy. The MSS business comprised primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provided engineering, procurement and construction (EPC) services. The Energy business comprised primarily the development and sale of solar power projects, operating solar power projects, the sale of electricity and operating and maintenance (O&amp;amp;M) services. The module sales from the Company&#x2019;s MSS business to its Energy business were on terms and conditions similar to sales to third parties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In July 2020, the Company reached a strategic decision to pursue a listing of its subsidiary, CSI Solar Co., Ltd., in China. From November 2021, the Company completed the transfer of the China solar power system and project assets from CSI Solar to the Global Energy segment to avoid any potential competition between the Company and its CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. To align with the objective of ASC 280, Segment Reporting (&#x201c;Topic 280&#x201d;) and present the Company&#x2019;s disaggregated financial information consistent with the management approach, the Company reports its financial performance, including revenue, gross profit and income from operations, based on the following two reportable segments:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;, which consists of solar module manufacturing and total system solutions, including inverters, solar system kits and EPC (engineering, procurement and construction) services. The CSI Solar segment also includes the Company&#x2019;s battery storage integration business, delivering bankable, end-to-end, turnkey battery storage solutions for utility scale, commercial and industrial, and residential applications. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;, which carries out the Company&#x2019;s global project development activities for both solar and battery storage project development, which include sourcing land, interconnection agreements, structuring power purchase agreements (PPAs), obtaining permits and other requirements. The Global Energy segment develops both stand-alone solar and stand-alone battery storage projects, as well as hybrid solar plus storage projects. Its monetization strategies vary between develop-to-sell, build-to-sell, and build-to-own, depending on business strategies and market conditions, with the goal of maximizing returns, accelerating cash turn and minimizing capital risk.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt 0pt 0pt 54pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The module, EPC and battery storage solutions sales from the Company&#x2019;s CSI Solar business to its Global Energy business are on terms and conditions similar to sales to third parties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company continually monitors and reviews its segment reporting structure in accordance with Topic 280 to determine whether any changes have occurred that would impact its reportable segments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s revenues, gross profit and income from operations generated from each segment:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,975,612&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 821,525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (328,527)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,824,855&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 660,161&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (279,542)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,205,474&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,150,757&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 161,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,985)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,263,136&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,101)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,371,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,124,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (218,517)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,689,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 930,099&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (251,368)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,367,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 682,477&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,984&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,851&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 909,312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,179&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 190,381&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,105,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 726,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (354,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,496,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 577,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (286,624)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,786,581&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 608,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,115&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,092)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 689,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 253,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (86,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#x2019;s evaluation of reportable segment operating performance.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Income from operations reflects management&#x2019;s allocation and estimate as some services are shared by the Company&#x2019;s &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; reportable segments.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;During the years ended December 31, 2020, 2021 and 2022, $11,854, $6,084 and $60,330 of long-lived asset impairment charges, respectively, were recorded related to property, plant and equipment in CSI Solar segment. In addition, the Company recorded $24,060, nil and $357 of investment impairment in the CSI Solar segment, and $369, $17,152 and $1,674 of project assets impairment in the Global Energy segment, and for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#x2019; global or regional headquarters, as appropriate:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 696,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,590,573&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,963,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 284,478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 623,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,284&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Chile&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,370&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,611&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,912&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,934&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,221,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,279,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,793,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 504,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,207,003&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,904,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 509,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 325,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,141&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Pakistan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,417&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,838&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,531&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,422&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,702&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,254&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,974&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,941&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,078&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,222&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 128,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,620,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,139,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,739,779&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,403&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 165,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,959&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,035&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 231,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 322,189&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,662&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Czech&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,604&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,414&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Ireland&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,844&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Romania&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,804&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;France&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,147&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,728&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 216,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;634,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;858,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;1,935,180&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, and intangible assets at December 31, 2021 and 2022 by geographic region, based on the physical location of the&#160;assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252,189&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,668,177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 266,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 710&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,761&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,508&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,017&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;EU&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,824&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,413&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,440&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,269&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,635,429&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,312,589&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s revenues generated from each product or&#160;service:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,348,724&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,328,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,534,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 157,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 302,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 538,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Utility-scale battery storage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 440,030&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Residential battery storage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 686&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;China energy/EPC (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 175,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,830&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,711&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,661&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,122&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar and battery storage projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 654,827&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,064,178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 761,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M and asset management services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,386&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,334&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,954&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,072&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="INF"
      id="Narr_4jjLZrU8nEeoh6Hg2XrhRw"
      unitRef="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_NQsyPDQkmUqAurLOFg1eNA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,975,612&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 821,525&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (328,527)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,824,855&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 660,161&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (279,542)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,205,474&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,150,757&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 161,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (48,985)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,263,136&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 343,798&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,364&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,101)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,371,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,124,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (218,517)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,689,126&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 930,099&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (251,368)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,367,857&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 682,477&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 193,984&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,851&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 909,312&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,179&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 190,381&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:46.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31, 2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;and &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;unallocated &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;CSI Solar&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Global Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;items &lt;/b&gt;&lt;sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,105,044&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 726,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (354,716)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,496,153&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 577,052&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (286,624)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,786,581&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 608,891&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 149,115&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (68,092)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 689,914&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income from operations &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 253,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,414&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (86,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 220,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Includes inter-segment elimination, and unallocated corporate costs not considered part of management&#x2019;s evaluation of reportable segment operating performance.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Income from operations reflects management&#x2019;s allocation and estimate as some services are shared by the Company&#x2019;s &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; reportable segments.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ"
      decimals="-3"
      id="Tc_ulhwhwtgFEiAxEw8mNwWuQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6975612000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA"
      decimals="-3"
      id="Tc_SO5LrX1LKUOFldQ2TwwqAQ_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">821525000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg"
      decimals="-3"
      id="Tc_6ywux3-HskSMZnnS3Eutpw_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-328527000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_XjVBOwCBSk-bcIIPRil86g_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ"
      decimals="-3"
      id="Tc_wMAGqhZYu02EYLOCDtxCxQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5824855000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA"
      decimals="-3"
      id="Tc_dahpWdb3pE2OJ_a8BTx7_g_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">660161000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg"
      decimals="-3"
      id="Tc_jnT2BK1ZgkmAwbccXqFnKg_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-279542000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_OikouSYVnUeE3-jgvMm50A_8_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6205474000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ"
      decimals="-3"
      id="Tc_HLyUxPKHxEyOkf3teaqicQ_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1150757000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA"
      decimals="-3"
      id="Tc_Frq8rR_UzUKv1eyhYa9oew_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">161364000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg"
      decimals="-3"
      id="Tc_YjWZYDXBfU2vFdnBKh1wAA_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-48985000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_yhfYLLC_Q06Wr9irT6YELw_9_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1263136000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ"
      decimals="-3"
      id="Tc_H9EcU2Ng8E6IIWbP03qcag_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">343798000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_pFSbE2TufE-ucAzFicnVMA"
      decimals="-3"
      id="Tc_87h83LfNH0KNUk-itM37TA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">80364000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_abbaeOJGqU--pZRnbkQ_rg"
      decimals="-3"
      id="Tc_CaC-XGXzmE-B8YzSdeXhAg_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-68101000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_zHWiXtJh8UCgjAx-8Xq8kQ_10_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">356061000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ"
      decimals="-3"
      id="Tc_M0YwQ_GDFECfZJ9QRAGwlQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4371603000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA"
      decimals="-3"
      id="Tc_6kPCQMTxHUmAiD1u2UdHUw_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1124083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA"
      decimals="-3"
      id="Tc_zIGrw10GG06WsESHVl-aVQ_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-218517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_y23cbS5IxUODhoZI-4xNdQ_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ"
      decimals="-3"
      id="Tc_xF5qXGIAsEmOuCrZk1oYig_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3689126000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA"
      decimals="-3"
      id="Tc_qQdyNIJY1EyKEYzpbz9Y7w_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">930099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA"
      decimals="-3"
      id="Tc_AHNjEOf9-k2Y5KDnYsexxA_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-251368000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_NB2GlWLl2USSJMgYmDRp1A_8_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4367857000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ"
      decimals="-3"
      id="Tc_e2ALiU4rwUil-Qr6flRnlA_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">682477000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA"
      decimals="-3"
      id="Tc_x_EApm0_OEqpxvjRntck3g_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">193984000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA"
      decimals="-3"
      id="Tc_9eKbTrVqgky5baLmgliKuQ_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32851000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_tpeM6eTrW0G0JS6j6zwO4w_9_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">909312000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_puydreq4Tke8ua2pNAkzvQ"
      decimals="-3"
      id="Tc_8ENudhJmSEqDbs17s6uPfg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">74132000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_VCHDVTblTUaZWv_J82dozA"
      decimals="-3"
      id="Tc_rVlcq2z8u0GxKb-fYzPnug_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">97179000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_iG0cRp5S20y_aqNCtBS_sA"
      decimals="-3"
      id="Tc_OPT18Bf-_0mmOzVGrpxKJg_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19070000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Aigd-hocek-Q3SRlmJ9KUw_10_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw"
      decimals="-3"
      id="Tc_SxY8WVfcRk2MaKlLV66CIA_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3105044000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA"
      decimals="-3"
      id="Tc_C37L1PYtIUyew_bRgJvDsA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">726167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg"
      decimals="-3"
      id="Tc_v692Lhi8Tk2GnHXOcrDgew_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-354716000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_065en9u1gkmODp3KuYEP8w_7_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw"
      decimals="-3"
      id="Tc__jKg2FY-wE2eM4ui15WIxg_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2496153000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA"
      decimals="-3"
      id="Tc_Y-OpemcCj02Ufttd1l1q3Q_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">577052000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg"
      decimals="-3"
      id="Tc_uLuvtXtsiEiP5zwjeQGuzQ_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-286624000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_mk5ekppNVkiGSj4EqFT-eA_8_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2786581000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw"
      decimals="-3"
      id="Tc_uF4CV7OcT06RUju0s5OSXQ_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">608891000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA"
      decimals="-3"
      id="Tc_9Z_6Ig7F60SjLVrF2k7O3g_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">149115000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg"
      decimals="-3"
      id="Tc_Zcg-PE3EYEaGrcU1iSgmgw_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-68092000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_aDD8k6rHc0OjFGPCV8m4Yg_9_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">689914000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_-Da4frhWNUqraqOCQ-0HVw"
      decimals="-3"
      id="Tc_Kf4aZ7Ntc0i5nsf_nntWJg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">253105000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_ExWEZQ5DX026bGutKh1_IA"
      decimals="-3"
      id="Tc_TE5g3LwKQEWgxF73t_-DgQ_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53414000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qFFbXQuJOEenQ9MpRn6Cdg"
      decimals="-3"
      id="Tc_PmCiEw36GUKgbC-zEmcRpQ_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-86089000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_EUSAxbGJ2kGjdv_6geILOQ_10_8"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">220430000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="INF"
      id="Narr_RBnyd4StRkGUXBa1nAy0Ig"
      unitRef="Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg"
      decimals="-3"
      id="Narr_3ityruwnlk6QrtCYMvJ8zQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11854000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q"
      decimals="-3"
      id="Narr_QZ1CND3L4EubUXVp6gFwUw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA"
      decimals="-3"
      id="Narr_ZiaypztNPEqCCZ7PHLygrg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_omei-cn0j02zQYjh9GhjEg"
      decimals="-3"
      id="Narr_QnlgPfwCgkmIGfznChhgYQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24060000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_fbXE7wkf0UuyDL3h2MWl_Q"
      decimals="-3"
      id="Narr_I3wF41x8ck6FtSG532IUQg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA"
      decimals="-3"
      id="Narr_cCtt3Sq6mUeN7KWbCj3hsw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">357000</us-gaap:ImpairmentOfInvestments>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FDU0G0fgQU228VXEYL8RCA"
      decimals="-3"
      id="Narr_YKBYxsTh7US7Ai2nS5dVzw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">369000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_FD4EfpmYRU23EwdiQtQzog"
      decimals="-3"
      id="Narr_-pHHL-IjDU-Vs0HnMY9Y3Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember__cUDjBAcNUWnhcHqLRrkWg"
      decimals="-3"
      id="Narr_w-dU8sBp-ECziJe6j7dkxg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1674000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_qSyId1HdBk6AwtVrNyJLdg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 696,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,590,573&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,963,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 284,478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 442,603&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 623,331&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,284&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,792&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,148&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Chile&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,872&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,370&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,846&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,611&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,912&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 87,934&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,221,105&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,279,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,793,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 504,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,207,003&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,904,862&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 560,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 509,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 325,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,141&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,772&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Pakistan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,417&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,838&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,531&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,422&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,702&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,411&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,254&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,981&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,974&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,941&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 289,621&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,078&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,222&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 128,440&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,620,840&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,139,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,739,779&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 138,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 120,403&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 165,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,959&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,035&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 231,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 322,189&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 96,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 118,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,842&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,662&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Czech&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,604&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,414&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Ireland&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,844&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Romania&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,258&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,699&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,804&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;France&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,974&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,147&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,175&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,728&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 216,591&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;634,550&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;858,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;1,935,180&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_US_KxRjgtltXk2_gd3WDnLcKA"
      decimals="-3"
      id="Tc_Vq0uXI__sEu0TSSoveiWQw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">696101000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_IJceGAEE_Uy9aAuRNXQelA"
      decimals="-3"
      id="Tc_2mQ3HXtAKkSBgLkC4NIAdw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1590573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_KRXNO_6qcUaszIEZNMk-gw"
      decimals="-3"
      id="Tc_YBjuP_so_US3KHxXybLi3A_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1963956000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_BR_6pSs9XbvrkKIxDwuUrOKVw"
      decimals="-3"
      id="Tc_hlk0WRG3ekuCSRzU7ZDTSA_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">284478000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_oOZDRt1Jtku3rAukh3Y_1w"
      decimals="-3"
      id="Tc_NL0-G7fLckawSkrp49N3bA_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">442603000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_DpNzGstCz02ioLF0OW5uwg"
      decimals="-3"
      id="Tc_vLp8vSqYEkSuZSgbatKWZw_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">623331000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CA_eAqbt3tN5k2nSN846GkO7w"
      decimals="-3"
      id="Tc_XA5HeUWg7kqyiSn2eIDIYQ_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">100284000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_NLjQBc4dxkig1PUwud0irQ"
      decimals="-3"
      id="Tc_4-T3fYF16kixSLQsbOW_8w_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30792000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_jS8Bl3CN00y0NvR1jp1hig"
      decimals="-3"
      id="Tc_qyFX9x_2jEegXT7CVNvmNw_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49148000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CL_kE-hxZbv306n_aNZZZzVOA"
      decimals="-3"
      id="Tc_2GusUyP8CEmDrzJDv2BOXA_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4872000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_0mKsH_LOZUagDHmNeyVz4g"
      decimals="-3"
      id="Tc_XLqWRDQdOUe32Xgdj0y75g_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">18461000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_gNyUW_Qm_kKBJdadTEnirA"
      decimals="-3"
      id="Tc_zk2bez70mUCxX7r11n6teA_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">37370000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_MX_aR4f_R9ROEuL2UjYgckIUA"
      decimals="-3"
      id="Tc_OkCAQrdEy0WrfLv3S5tf_A_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">118846000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_7Ut8Eh5vDECjp2uj5FQ1uQ"
      decimals="-3"
      id="Tc_GkqSsBo2hEWaX5Mr-WewPw_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">139611000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_Lsj682WRw0eQcpKofwz2WA"
      decimals="-3"
      id="Tc_ztHqWjMV6UOacRaCSMJPnw_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31912000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_MgpkuuBvzUi9Wekyj-C7Ow"
      decimals="-3"
      id="Tc_bRnd3MNNs0Cs5CCUuCWy2g_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16524000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_mKf-fWeWtkii4mEIlZZ3-Q"
      decimals="-3"
      id="Tc_bV_E4bbO2UKty7Wot7iePA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">57554000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_VCZpL1X_sUS_2PBNiU-bHQ"
      decimals="-3"
      id="Tc_GxSPdAMcNU29mwbOrc-OBw_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">87934000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_AmericaMember_nE3IOFFBhkOWvJMxSEoKKg"
      decimals="-3"
      id="Tc_-hU7vsyvy0-gQextfFV_sA_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1221105000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_dexE24Zre0qErONg7uTHkw"
      decimals="-3"
      id="Tc_zmu84L1wFUu6FDFcXFBYlw_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2279594000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_6zhQhW_b5UK9icYO3dX-Eg"
      decimals="-3"
      id="Tc_ZxZhJnnTLUSW0m5C4DSvwQ_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2793651000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CN_iNE2b1u0VUGv7u9maoxNfw"
      decimals="-3"
      id="Tc_udrgz0oGv0KMdBP5vmClAg_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">504656000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_l0TuTzhXrUa2yKHesP-xyQ"
      decimals="-3"
      id="Tc_mgFx4bFauU64tN-Ig9LgAA_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1207003000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_LRIkx2mfUkC2eBe0QdlP8w"
      decimals="-3"
      id="Tc_ZAAGNX4Zs0eXLMqjBNIJqw_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1904862000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_JP_YRerVdgQi0qz_80t8eYPbA"
      decimals="-3"
      id="Tc_wCwWJry3gE2gnJUtW0DDIw_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">560701000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_IjHlt35vIUKT01Elm36iIQ"
      decimals="-3"
      id="Tc_oqd4uEnsIkC5Y7RJbIxC0w_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">509233000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_B3Fafa8c6kipUlIt64WTPg"
      decimals="-3"
      id="Tc_stzsXMt6r0eBvUPkOgpptw_14_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">325344000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_IN_LYCzNbUBXEKt3ciyZfOxEg"
      decimals="-3"
      id="Tc_4UvLfoTbv0ubJc3ecsK85Q_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">61141000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_NxCqjBo6kEiu0khHiMBhww"
      decimals="-3"
      id="Tc_0AZDWUsrRkKpmFg44VMxyA_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">142300000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_l0zpYBzIekOr6l0IH_Bfxw"
      decimals="-3"
      id="Tc_xakiwHu5tE2fcaK6oqc6xw_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">197772000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_PK_wwmyYRAjOUiP-YOnsKSL3w"
      decimals="-3"
      id="Tc_FqxnIA3H8UWUOJ-d6hTX9g_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15417000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_-G9kIIWHjUONAv3b5ZflIQ"
      decimals="-3"
      id="Tc_R-QreA8eYU2fblkyEYSfnw_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">48838000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_ed9vmIgMBkK3qFWxeEoCoA"
      decimals="-3"
      id="Tc_IqCQMFLQs0yoFmY5CdB2Rg_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73531000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TW_k9B7jtWdFE25EIceRO4pGA"
      decimals="-3"
      id="Tc_PZ3k36LU50K1XCuYtbq5tg_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24422000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW_2Xk4AY0giEylkSbgVW1JtA"
      decimals="-3"
      id="Tc_yiYhJocF0E-CHYfZpWcf6g_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7702000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_50nBvVTCtkiHFr_eaKefiA"
      decimals="-3"
      id="Tc_typeoeRLWkmy9-COTB7ioQ_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">67411000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_HK_H3bOclQ3N0escpaWDcTnow"
      decimals="-3"
      id="Tc_Vi8eSwX8ok-0DjYSh3DY8A_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13571000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_xV1CRkfcH0u8DOOm6VND6Q"
      decimals="-3"
      id="Tc_6Pr6fG3ke0a59Y1SECqusQ_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_OY4QHgM3PE-rA5CKPqHUJQ"
      decimals="-3"
      id="Tc_CU-VMVdd6U2-hKRWXeiSzQ_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">46254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AE_0zQNYhPM9kiWxIeotQOqRQ"
      decimals="-3"
      id="Tc_1T2oPVpypkWzPAnF8y2RUQ_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">53981000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_TNNtkkW_WkOcZXUy2BDiug"
      decimals="-3"
      id="Tc_evXzBOpIwUihxlOW2DqNaw_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6168000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_iTG4xPLWJUePO9Kr_FZxTA"
      decimals="-3"
      id="Tc_qrwfBeyCH0iuVolTRsMOhw_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15974000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_TH_JhKgKvVihkODrSpIoTIp5Q"
      decimals="-3"
      id="Tc_DeaMY9vflE21tX97QGPuIQ_20_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6108000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_9EIFyAg57kOovGQgEtuu-g"
      decimals="-3"
      id="Tc_Xw2QGztj6kWm7fQo58hHhg_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">59451000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_0YoKjdJRMkG0xeM7ZzhQUA"
      decimals="-3"
      id="Tc_IZt2-F68XEmgYAl7vlMvVA_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9941000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_VN_-616tkepAE6-1qANU05u3Q"
      decimals="-3"
      id="Tc_kvJKC295z0WqeQCMaDJjNg_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">289621000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_JLPvPxrXckK37QJKfaUFxA"
      decimals="-3"
      id="Tc_OXsX3Q0E5E6mbkaAhSvnaQ_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19956000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_QZ2pWYZ8Yk-7tm3lCJwo2Q"
      decimals="-3"
      id="Tc_LEgXuEU-mE6lxvPHmjg1fw_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9078000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_sbCgzIlI9kihBk3_rsOVhA"
      decimals="-3"
      id="Tc_Fy-kakfX4kONOzdFsYfuGw_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">91222000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_3PX645pQmUa5-OQVGCE8aw"
      decimals="-3"
      id="Tc_U2-mgBcmHUSKvMBTVhKqWw_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">128440000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_9w6fawEy5Ue_NYDZUMG2qw"
      decimals="-3"
      id="Tc_u3pCREm9N0ySV1Fv9q0hQw_22_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">89612000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_AsiaMember_mMv397GZJkCYQMv-tU7UfQ"
      decimals="-3"
      id="Tc_CfyYwGJcWUi6zGx1pJorfQ_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1620840000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_PsJpW_rSOEaD6VsVF4h_OA"
      decimals="-3"
      id="Tc_tlFlaEyeXEaJOa29_sSEAw_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2139070000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_bIgkJmSo1Uao51TkEEOFjw"
      decimals="-3"
      id="Tc_CxL2j2o8JEOO4qbBY3loiA_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2739779000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ES_wLeo87DIN0eZavL8LIBxDg"
      decimals="-3"
      id="Tc_Kg5cwYDLFEqou5nzIXUbhA_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">138972000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_yoq31yagEkKhVhvoeI6uYg"
      decimals="-3"
      id="Tc_EaGUgJGK6Ue3Hdw8UkLJqQ_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">100658000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_NLsaNUP9lEuqsL0oLAUeIA"
      decimals="-3"
      id="Tc_K0BIS05RmEW587j2FtwiIw_25_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">434841000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_AU_C-JSwIIsqUOcLp2WPYw7wg"
      decimals="-3"
      id="Tc_27SUciks50e7QCUXYBVDnw_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">120403000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_e1R1H-As00aXyuV6qpYwUg"
      decimals="-3"
      id="Tc_EbAQsb_qnkucWdQN_U83LA_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">165772000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_jOqyuaLp4U6ckl-5JVLYmA"
      decimals="-3"
      id="Tc_y7JhlS-LuUC7nttQUjZj5A_26_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">393959000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_DE_gjc00l_weEKsrv15zZvVCA"
      decimals="-3"
      id="Tc_vlApIeWYPk6Osahs9K7OgQ_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119035000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_GSoZ59NOPEuaudJtdm5Afw"
      decimals="-3"
      id="Tc_PnG_4LGViUayzaYwFD-aJA_27_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">231995000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_cOQe0IfALkKbSu9HdMPfhQ"
      decimals="-3"
      id="Tc_52hrys_NX0e8UlRGLph0Cw_27_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">322189000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_NL_sdEr-pjAA0-OYtJ3oo6Zxw"
      decimals="-3"
      id="Tc_3ycJdSgVX0mhrUUnwe2qIQ_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">96372000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_IJKzx2He4ka0suBRkiMjpg"
      decimals="-3"
      id="Tc_VKOZ8wCKl0SYQWcAeWGugA_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">104715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_pKvio5pFVE6Yzs8fMp0kkg"
      decimals="-3"
      id="Tc_jRzpXnpdnEiWC-MftERWIg_28_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">136375000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_ZA_nzO7TpPqYkOJli_M8t7RsQ"
      decimals="-3"
      id="Tc_yEVxNRPNBU-r3lgdtuoUzA_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49375000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_6-wwwPseBkqI_2T7fbZdbw"
      decimals="-3"
      id="Tc_-Z49nfkp9EeQGmFPS65ffQ_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">90761000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_iLDo233wD0-7_Sp_iMMnnQ"
      decimals="-3"
      id="Tc_9XjlXThVmkirh_C4ALLvlA_29_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">118458000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_GB_tjPljplDBkSEBGolhBnhEg"
      decimals="-3"
      id="Tc_UKYtupJHhESDpDgYeZmT9g_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8842000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_2YjLdEXrSEWT-nYTQHI1Ow"
      decimals="-3"
      id="Tc__ku31qFoOE-GbQwWBjm2FA_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7749000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_m2rc7K-SRkGBVvkQfDB0HA"
      decimals="-3"
      id="Tc_kagMKSNFZEyHNF6UNWbHWA_30_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">106662000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_CZ_PG20hHmJp0OVSPobvZivaQ"
      decimals="-3"
      id="Tc_l-8174VZJkGYu3YEuWg1hw_31_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_a53Uy44eEU-WLk_J6uHxYw"
      decimals="-3"
      id="Tc_I0kZYsOD1USxRWm4NAMQtg_31_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_tqs6A-uC0E6MrD6gWlvHzg"
      decimals="-3"
      id="Tc_KWyxd0ahPEytBoDvms0M0A_31_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">79414000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_J1fRjML9Wk2xGP2Q4UCuHQ"
      decimals="-3"
      id="Tc_x4KgqhRpQkKaZEJ1GDlfwA_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7844000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_L4fAeCJtqkuQvcCTPq1QwQ"
      decimals="-3"
      id="Tc_biZV22Q69k-HUVBghG46mg_32_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">63740000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_RO_mPoS58b7ZkeusqjM0wvOlA"
      decimals="-3"
      id="Tc_ytzkwNGx50WetxKyqDdJ_g_33_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1258000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_8-pkRdzeKEGSyeiAAwmMJA"
      decimals="-3"
      id="Tc_9ylMybp3Z025bnqrk0l0Bw_33_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3699000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_JBibAc4lsU2Se_q776vgFw"
      decimals="-3"
      id="Tc_zAYg3Of7OE6MJ2IkKkNAtw_33_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31804000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_country_FR_ZgbOjf4rRE2p_9BnvIOgCQ"
      decimals="-3"
      id="Tc_v-Zygsd6gUqOyk7UQ4rXng_34_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">29974000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR__zFxe4G2nEuvQy-YqdaNZA"
      decimals="-3"
      id="Tc_2xMrZiM8UESgkX8IFCazhg_34_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25980000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_Kq6ToZSOsk-5Q_-7pLOaDQ"
      decimals="-3"
      id="Tc_hnp3pJRxl0SWz0OTkQH5DA_34_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31147000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_wKGhMfX9kESeuELxMr9IXg"
      decimals="-3"
      id="Tc_eNPTf-NTqUuV8lCmjh8HWA_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">54175000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_URO9Ln1PBUSrZq9TMhWdoA"
      decimals="-3"
      id="Tc_mX8z44EZOUSQQi2AkVQtTw_35_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">84728000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_x93-RNWz5EmUPSNS_PGPMQ"
      decimals="-3"
      id="Tc_EogUzsfPW0iMSFfwqycWmQ_35_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">216591000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_StatementGeographicalAxis_srt_EuropeMember_yue26IX7ukO1NH17Z72ZSg"
      decimals="-3"
      id="Tc_zeKwS1R3NEqE2-dbbVfL4w_36_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">634550000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_vthkpg_pLEmoWc6_MU362g"
      decimals="-3"
      id="Tc_zBs5XLgRLUiXlYqzD-TAyg_36_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">858505000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_hREYrrjdkEaw3VKggBBgrg"
      decimals="-3"
      id="Tc_u-zpm4y6OkyhUwC93zwsWQ_36_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1935180000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_dYeGCXxNeke1CmXuDBmp6g_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_Hlia__TDZ0WbSxTmikm77Q_37_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_6d2ojfjB4ke3cqKo1hhV1g_37_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_BgiBh75O9kilwHh4Or4epA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252,189&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,668,177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 266,870&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 710&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,761&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,508&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,017&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;EU&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,824&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,182&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,413&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,440&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,269&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,499&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,635,429&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,312,589&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CN_FzpoNWAgYUi0wbhybJNthg"
      decimals="-3"
      id="Tc_pFgo5Q0QpUuY2zb9FjijLg_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1252189000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_wEbx6NemwEKlaSM83wB6tw"
      decimals="-3"
      id="Tc_E9nEjamruU2YDU1Y8zfiCw_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1668177000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_TH_hn34zB3MwUe9J4P7vz3Qyg"
      decimals="-3"
      id="Tc_qtH2quJQc0CL6TG38OQlSw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">266870000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_YTBmuvV_nE-SOKQgvjPyaw"
      decimals="-3"
      id="Tc_y3NAhBR0oEGR91KYA2IZSg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">276497000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_BR_M1SLS66Lo0uu4KfO_AvfYA"
      decimals="-3"
      id="Tc_t1DCdFTzjUCHmBSRvVRAKg_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">710000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_FQ_BN_RAkk2Gtnh7hS7ooQ"
      decimals="-3"
      id="Tc_xUW4XrhRm06AOiA-GY1D9Q_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">242761000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_AR_o_UeZtFDf0mUAc2-VAa8yg"
      decimals="-3"
      id="Tc_yoB85dIgiUWdw72UtqaaMw_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68508000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_DGctJ8IGBU284L1ygerqDg"
      decimals="-3"
      id="Tc_GK0PDpA0lEySPu1cCEQ-BA_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">66017000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_Ay-hedU-zkWhgQM4rbR0zg"
      decimals="-3"
      id="Tc_KwNGoxNYrUSylEZl0HslRw_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1824000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_5jzmvIvXdUe5Pee6LM4Qng"
      decimals="-3"
      id="Tc_7jaHYfSP8UiJqVPa9YcM8A_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27182000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_JP__4H2Fgj5CkaYh8bC5Vkf1w"
      decimals="-3"
      id="Tc_avDdTEf8fkSSQXgFqtHjug_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">16413000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_rt5Ocd4bskS0Tvsa5_NQYg"
      decimals="-3"
      id="Tc_XDIXrFTtU0GR0-HpfCGC8g_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14440000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_CA_ElpV2mEEzkW1LsI-Y7WTxg"
      decimals="-3"
      id="Tc_A731OHTraUyNzO8dTIvFMg_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9269000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_aITOGqjn_Eq2hhOciAQeEA"
      decimals="-3"
      id="Tc_Pqac7tYTL0ixqUwudOJM_g_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">6200000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_country_US_xY_O5EdRaki12IEgQJYboQ"
      decimals="-3"
      id="Tc_728_ueRvG0CLySlvm-1QNg_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5499000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_Y9L7bkRs4U6R7NRSQmGZhQ"
      decimals="-3"
      id="Tc_kXS6nknIGUSYwuqZfZ42fg_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5545000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_fEW6TNqkv02lssDoIVRpSg"
      decimals="-3"
      id="Tc_9_FZzwVrBUamuT2RrGasSA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14147000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_yELmHm6jNUSBxBHFh2wI_Q"
      decimals="-3"
      id="Tc_ViHEvAt9wkGBy8yZvOJm9w_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5770000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q"
      decimals="-3"
      id="Tc_qK0V7tiL6k2s0-gfDnjLXA_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1635429000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Tc_IKhztLWMw069SiVqbq_R_w_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2312589000</us-gaap:NoncurrentAssets>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_aZj5GXDyX0aGKfSPSUnf7A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;CSI Solar:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,348,724&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,328,301&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,534,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 157,656&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 302,133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 538,157&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Utility-scale battery storage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 440,030&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Residential battery storage&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 686&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;China energy/EPC (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 175,388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,830&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,711&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,661&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 98,122&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Global Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar and battery storage projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 654,827&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,064,178&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 761,677&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M and asset management services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,386&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,334&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,776&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (includes electricity sales)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,954&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,072&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,476,495&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,277,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,468,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zMFebdGzBUmP0rYjc0j6ZQ"
      decimals="-3"
      id="Tc_hp9AsdyzRUeZkipBJumAUw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2348724000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember__iw_2PmRT0mQSzATw0p2GA"
      decimals="-3"
      id="Tc_d2QZ9YK0pkWpXo782cd4mg_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3328301000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_QZE_vi0ZB0-ck2Youvo5QQ"
      decimals="-3"
      id="Tc_NjZuAXLnnEKoGDKpeimUqw_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5534379000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ikylWJot9UOC2GGn4qzY7w"
      decimals="-3"
      id="Tc_aKz8QP_wu0mUoOXwvKziOw_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">157656000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_amO0FJc3P0OejZ8n4ARHlg"
      decimals="-3"
      id="Tc_YkH-vs9IJ0aWvjo3GDuZlA_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">302133000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_ry95CI4_1Ei0Z9P_pcE3Eg"
      decimals="-3"
      id="Tc_Ucq6_uOrvkqbbxghKWl3ew_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">538157000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Mlwmq-crTUqie2NXmWYdOA"
      decimals="-3"
      id="Tc_oVJKIetNA0i7rmsqu72lfg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7899000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HqKaa624N0C15YV-DHVK4A"
      decimals="-3"
      id="Tc_qkBKBRU5y0CEJVnHmcSf8g_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">222655000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_UtilityScaleBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_pf1zLMWXRUOwr_1ujpA4hA"
      decimals="-3"
      id="Tc_j85NQiQSgEuZqHPiWlxdzg_7_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">440030000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ResidentialBatteryStorageMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_N251_Hq4lUmu0B32duJxTg"
      decimals="-3"
      id="Tc_TpFVXCsSqUiWwTCgnbHNpw_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">686000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_yq6vKr7jWkujnu_chTDj-Q"
      decimals="-3"
      id="Tc_ZQT_N4IaAEKYU_DFbUm7Vw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">175388000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_v2SMmd7W7ES3KbLgkQ_2xA"
      decimals="-3"
      id="Tc_s6unf2rBy0mR0vEjRc5Taw_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">178830000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HsIXAo71eUW2rnbR7R0szg"
      decimals="-3"
      id="Tc_FCwa0bltQ068xJyR3EqL3A_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35711000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_bcVp_4RmKEiGzl0k8Q_sJw"
      decimals="-3"
      id="Tc_alYlDkH5002WfInyDJiZmA_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60661000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_tTGG8Bmdnk-kOY8Fqr6Ybw"
      decimals="-3"
      id="Tc_XhNpmpA7C0muvWCmjMuQRg_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">121167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherCsiSolarProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_OLgyV5DlfkaJp-NPQ7mOqw"
      decimals="-3"
      id="Tc_B8IgOELV1U6AFFQILzKzWA_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">98122000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_y65H0AZ-HkeAKib03uGe4g"
      decimals="-3"
      id="Tc_k0rQVqQq0UegznoyxsoZkA_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">654827000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_GqzRHb8u6UysdqXc0PE17A"
      decimals="-3"
      id="Tc_x4VgNjK1YEGtUsXOW4ogzg_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1064178000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_KIwO7SgaIkunFcl89FhTGw"
      decimals="-3"
      id="Tc_VQWSKDrXlU-izU9YSdzkvQ_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">761677000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_0mCx68A7LUyzvYxgKtAEsQ"
      decimals="-3"
      id="Tc_EUBz_EfhZ022mw52SZhW3Q_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26386000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_eG3pwOcaNkeErVJ6wn9CPQ"
      decimals="-3"
      id="Tc_oEI0aAA3WUC6amNDIut5DQ_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35334000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OmAndAssetManagementServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_oenaeAgKlEKvyFx0xRxqZw"
      decimals="-3"
      id="Tc_iZ1BBwm8tUikfWxWRhKNjw_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">33776000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_c6_HhoaL6UOnc-p3Kk59TA"
      decimals="-3"
      id="Tc_gcfg67_uRkCjHDnq1eEvag_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">44954000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_MkEshTaLokiLLfbIS2gmWA"
      decimals="-3"
      id="Tc_gpILKH1ZjEyfWPXKvhYItg_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24571000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_GlobalEnergySegmentMember_f66Pq7LF6UmVtvEgY3mVLA"
      decimals="-3"
      id="Tc_WUJiBYG1HUuzNgWGPTZoRw_14_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">26072000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Tc_oYAMuX_IIkmuqTAlVoti8w_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3476495000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Tc_3OeGJOFZFE2ktf0_3BqJ2Q_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Tc_aoPXTan_MEuKPuhk5bFOAQ_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:MajorCustomersDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_F6OXbWnvX0WbUJeRXozH4A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23.&#160;MAJOR CUSTOMERS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;No customers accounted for 10% or more of total net revenues for the years ended December 31, 2020, 2021 and 2022.No customers accounted for 10% or more of total net accounts receivable, net as of December 31, 2021 and 2022.&lt;/p&gt;</csiq:MajorCustomersDisclosureTextBlock>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_2Gk38A6ygUuphy9aGU0gUw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;24.&#160;EMPLOYEE BENEFIT PLANS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2022. The expense incurred by the Company to these defined contributions schemes was $8,064, $14,362 and $17,753 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition, in 2022, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $11,486, $13,584 and $15,918 for the years ended December 31, 2020, 2021 and 2022, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_JnJupxJPJ0OND0mYqcwAyQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.16</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_16mN6zKQZ0Wgha7IsoKS5g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8064000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_7Sdi7rd3SEuROC5u3aLhhw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14362000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_Cp5yW6xu20G4BfbQ7cr_3g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17753000</us-gaap:DefinedContributionPlanCostRecognized>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"
      decimals="2"
      id="Narr_b0gtFawozkafwMBqeAaccg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.06</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"
      decimals="3"
      id="Narr_KEFA-CnQykiWDkayIR1MYw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.085</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_mNVcleG6Skq713W6fKLPUQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.08</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"
      decimals="3"
      id="Narr_h-fz-gsBg0aBxRvKAuE_tg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.005</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"
      decimals="3"
      id="Narr_MoZ4YHiXv0GlDcbKzRYJpw"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.007</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_DzsZQF21NkyzIsWqVvVMkA"
      decimals="3"
      id="Narr_coYCBJezg0qr-RJ_9MIB8Q"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.009</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_zGNaetgSiEuBHu94JMhiDA"
      decimals="3"
      id="Narr_i2DkVRPP_UanzflRc3Dc5w"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.025</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_c7hkxoKADEycWA9LP1WkRg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11486000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_MWvujNqsPkGiUjsEZfap4g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13584000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_d1ex0Pb84UKBGehr5CnjXA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15918000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_RK965PD7wEeuJ6lpIM4aEg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#x2019;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. In June 2020, the shareholders approved an amendment to the Plan to extend the term of the Plan for a further ten years period. As a result, the Plan will expire on, and no awards may be granted after June 30, 2029. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#x2019;s ordinary shares and expire ten years from the date of&#160;grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Options Activities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;During the year ended December 31, 2021 and 2022, no options were exercised. The total intrinsic value of options exercised during the years ended December 31, 2020 was $893. As of December 31, 2022, there were 26,291 options outstanding with a weighted average exercise price of $9.33 and weighted average remaining contract terms of 0.4 year. The intrinsic value of outstanding options as of December 31, 2022 was $567. No compensation cost on options was recognized in the years ended December 31, 2020, 2021 and 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;RSUs Activities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company granted 1,105,640, 2,161,098 and 444,167 RSUs in 2020, 2021 and 2022, respectively. The RSUs entitle the holders to receive the Company&#x2019;s common shares upon vesting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The RSUs were granted for free and generally vest over periods from &lt;span style="-sec-ix-hidden:Hidden_hHHFnlg--0ahbYTGzML0Aw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;one&lt;/span&gt;&lt;/span&gt; to four years based on the specific terms of the grants. In 2020, 2,096,000 of the RSUs granted were made to the Company&#x2019;s directors and a group of key employees, whereby vesting is contingent on the successful carve-out IPO of CSI Solar Co., Ltd. (50% vesting on the IPO date, then 25% vesting each on the first and &lt;span style="-sec-ix-hidden:Hidden_MEszL5kOZEGqXfw7Ya9ExQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;second&lt;/span&gt;&lt;/span&gt; anniversaries of the IPO). The average grant date fair value of these awards contingent on the IPO was $25.69 per award. As of December 31, 2022, 2,036,000 of such RSUs were unvested and outstanding. 205,000 of the RSUs granted on October 25, 2022 are contingent on certain performance condition (50% vesting on achieving the performance condition, then 25% vesting each on the first and &lt;span style="-sec-ix-hidden:Hidden_2OvoXvOiCkWZP2iuw8kCow;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;second&lt;/span&gt;&lt;/span&gt; anniversaries of the achievement). As of December 31, 2022, 205,000 of such RSUs were unvested and outstanding.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;RSUs Activities (Continued)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The fair market value of the Company&#x2019;s ordinary shares at the date of grant resulted in total compensation cost of approximately $24,918, $55,822 and $12,909&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2020, 2021 and 2022, respectively. In the years ended December 31, 2020, 2021 and 2022, the Company recognized $12,350, $8,808 and $9,370 in compensation expense associated with these awards, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2022, there was $17,940 of total unrecognized share-based compensation related to unvested RSUs, excluding awards contingent on the IPO as described above, which is expected to be recognized over a weighted-average period of 2.0 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;A summary of the RSU activity is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in whole US dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,335,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29.86&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (483,377)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.41&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (106,717)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27.03&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,189,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25.65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The total fair value of RSUs vested during the years ended December 31, 2020, 2021 and 2022 was $14,420, $21,628 and $13,276, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2022, there was $68,689 of total gross unrecognized share-based compensation related to awards contingent on the IPO, and upon satisfaction of performance condition, this cost is expected to be recognized based on the ESOP scheme vesting condition and the RSU vesting period described above.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w"
      decimals="INF"
      id="Narr_2g8K4cBF2EuFeTJ74Ksorw"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">2330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ"
      decimals="2"
      id="Narr_1wGEuTaWhUaQRLXt0IGtHg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.01</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_FAaSOQjABUmzlvWHHUa7KQ"
      decimals="3"
      id="Narr_pavvMMkz9k6kO0z9d6KTPQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.025</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="INF"
      id="Narr_Qrw3Ho8iv0iRBJr4ssa-rw"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">0</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Narr_ouYJSttE-kWZLcUAcEHLsg">P10Y</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_bFA1vFgm8USc6CcorqBakQ"
      decimals="INF"
      id="Narr_Qc-tAdbznkWlTK9axZL8Cg"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg"
      decimals="INF"
      id="Narr_QS9pzTOJE0KX-VULp_bzMA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_nKnbms559U-pJettpmyfIw"
      decimals="-3"
      id="Narr_E6O0j8dFE02mZ1m3lmL2fA"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">893000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg"
      decimals="INF"
      id="Narr_4NrY4ZpLhkOvYSj4NqwlFw"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">26291</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg"
      decimals="2"
      id="Narr_btJkoeQqg0yQ15NVXU97qw"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">9.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_sUhtiOFE00mn1BIpCLdXCg"
      id="Narr_msoOt9kQdEqyKvpJuYbjKA">P0Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4BHz5Fkwyk-LLzqEb7EQZg"
      decimals="-3"
      id="Narr_r2gsIZDa6UO7NVqvhhYXdg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">567000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg"
      decimals="-3"
      id="Narr_ao1H-6VBh0iD8O6uFAjT6g"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw"
      decimals="-3"
      id="Narr_59eAzafpK0e81WxxOHzOlg"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="-3"
      id="Narr_IMppPZHTRk6WhSAjLK-jrQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ"
      decimals="INF"
      id="Narr_Zt349a7DN0aSD5OJtRRkkA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">1105640</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw"
      decimals="INF"
      id="Narr_6iynaL_dW0mix7cJmXyz-g"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">2161098</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="INF"
      id="Narr_2e1-dyLTpEOvZUZXdCTB9w"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">444167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_DGrio27ms0eRlJrpceiH_A"
      id="Narr_FdOiJnuMWEyM2eoDnYUIXA">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww"
      decimals="INF"
      id="Narr_LqKHiv7F6k6jz3JXur8bgQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">2096000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww"
      decimals="2"
      id="Narr_rxCgKzxFF0aKLzKEDoLfNA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_6_bPNl1Ya0q7-MPU1hC-3A"
      decimals="2"
      id="Narr_IXO2BI1po0KQBhJluecKxA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_yuQL9YCeAE-8zVkN-TaWww"
      decimals="2"
      id="Narr_9baw3wl2Q0CZnryKVu_2zA"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">25.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OdvP_vJCuE2M673Dmicp1w"
      decimals="INF"
      id="Narr_FHr-eYiCCU2amz0jaTJTwg"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">2036000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ"
      decimals="INF"
      id="Narr_gPIbgRL-_UKCYoXn5Ta9Tg"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">205000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_AT8jYdxIPECH2xlm8qcWLQ"
      decimals="2"
      id="Narr_dDMh69qJwUWKj4XfONS8PQ"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_10_25_2022_To_10_25_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_l98oXr8BxU6s7PYda74TJw"
      decimals="2"
      id="Narr_umckJutAGESSAMzb3rBREA"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_PerformanceSharesMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_Ac77P4jY2EuX0C89UXZLUg"
      decimals="INF"
      id="Narr_QgfuzZRM8UqGaJhR3E_XqQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">205000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Em5oMtwJg0Ou37DI9QjE9g"
      decimals="-3"
      id="Narr_59t3OgYzGEOvT_5fUL3qew"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">24918000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg"
      decimals="-3"
      id="Narr_Rg5o04mUkEe7h1iFXzwIpw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">55822000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg"
      decimals="-3"
      id="Narr_JBuXLZOP80GxBVivoE9LxQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12909000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ"
      decimals="-3"
      id="Narr_CpEKHQNBzEWpLGJyh2sBsw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw"
      decimals="-3"
      id="Narr_G9wg5PlrbU2mNJ4sCFFdAw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="-3"
      id="Narr_G29TETl_RU-frZ5lozqsqw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg"
      decimals="-3"
      id="Narr_Dip9iibZHEiA5RFs0CH33Q"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">17940000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      id="Narr_qKfU496ZQ0aHAmSF7umCrA">P2Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_ZG6mCvVVsUm_XOdNKU3ZHg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(in whole US dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,335,303&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24.23&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 444,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29.86&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (483,377)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19.41&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (106,717)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27.03&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,189,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25.65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg"
      decimals="INF"
      id="Tc_bZBJgvPm3kyA9P4liD4xfQ_5_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">3335303</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_k8h_Fcwz2kOP90GZ2mwypg"
      decimals="2"
      id="Tc_4ZxH3hj43EKFXT7IeKpEuQ_5_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">24.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="INF"
      id="Tc_MHKoB8MzWEy0Wrkbo4bnFA_6_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">444167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="2"
      id="Tc_Q7l4cid0_02gTHs5rcrxSA_6_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">29.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="INF"
      id="Tc_LAr3_1CDGUaBcZykoEjN3g_7_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">483377</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="2"
      id="Tc_twWNLKBeuU-zrvDFwpEBrA_7_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">19.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="INF"
      id="Tc_mjgOw-ee2EaXICHioUFw2A_8_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">106717</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="2"
      id="Tc_G3H1_ipcLEOOO4N8BR4uPg_8_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">27.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg"
      decimals="INF"
      id="Tc_6UJ23i_y7EWccAcOlTxHEw_9_2"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">3189376</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_WVhx4pPDAkm7tA1CdYJNNg"
      decimals="2"
      id="Tc_FpsMJhurb0OARWB3pR1EoQ_9_4"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">25.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2020_To_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_e62eLYfEP0aLm9Ugbx2YJQ"
      decimals="-3"
      id="Narr_DC4g256j4kaCpJruqdLTbw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">14420000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_1C21uKLs0UOTfBGdCJodyw"
      decimals="-3"
      id="Narr_mVvlefRMr0yjgf8NPwnPFw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">21628000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_puIaF96KAk2dHwjto8_kLQ"
      decimals="-3"
      id="Narr_UrNqbvvTw06N0t_jnyFrxw"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13276000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_IA118VjuPEOI53rLzvAipQ"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">68689000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_pyDZXVDAjEq48ypPmNxYZw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;26.&#160;SUBSEQUENT EVENT&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;On March 21, 2023, the Company announced the approval of the IPO of CSI Solar Co., Ltd. by China Securities Regulatory Commission on the Science and Technology Innovation Board (the &#x201c;STAR Market&#x201d;) of the Shanghai Stock Exchange (the &#x201c;SSE&#x201d;).&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      id="Tb_DjsyJOPXH0i6wATMMh-0nQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Additional Information &#x2014; Condensed Financial Statements of Parent Company&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Canadian Solar&#160;Inc.&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The following condensed financial statements of Canadian Solar Inc. has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, cash flows and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#x2019;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2022 of $658,166, exceeded the 25%&#160;threshold.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries. The Company's share of income from its subsidiaries is reported as equity in earnings of subsidiaries in the condensed financial statements. These statements should be read in conjunction with the notes to the consolidated financial statements of the Company. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;BALANCE SHEETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="5" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;share&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Current assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,661&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 638,832&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 582,685&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 521&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,218&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 672,103&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 611,564&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,992,658&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,158,474&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,755&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,745&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,755&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,213&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,837&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;TOTAL ASSETS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,722,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,823,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;LIABILITIES AND EQUITY&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Current liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 682,247&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 640,055&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Derivative liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 762&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,676&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Total current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 687,923&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 645,339&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 225,977&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,562&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,690&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;TOTAL LIABILITIES&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 921,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 881,736&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Equity:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Common shares &#x2014; no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares &lt;span style="-sec-ix-hidden:Hidden_lHlIklC8p0StPMDjXSNvdQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;issued&lt;/span&gt;&lt;/span&gt; and &lt;span style="-sec-ix-hidden:Hidden_ritm_IutKEWOsQ5pE7DhWQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;outstanding&lt;/span&gt;&lt;/span&gt; at December 31, 2021 and 2022, respectively&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,543&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,543&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Additional paid-in capital&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,428)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Retained earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,035,552&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,275,520&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 6pt;"&gt;Accumulated other comprehensive loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (50,584)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (170,551)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;TOTAL EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,801,083&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,941,639&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;TOTAL LIABILITIES AND EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,722,675&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,823,375&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF OPERATIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,170&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,170&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Operating expenses:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Selling and distribution expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,174&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 766&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 890&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Research and development expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 692&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other operating income, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (282)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total operating expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,554&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,843&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,306&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Loss from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (50,384)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,502)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (12,306)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other income (expenses):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,628)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (19,677)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,229)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Interest income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,536&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,249&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,563&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Gain (loss) on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,341&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,043&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (844)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Foreign exchange gain (loss), net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,768&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,674)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 616&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other income (expenses), net:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,017&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 941&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,894)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income (loss) before income taxes and equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,561)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,200)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Income tax benefit (expense)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (34,223)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,424&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,293&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,385&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 246,382&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,968&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF COMPREHENSIVE INCOME&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&lt;/b&gt;&lt;b style="font-family:'Calibri','Helvetica','sans-serif';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,968&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Other comprehensive income (loss) (net of tax)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 80,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (21,905)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (120,511)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Comprehensive income &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 227,631&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,343&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 119,457&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF CASH FLOWS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years Ended December 31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2020&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2021&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:0pt;visibility:hidden;"&gt;&lt;td colspan="7" style="padding:0pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 146,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 239,968&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Adjustments to reconcile net income to net cash provided by provided by (used in) operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 150&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Accretion of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,461&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,302&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss (gain) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (25,341)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,043)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 844&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowance for credit losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (171,293)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (101,385)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (246,382)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Share-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,350&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,808&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,370&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 805&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Changes in operating assets and liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 287,865&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (206,892)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,990&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (13,183)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (7,900)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,459&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,907)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (340,502)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (42,224)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,610&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,809&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (27,293)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,154)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 306&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,915)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,702)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Net settlement of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,517&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 439&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net cash provided by (used in) operating activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,877)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (264,201)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,714&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Investing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (126,487)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (138,456)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (65,421)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,766)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,273)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (990)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Loans to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (264,848)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (201,192)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (122,050)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of loans to subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 253,816&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,573&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net cash used in investing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (373,616)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (91,105)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (15,888)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Financing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from (repayment of) short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (80,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of loan from subsidiary&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,554)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Loan from a subsidiary&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 280,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Net proceeds from issuance of common shares&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 148,510&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from changes in ownership interests in subsidiaries without change of control&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 224,553&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Net proceeds from issuance of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,826&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Payments for repurchase of common shares&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,963)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from exercise of stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,035&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net cash provided by (used in) financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 472,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 348,510&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,554)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Effect of exchange rate changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (43,246)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (797)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Net increase (decrease) in cash, cash equivalents and restricted cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,712&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (7,593)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,771)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Cash, cash equivalents and restricted cash at the beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,313&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,432&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Cash, cash equivalents and restricted cash at the end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,661&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Supplemental disclosure of cash flow information:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;Interest paid (net of amounts capitalized)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,966&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 30,521&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw"
      decimals="-3"
      id="Narr_k0xpE65JtUiOaZHEZ0eRew"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">658166000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg"
      decimals="2"
      id="Narr_7NaoE8tkn0CuTrcHoWzxgg"
      unitRef="Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ">0.25</csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_EjF01pO91UO6bY2jOPlypg_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27432000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_MR_aW7yCrUuocl5IeWNHig_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15661000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_APfPHo9DvUSKoVx0e5lxPQ_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">638832000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_g-wp-vKtbE-BY7-CrR2L-A_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">582685000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_6PgSQ0VGNkWhBtip3O7itw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">521000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_aEEyZfOsSUuRSQCZHUtZ5w_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5318000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_-rAmCGMOLUeO5PBMwbuJUA_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13218000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_0yoEZGobw0CgLJKcOv_MOQ_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">672103000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_Nt6f-rMIeU2C5Cjp7sGzmg_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">611564000</us-gaap:AssetsCurrent>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_7jzjI82X_06vi9SSC6hTdQ_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1992658000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_HHApLg1mVUeboei5LlozMQ_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2158474000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_UITb-jMqHUuDHtMI3CDagQ_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">10755000</csiq:InvestmentInAffiliates>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_ijqmdrr4A0yV68OvCfb7oA_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11745000</csiq:InvestmentInAffiliates>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_HSa8Xn-Ke0CXa1lhAxWCZQ_14_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1946000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_3sAgP64W8Um6wtGPqgWXfQ_14_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1755000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_2CmnoT2G7kiHvOMW07JPww_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">45213000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_GFX7Fl2TekuKtST0Oepwnw_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">39837000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_vS8sys9Dq029Dt8IoIecPA_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2722675000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_rf_QFNssM0eVU6LaPcg4ew_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2823375000</us-gaap:Assets>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_CPb64Sovj0ykwm6KHUu9RQ_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">682247000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_dBMuWqg5_ESq5a1p9ar8Gg_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">640055000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_VKtLX7TcGkGGYVRxsYt2yQ_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">762000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_0ewcMaU8rUCoipDFmJSGwQ_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5676000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_5Qo6LE7OLUOSPmrKv0jICw_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4522000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_dlfBGhd6GUK2V8CGASQSnQ_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">687923000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_tfmgWYQIK0qleOiYFd9A3w_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">645339000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_-nyVcTsYcUq5vfE6XDNh-Q_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224675000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_DYsXA5r3xE69WabnyC2NWA_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">225977000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_61IWzSAkZUC4fuh6WpGiHA_24_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1562000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_hfHmujnmNUO5vzhYRCiblA_24_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4690000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_5Bm4qdCBRkO5PBFJ48Zmvg_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7432000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_irF1rQXovEmZjZglKAS-xQ_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5730000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_Dq7n0YsmiUC7tMeA7Z-Wfw_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">921592000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_x3PimzFYOE-CZYH2tK3S1A_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">881736000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="INF"
      id="Narr_jeaTHAqurkaXQ9YeaFWG6w"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="INF"
      id="Narr_lDIy_sGffUyHWQLvfKoF8w"
      unitRef="Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="INF"
      id="Narr_cdB-HMliBUaLaogf7qaBuA"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="INF"
      id="Narr_SnIC4clXU0OnvMD072ghKQ"
      unitRef="Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_wBhHnp_EmEuy7gDh5XlfOQ_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_t2KmHpeACkauvn2Ic4bYkg_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_Tp-M4oEDO0a2gqRtAlcA5Q_29_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-19428000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_XdND7eoCNU2eTCWfIDhdoQ_29_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1127000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_sH-EQ4csiEWQawXKqqmUFw_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035552000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_rXHCaLtOzE6NLH8b2KEdkQ_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1275520000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_cHAdDsxW_0irn7BdKGvr_Q_31_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-50584000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_DYK_RwgYPEeZ6rjRxkOz8g_31_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-170551000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_ZDOuhzrre06I9ZjXuYu2FQ_32_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1801083000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_IO4-cdfCVUOz8Fkr9GAkPA_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1941639000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_UC23_VeFZ0uxSWtxbWsuXg_33_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2722675000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_ZR9Lb8ePlkK1OjAE61HP0w_33_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2823375000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_ZuT-qmbFpUO-x7z24y0Q8A_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2170000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_VEei7MBctU2vCxnceF2GBg_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">341000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_ZImdTK_VNUSJFjHggDD8mQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2170000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_eNWGgWLVj02a1aAYSfK5Yw_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">341000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_BUtzHr2HyEeew9Rl4LAjqw_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2174000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_rpixfK7x4EKrZVqp9dlQCA_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">766000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_vMVJLwXHLkWFlLXU8hmkBQ_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">890000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_RFlA_OQOA0iTL3W6cQInWw_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49688000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_4--gBYgytki09zyGR43D5A_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9177000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_0Y0I_OHAMEycWPYCvL778A_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">11261000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_T-3Sop-aF0CGGfAf42JRPQ_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">692000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_7aJUMSsxqkWmAIx4NW8y0g_10_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">182000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_W-dVBz9uM0-oeqXBJ5G4Rw_10_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">155000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_bqih0QI440WleN4R9bl-EQ_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">282000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_571GpjMwXUmGc3VoTkoAOQ_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">52554000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_Xtrhm1uhEESjQcxzqc8uyw_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9843000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_GivOBnpo3EOiiLJPpsgYXw_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12306000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_QQZBnG1_MkCRfIxz3Lgqww_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-50384000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_sDhAGa_lrEaWBZpFkEPAIA_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-9502000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_w-bZVWHO6UOWgzyPtMLd_Q_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-12306000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_QiBVMSymEUCCW9FbZJoXPQ_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9628000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_JP9_XaQUG0Wezsjxm_E1Zg_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">19677000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_Vk3i4cZi306CVVHnyP2AAw_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">23229000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_mDBiiGV6pE-ncDQpuEHsnQ_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30536000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_afbrOpsLZEmQEx9qXUkKXw_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20249000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_pqAqQrweHEGQ_0gXK4NXvg_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20563000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_gM0ekLGqzUO1NCt4c6PM2Q_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25341000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc__l58ystffUWCLGoYWVRibQ_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_o7i4zwIUv0CZg1dRXwnn6g_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-844000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_Yp0txTTAdUarrwJGUXZstg_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13768000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_CmVBW63CsU6-w2Osu1hGsA_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-3674000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_owKhcanP50O9G75URbdMww_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">616000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_CLkYuZHui06BIUxYH-rglw_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">60017000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_IqWJEv-P606A1pMu39gGJw_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">941000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_7Bd1KXprgkOMLjEqPA8mMw_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2894000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_tBIwLAKA8kS43ooM57gwVg_20_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9633000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_E2yKtT1h6UeehDQclpB-0g_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-8561000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_paYlXJlskkSnm_2FxQWA3w_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-15200000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_SzUsGJ53KUW_8tA6nOCNwA_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">34223000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_vqy2tRZLKEm4CvxeihfKgw_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-2424000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_TAtp1Di6GkmTOLTCWJfyxg_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-8786000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_YT3viJNmfUSWhS7ap59w3g_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">171293000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_-c0awCA-cUWgnw0PHzeDxA_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_wVA0JJrpMkeIQ4nsdiah8w_22_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">246382000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_wyTe7vLc10qRetuluH1nWQ_23_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_TY0qHKVnuEm1L_9Ad3Juwg_23_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_qoNRERaDEE2sTNHafI5VSA_23_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_gDUQAwTNf0-hV7PBuhGQZw_4_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_o24fLvqlBUWkaNYBeD87hQ_4_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_CHgr2-nVtU-ApvkZRzHCHA_4_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_uV6pAbmU3kePeZuEFJrReA_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">80928000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_hFs0j5gwtkWneUr-1Quzxw_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-21905000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_8pEJA-fkIUKMCEEybO6AyA_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-120511000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_ArMfu9gzu0qNrqeo2XKdgQ_6_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">227631000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_2HH2e3m6GEOWe3d50E9seg_6_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_48gzZ-o02UOlCfGRHb2P-g_6_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">119457000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_O_nQrosfUUGZ0Cmn2AqjOw_5_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">146703000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_hjX9H937uEaS9i7el5_DiQ_5_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_NUVNTxlWYUieH57laBegJQ_5_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">239968000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_5_LENgn96kSYJ0mZME14Zw_7_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">156000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_KVsmwfvzbUiX4k8RG0er5Q_7_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">150000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_pV0ycAQIw0yKb-A2WmWieg_8_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">388000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_E5tnShs1qU6p1YkZ2thBgg_8_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1461000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_ewhUeBjVckSYcYTab6AcKw_8_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1302000</us-gaap:AccretionExpense>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_V_Me_tH_6EC4oPtEzM6j3g_9_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">25341000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_93YcqN-YMkOtp_9USrIF-g_9_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_ys-N429vt0GBEuhaNkNHVA_9_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-844000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc__BpWk9KWdkKFxoaJdpNVdw_10_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">357000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_6Y5sDKyLlkqVrJKxJBkSyA_11_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">171293000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_9IwXEfUj40aIZrj5SkOEUA_11_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_cYIwnAX2xk2VKrs-cuwFAQ_11_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">246382000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_-j-nJV1XY0-ZueBqFGj1FQ_12_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">12350000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_6DI_TXH5jUa_XV62GsauRg_12_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">8808000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_7iEoR60AZ0m2hNeppCRAqw_12_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">9370000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_JTN5mUhIIEqJVMl4ur1xXA_13_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-468000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_t1VmY4L0QUGQXbU5t-QgCw_13_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">805000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_QAlh9wNvQU6pFjAfMbujDA_13_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">3319000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_gOt7O3adxkCakPbLV9vsIA_15_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-287865000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_XCN0cc9uQUekPQnmkUT0XQ_15_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">206892000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_vjlYT6pPP0SO5dKAzwYftg_15_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-10990000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_DVAy6VMu7E2kR0Y_X7fQHg_16_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">13183000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_UyGUGdena0eU7Z0FGjrgNw_16_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-17353000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_h6LT58eaS0CSejvg8dFzSQ_16_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7900000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_-5mxPrLlRUui_wKir-Ouyw_17_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-28459000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_htRZNPyU7UO0gSW3xpKHXA_17_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">4907000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_aKjhV0LMnUeodtwV2W-ooA_17_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-10000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_gGpxQ0AmJE6MaH5AiOgQJA_18_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-340502000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_f2-0olffu0KOFZf4zk7ZmA_18_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-42224000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_LzfxGVqVM0GMXWPDEsW4wQ_18_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">38610000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_dnN260rUe0iCgWkzZ9eokg_19_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">31809000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_wSeXWfWLL0Cl9FHe-ZdTHA_19_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-27293000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_kqRMlcut80SCzUyEsmR0rw_19_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1154000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_jI5hZZxZg0yS-fmKImhxkg_20_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">306000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_hlFWh5QpgkiIGQgJ1oON-w_20_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-5915000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_934yCTAd4Uyvx6fa6SQVjQ_20_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-1702000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_z3LJVnsJCEy2mfjm_elZpA_21_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-19517000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_ta2qR03HBUaI540_et2Qzw_21_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-4633000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_4U8PqPu3N0WSVdx_NsUQFg_21_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-439000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_Hk_nkm1-8kud9SiXmRJ4rg_22_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-22877000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_2bpltxmFRU-MDksqudyEnA_22_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-264201000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_3MxWZCWx9Eetot1SB0aXrw_22_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">47714000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_RT_dptOuT0qVyHXZ_IIUig_24_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">126487000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_LYwGsVZ1pE69MIa3RZvaeQ_24_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">138456000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_D6N0rRfZ0kuDCYDJh6NYPg_24_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">65421000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_Ou5rZWtEXkKgRBrjlBQ1iA_25_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2766000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_yKgZsOJsqkiRkxfhRdFjaQ_25_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5273000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_vrGfOpo4XEav9KC_O9hvaA_25_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">990000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_bWRMt212gEamTvGOpbNxkg_26_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">264848000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_LOE4WCdB_EO6Rp-KXow_UQ_26_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">201192000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_xBzUG8P48kaGDhhavKytCQ_26_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">122050000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_KFFMv864rkWpiJue6LiboA_27_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20485000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_onhiMc6dCE2Z2i85zVxGqw_27_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">253816000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_SP6Q-qhZxke24y7UWcLW0w_27_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">172573000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_1hmLLal8mEe3UyoOcPcf5g_28_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-373616000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_une5NEOTDEiTX7m0TRbN1A_28_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-91105000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_jzMXc0pHIUqLrTBKI4TCSg_28_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-15888000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_hQ4MO1MKG0yYk3vp9CbvBw_30_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_YICz12GsUUCexbI9K_BG6A_30_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-80000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <csiq:RepaymentOfLoanFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_wFp_5DToPU-s5u-5BJZSfA_31_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">49554000</csiq:RepaymentOfLoanFromSubsidiaries>
    <csiq:ProceedsFromLoansFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_avd9cEelYkSM0H7fs8-sMg_32_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">280000000</csiq:ProceedsFromLoansFromSubsidiaries>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_s-_nlFBDREGLDHrM0U-kOg_33_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_EwwQktPWykqm4VVPNIqsIQ_34_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">224553000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_z-qOTyNqjEaJKrkQ65raXQ_35_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-222826000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_iyaTk54XKU-gOcVme_WpqA_36_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5963000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_TgFcn6FUzECTlWeZZXIIAA_37_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">1035000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_Jltp8DktvkCe5lp0PCH8cw_38_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">472451000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_mGtuu4zVaU-ONndgRIDgcA_38_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">348510000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_o_fSVAhg1EujxiANIO7jag_38_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-49554000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_fhtwkdtYRU2qAUNOjqElgg_39_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-43246000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_Xo9vIjyap0-0pqqbMN8AQQ_39_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-797000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_hhCmzz8B_0GvErT17BYeIw_39_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">5957000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_Y8wtMjtor02FKlqrIHVLVw_40_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">32712000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_SHvKMQASvEGv_fLllorq9g_40_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-7593000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_-RbcJHcthUSV4qDKL3xibQ_40_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">-11771000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_u7hDkgvTp0qEF_LT6uR4pQ"
      decimals="-3"
      id="Tc__uU1lD5H7Eq_AUL75nor-g_41_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">2313000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA"
      decimals="-3"
      id="Tc_50beGHnWqU2_jW3siPct3A_41_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_qK5-FF8btE2cKNI95zTRVw_41_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_UjBZViRrtEe45j5A3BzPjA"
      decimals="-3"
      id="Tc_dEXqD5Ue7kmED0haTvT65g_42_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">35025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_zxhn8TsP00GxE795p5V3gQ"
      decimals="-3"
      id="Tc_8Wz3QN3Dok-wc0cDjPPIlw_42_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">27432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg"
      decimals="-3"
      id="Tc_omFVpOnfHUa1rJ0ZYcJ1Ow_42_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">15661000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_VRk9YQF2nkW49lynSRUSvQ"
      decimals="-3"
      id="Tc_VmgsijjQG0WEf0coFe7gEQ_44_2"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">7966000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ"
      decimals="-3"
      id="Tc_Hg-mc6kizUWFnqvWqmltUA_44_4"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">20272000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA"
      decimals="-3"
      id="Tc_IL5ebhziwUuThGsoN_UiQw_44_6"
      unitRef="Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA">30521000</us-gaap:InterestPaidNet>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2"
          xlink:label="Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2"
          xlink:type="locator"/>
        <link:footnote id="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" xlink:label="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes long-term borrowings that were classified as current liabilities because these borrowings are associated with certain solar and battery storage projects that are expected to be sold within one year.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_4pVBWo5gQUiyhGWBxGscCQ_7_2"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4"
          xlink:label="Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_sq5s6J6wK0CrEwEjVB-WLg_7_4"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20"
          xlink:label="Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20"
          xlink:type="locator"/>
        <link:footnote id="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" xlink:label="_796cbd76_a5f1_4427_abd9_7bc64ec9909e" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The Company completed capital raise of RMB</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.78</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> billion (approximately </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$261,332</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">) for CSI Solar Co., Ltd. in 2020 to qualify it for the planned carve-out IPO in China and bring in leading institutional investors and strategic partners. Refer to Note 1 to the consolidated financial statements for further information.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_9uRK6s4yjEmtTZYHR-XB3A_15_20"
          xlink:to="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10"
          xlink:label="Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_NPaeQ3iQ_UuILMIET7Hcvg_15_10"
          xlink:to="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18"
          xlink:label="Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_LRAotr-bQ0m1CY7fJKDfhw_15_18"
          xlink:to="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16"
          xlink:label="Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_M1XTyNFdA0eWAlIlMQEqZQ_15_16"
          xlink:to="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2"
          xlink:label="Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2"
          xlink:type="locator"/>
        <link:footnote id="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" xlink:label="_1810a5e8_fe98_4245_ab81_1f03cc4c7632" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represented proceeds from &#x201c;at-the-market&#x201d; offering of </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3,639,918</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> shares of common shares in 2021, net of commissions and offering expenses of </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$1,490</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_u5HkT4kRt0OVo3OJoEBKYQ_25_2"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20"
          xlink:label="Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_cnwGh8sn1EmRvZ3s1KokDg_25_20"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_PXejyzJSW06vqiKtQniCGw_25_4"
          xlink:label="Tc_PXejyzJSW06vqiKtQniCGw_25_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_PXejyzJSW06vqiKtQniCGw_25_4"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_lv4sMg9zV0GujS94hK2OpA_25_16"
          xlink:label="Tc_lv4sMg9zV0GujS94hK2OpA_25_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_lv4sMg9zV0GujS94hK2OpA_25_16"
          xlink:to="_1810a5e8_fe98_4245_ab81_1f03cc4c7632"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_rz95RrBOqEavRzODkYaaIA_11_2"
          xlink:label="Tc_rz95RrBOqEavRzODkYaaIA_11_2"
          xlink:type="locator"/>
        <link:footnote id="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" xlink:label="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Following the share repurchase plan authorized by the Board of Directors on December 9, 2019, the Company repurchased </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">91,424</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">and </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">289,906</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> outstanding shares with total costs of </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$2,000</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$3,963</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> in January 2020 and March 2020, respectively. The Company retired all outstanding shares repurchased during 2020.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_rz95RrBOqEavRzODkYaaIA_11_2"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_IHtnZB0S2ECfi40BDAt98g_11_6"
          xlink:label="Tc_IHtnZB0S2ECfi40BDAt98g_11_6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_IHtnZB0S2ECfi40BDAt98g_11_6"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20"
          xlink:label="Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_wXFTVN_OsEqEeCFs9uMXaw_11_20"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_EWjz3EihOU6sg0l5MnZFYg_11_16"
          xlink:label="Tc_EWjz3EihOU6sg0l5MnZFYg_11_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_EWjz3EihOU6sg0l5MnZFYg_11_16"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8"
          xlink:label="Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_oUvfbat-U0-GNi5SsY4i3Q_11_8"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_U510j7-LQkODQgcwdInBIQ_12_4"
          xlink:label="Tc_U510j7-LQkODQgcwdInBIQ_12_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_U510j7-LQkODQgcwdInBIQ_12_4"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc__YoOLdwui0K_BVsykd0E2w_12_8"
          xlink:label="Tc__YoOLdwui0K_BVsykd0E2w_12_8"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc__YoOLdwui0K_BVsykd0E2w_12_8"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_GlUtfw-M0E-qbh88HyEjGA_12_6"
          xlink:label="Tc_GlUtfw-M0E-qbh88HyEjGA_12_6"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_GlUtfw-M0E-qbh88HyEjGA_12_6"
          xlink:to="_3976fbd4_a126_4642_964a_0b9d3f7cf9bb"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>150
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "& DE8'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    "  A@))6.IF>[.X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M2L0P$(=?17)O)VE%)'1[43PI""XHWD(RNQML_I",M/OVIG6WB^@#>,S,+]]\
M ]/I*'5(^)Q"Q$06\]7D!I^ECAMV((H2(.L#.I7KDO"EN0O)*2K/M(>H](?:
M(S2<WX!#4D:1@AE8Q97(^LYHJ1,J"NF$-WK%Q\\T+#"C 0=TZ"F#J 6P?IX8
MC]/0P04PPPB3R]\%-"MQJ?Z)73K 3LDIVS4UCF,]MDNN["#@[>GQ95FWLCZ3
M\AK+KVPE'2-NV'GR:WMWOWU@?<.;MN+7E;C=-EQR+EOQ/KO^\+L(NV#LSOYC
MX[-@W\&ON^B_ %!+ P04    "  A@))6F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M "& DE;D4$B8BP8  #$>   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MM9EK;]LV%(;_"N$!PP;$L6Z^I$L,*$[<&DW=+.X%W; /C$1;0B31(ZE<_OT.
M)5MT._I([; OL:6(KQ^1U/OR4.=/7#S(A#%%GO.LD!>]1*GMJ\% 1@G+J3SE
M6U; ?]9<Y%3!H=@,Y%8P&E>-\FS@.<YHD-.TZ$W/JW.W8GK.2Y6E!;L51)9Y
M3L7+)<OXTT7/[>U/W*6;1.D3@^GYEF[8BJF/VUL!1X-&)4YS5LB4%T2P]44O
M=%]=!B/=H+KB4\J>Y,%WHF_EGO,'?;"(+WJ.)F(9BY26H/#QR&8LR[02</R]
M$^TUOZD;'G[?J\^KFX>;N:>2S7CV.8U5<M&;]$C,UK3,U!U_>L-V-S34>A'/
M9/67/-77!D&/1*54/-\U!H(\+>I/^KSKB(,&P\F1!MZN@5=QUS]445Y11:?G
M@C\1H:\&-?VENM6J-<"EA1Z5E1+PWQ3:J>D5CTKH9$5H$9/K0J7JA2R*>K2A
MU\X'"GY$7SJ(=H*7M:!W1-#UR#M>J$2"6LSBKP4&0-<@>GO$2P]5O&+1*?'=
M$^(YGD=D0@63B*S?W+E?R?IM=WYPN^3/&[B*+!3+Y5^V>Z\E [ND?H)>R2V-
MV$4/'A')Q"/K37_^R1TYOR' 00,<8.K3W>C,@%G0#+!C]DS>LA<;)Z[D.([K
MCX>3\1C!&C980U2LZ<</+UMF8\&;>TY_CE",&HI1-XH[MDDE=% UG"M%82CA
MM(T+%US33#($;-R C;N!A451PK#=L2T75AY<1XD2PYDT.)..HR4H6&O52\>1
M<*VV+CIKF,ZZ,:T2<&<RX_F6%B\(%B[7AN4ZQAN=;F"W3*1<^V-,P&6ML[Q-
M:F]BE8MA= ?.[7;Q@WF:,;(L\WLFK%RX"#A!W_==!W,"US-(7A>D_3,(/;>D
MN;V[<*%9N RO%N&2K-[?A'>UA2Z6LU.,TAB_B]KTM(FYB N88I55G-1>0;B
M^5>"PX+1\MB.CJN'(PS2F+W;R>W#.(8DD2?[+Z0*J/>%G0R7' ;#NB=76\;B
M1PKS)GQD1<G(9R851FVRP,7=_%OJF3Z"/OW G^QK"5SN=<FR;7("]ZLH/($8
MH@D*%S?V?R'6PVVEPY5F(09D L+%G?U;H%LN%03%'^GV^!3$%9?NVWJ@W6MT
M,IK0<'&G_Y JF"Q\35SOE_M?R8I%I0!F*QJN!.:>0^34JSA8ZZJ$%)QLJ2 P
M']&$<TV<N'@ 0+3%:;$AJY?\GF=62%Q@MEK\CBU<38!XN.OO.XI</T<)+3;L
MJ!^V""W#U56(,IG8\'#'#R'1XBK5YAG=6%EP@;9\]4Q<>"TN7PI1@:0R@AG_
MA<$TP#*V1:[?=[V^[V)H)B.\3AGQ&18D_8<"W LF/96\8#%92%G:L[9%\PM:
MMW@F&KQ.T?")9Z7VQ7H)(*25"%=:8I;J&=?W.KG^?CCKA5OU!$*FEG8P7+&E
MJXS9>YW,?E$H)NH- #VYZ![52H8KMI 9U_<ZN7XU=&0&$W[#[2'4HG-#!=A*
M&$4,A$ FKB4Q1F/['F[6.\;KG(F-'L[7H "&O5N@6V'_6\7@&8_W.M8,<.<Z
MP'>SK8BIB*U@N-S'T]4I>1V&M]C&@K%]'W?K7;]]5<Y8=Q-PF;;>\HWG^YU*
MA5WXKA2/'F#!6V?P^U))W7'0@U;&6GE8*>L]OL?I*!@Z(V<X/!\\VJB,_?NX
M7S=C>.C_<SAI=8P6L9:RRC_8%L)=^ENJ7>UWG N7FW_!J(SG^[A3+V;S.Q*6
M<:I@-1TJ!0OV>HOC6(BWZ+5L)_C&^WW<J?=,QQ8V+<VO6,93N!VH$,HHT1^)
MWF<NR8Q!A*Q3\+/;\CY+H_V##D4E%$$WZ(-JXL''S7P/?\.CH]N=+1(KO:Y+
M: J%1)(6%,,RV>#CGK['FJ<B)XLK*Q6NX+JNCZ&8"/!QQ[XL)9R!NG/&H>\C
M:V+B$C^X*^J;*/#/_H>-7#0/?G0GUR1$T"DAOJNZ;Y'\X>H^,#$2=(J1SM5]
MBUSWZCXPF1)TVH'J4MVW**'5?6#B).A42'Q/==^BV+&Z#P[>*^!9L'NT==)!
MA5.P[*B9MPB]*=,U@X783'LBAF;2)<#CH9IAH6#T>&?A FY_Z)YA*"8K MSH
M=4; :B"!&A#9;FT1F?CCOCN96&O4P<%;/+WBKMY52E*E7OU"KSG;O \-Z[>
MYO+Z9>H[JA?LDF1L#4V=TS%TDJC?3]8'BF^K=X+W7"F>5U\31F,F] 7P_S7G
M:G^@?Z!Y2SS]!U!+ P04    "  A@))6F[4$@G$)   Y*@  &    'AL+W=O
M<FMS:&5E=',O<VAE970R+GAM;*V:;7/;-A+'OPI&U[EK9^R(>.)#SO:,8[M3
MS_B2-'+:N9<P!5N\4H1"4G;<3W\+4A$E8@'9;=[8E+0 _WC:WRZ DR=3_]$L
MM&[)UV59-:>31=NNWDZG3;[02]6\,2M=P2_WIEZJ%C[6#]-F56LU[PHMRRF+
MHGBZ5$4U.3OIOOM8GYV8=5L6E?Y8DV:]7*KZ^9TNS=/IA$Z^??&I>%BT]HOI
MV<E*/>B9;C^O/M;P:;JM95XL==44IB*UOC^=G-.W%S*V!3J+WPK]U.P\$]N4
M.V/^L!^NYZ>3R"K2I<Y;6X6"?X_Z0I>EK0ET?-E4.MF^TQ;<??Y6^\]=XZ$Q
M=ZK1%Z;\O9BWB]-).B%S?:_69?O)//VB-PV2MK[<E$WWESQM;*,)R==-:Y:;
MPJ!@653]?_5UTQ$[!:CP%&"; NRE!?BF .\:VBOKFG6I6G5V4ILG4EMKJ,T^
M='W3E8;6%)4=QEE;PZ\%E&O/+CZ\GWVXN;X\O[VZ)._.;\[?7UR1V2]75[<S
M<DP^SR[)CS_\1'X@145N%V;=J&K>G$Q;>+,M/\TW;WG7OX5YWG*I\S>$TR/"
M(L:0XA<O+T[WBT^AO=M&LVVC65<?]S5Z7=>Z:HEJ&MTV;['V]!4(O *[MMXV
M*Y7KTPDLGD;7CWIR]L]_T#CZ-]:Z[U397EOYMJT\5/O9A6H6!$:-Y/9!?UD7
MCZJ$QJ.CV%<5=U59!_!XEJ54<'$R?=QMCVN6QEG*Z=9L3ZG8*A5!I9]TT]9%
MWNI>*Z:OKT#NZDM22N.1/M=,QE',.:Y/;O7)H+[S/#=KZ#CP7KF&7KPK-6EK
M-=='I-(M)E<B<J-,1B.YKEDL*4\8+C?>RHU?*_>(K*N[HBSU'%,;N[V6),E8
MK&L%2H7 M29;K4E8Z[*7.E]K<E^;)6@NE9T(*U6WA4;G:N(($6E,QU/5M4IX
M)#Q=FV[EID&YU]4CK"!3>Y2ESCNI9 (&?J0-L:,9XXFG,[.MNBRH[C=50C>J
M^1SZKU5?[?B;1UW;"8"IS1"U:9+PD5C$C,DT]?0DC0;^1.&AGS^J*M<-:0W$
M$JM56>BZ\:ZH366[,ICD(AT/.V8'<I/,(W<'ES0H]U+7L)9LZ+&A!ZJ2NIV5
M2,=-(68)2V./Q %N-,B3LX^U^1\$22%]S%W$J<QBIQ==.YD)&B4>B0.3:!A*
M'VN]4L6<Z*\0CC8P^!90IEWH&F*>73:CZKD[MG$"NL;J73M &4U\Z@=.T3"H
M;DVKRI<(Q3@D1"R3L5+74"0)39E/ZH L&F;6"YA*$4IE<KS\$2N>TM2C;V 4
M#4,*YNI*U^WS$5F5RG8FS ,;HZP@4VC]7L"%$'16' M'-6(H(IIZY\  +!HF
MULR4JB8K\P13MGEN6KT,."T70CP6J>L/7#L:0;L\<0L=<$7#O+K4]QHF:X^#
M?K[ZQ;I48BQCS!&+V/%81CZQ [UH&%^O!(++I5ARR<9J73,N&/?@@ WT8F%Z
MV4B@:>UD;6R*I.[OB[* R 7U!\R%$J4R<>"%V&5I2GUB!W:Q,+NNJU95#X6-
M6P], H8"C(]C0<PLS3)/3,!VTK._2S#FDDD PE@V5HC9<28](18;",;"!.OV
M.X[-_?&Z"44"S&40C7@<.3V)V<4L\_@I-K"*A5G51]:O"JR92R,.(9;3M<$7
M_\6LE@UD8V&R?>BBA<I4QX=!S%QX 0.D<)J$V"5"2(]/8P/F6!ASMQ]NSV_(
M^6QV=3M#!;J<RB*>4):.%;J&"4]3[LMHV  TEKQH3P3<%Z2(A9T<^,9(D(NO
MWAGY3K7M-WH (PN#<;8P=7O<ZGI)[DP-Q8OJ 9]!2*XFP.,X#,<,9<;2G3QZ
M7^O 17: B]_R^95Z]N5RS,5<&H'?=MR-:R<CENUDJ/M[30,/>9B'.QU:&<!@
M2"Q'<"@RSK/QLD0, 8<T]3AQ/@"1AX&XN^T T<8+?"-WB><X1L2&"H\+X0,3
M>9B)O;_;=">NS65="F,OQH./V,5QDOJ8R'=V&L-,W$9N'6GZS6N(W5"M+N^
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
M0*/D@E^Y7.-&Q#&-+Y#OG2/L8FP9T.C][I[%??Q^=[>!C5]&QL_P_--$QA:
MO(/ WH&I*)=J36(Z<*!D*"JWU!G^_IO7<?^PB7=*L/&)P Z$#4IA@R;TX1U4
M4\9CD5*;9KEO)_,U17,[Q+UN&(;]]G9?C;J9Y_:Z4>?0;&PQ"R(<O)D=, A+
M!F%C:MSK%94(&( Z*U.#M[1@A#XE0JG/ES9FX2FSX91@XQ.!'6C9*;7L-&8#
MK!ZP-G"HM5)2'K\@+0E7"<E7I?G?4()AF=,V07/@<"^X+2]T/1Q5<L5BASNX
M5\V5NEG4\;I=>ZI$);VHD=Z?L/0C8!*O"%]296KV@C")MB394"06B&P)2\@L
MH2W81+0422@LFS.-% 5%F&94G2,.,P9,-7DV-\Z2<W-!4/?16="-$'@B2$GT
M0HE4B)IRCJ <TG0&:?I:$O.ZFCF9^GP.NP:UIMFRG[S8Y(UJ>O3<H")M(_F/
MIN&)P [BU"WCU/UUG/+):\+%N*;0B4:2:(K4CJRM43C#;AX%[/?^IRATZUGI
M53)W5+<)>Y7DKINT L\+[<G=*T7K-8HVIBU)8['D+)NMH,J[=#M0ZIA0-BT:
M1_/1"GI*L'&O)J_GPCICE]=SWS:';J/ TQ616958_JJ,S*ED6V+22&559;%@
M"8,8_$?Y;=NWZV*P^RS]**R6A&9*'Q7V5&B' =C;G7N- 1A9UGBK-%X] 4*_
MZ^*J.'6[KM_QJ[/58H9]UPW\(PF%W_C@1C[?J%*7]IT+T5JRV4:;M0AI@;C@
MK1@."%(D@+(LI[;]J('KJ1'X07779C'SW/I*;#'#@8>/D'_;T'N-VUIK,&NT
M1X23.2,<344"T^.&QQ=6PGY]9^GU@K"Z][#81;Z_%\B"<=T,XZCC>Q7.[;V3
M9DKE,CNQ*PCHANO\H%:^+?\*7&5GX<K[:_.W(#O!OL'DOQINB5PRKE!"%P#I
M7D00!IF?WO.&%NOL/#L3&D['V>.*$BA Q@"^+X30KPW30?D/9?@O4$L#!!0
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
MX/!58UTXO[G[;7Z]^,_\?G%S+>;7'\7MW>+Z<G$[_R3FE_>+WQ?WBZOEV5'
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
MN]!ACT\]T/Y8;B<1^_#A%DDRC^X"^B+ET:^O)>3_AAI;,IV<_/Q4$SLTQF_
M-&;[*JXNXBS5S5W#V;N;]L8\^QT<NL8T_N-81J/!8-2B9!\4T@2G2?%9HK6)
M)&)Q_-1\S6<Y9FCL-=#VA'M(GCA.+E7:T!$8&7^GB@;U9'&L@?ZU]GS+V>;M
M,M6*4I]@OM\=WA8PX"%FV 63X)"TE_?S.S+_BPH]>;>F+>FBH91:+(--OXBK
M;^W-P][RY54_F1^ZJ#H:7#'B%%/P12K=#Z!.XFUC_[:_JYW'*\J=>+SHA9$%
M!D<,D3F63B=O3D?"Q<O3^!!LS1>6*QN"7?//$@.G<B2 [W2LZQYH@_X&^_Q_
M4$L#!!0    ( "& DE;WE62_/2@   Z&   9    >&PO=V]R:W-H965T<R]S
M:&5E=#$Q+GAM;+4]:7/;1I9_!:5-34E5D"S)=N+$1Y6MQ+/><L8N.Y[4?@2!
M)MDQ"#!H0!3GU^\[^P! 2L[,5N402?3U^MT77NS:[JM;&]-G=YNZ<2]/UGV_
M_>G1(U>NS:9P%^W6-/#+LNTV10\?N]4CM^U,4=&@3?WH^O+R^T>;PC8GKU[0
M=Q^[5R_:H:]M8SYVF1LVFZ+;OS%UNWMY<G6B7WRRJW6/7SQZ]6);K,QGTW_9
M?NS@TR,_2V4WIG&V;;+.+%^>O+[ZZ<T3?)X>^*<U.Q?]G>%)%FW[%3^\JUZ>
M7.*&3&W*'F<HX'^WYL;4-4X$V_A3YCSQ2^+ ^&^=_2V='<ZR*)RY:>O?;=6O
M7YX\.\DJLRR&NO_4[O[;R'F>XGQE6SOZ;[;C9Y_ BN7@^G8C@^'SQC;\_^).
MX! ->'9Y8,"U#+BF??-"M,N?B[YX]:)K=UF'3\-L^ <=E4;#YFR#E_*Y[^!7
M"^/Z5Y^__/KKZT__FWUXFWW\].X?-^\^OGZ?O;ZY^?#E'[^]^\??LX\?WK^[
M>??+YQ>/>E@-QSPJ9>8W///U@9FOKK-?VZ9?N^R7IC)5.L$CV*;?Z[7N]<WU
MT1E_-N5%]O@JSZXOKZ^/S/?8G_TQS??X_^'L//.3^9F1DGYRVZ(T+T^ 5)SI
M;LW)J[_]U]7WE\^/[/N)W_>38[/_6_L^/O/U1?;0R;/3XBQ[4SCKLG:9T2F;
MOB!*^VUMLK)M7%O;JNA-E2UM4S2E+>K,P2,&:+JG43T\>--NMD6SS];%K<D6
MQC0XU[;H8)A%HBW;KH+!!NBB7V=?+CY?9"O3F*ZHZSW^;+:X CXW-+UM5C#<
MPEK;VKCL]&__]>SZ^O(YC?K[Z]<?Z?/5\[.+['01[3YL]N';AT7JH3)TAH><
MKVC@0/"U&Q;.5K;HK,%)LMW:EFOX!0#@L@(7[KNVKO$D85K;] 8@W&=ME]W"
MT&)1F_ E+&=[&YWWG^]^<7K4#!BW+!)OQ^)B "KDQ #VQBPMK-3M+^CX6P,,
MKX%Y,_/G8/L]L%^Y80#'8@\SV:[*X);@)YB^6"YM;>'D84]PLJ9MSG?K%N^I
MW34PT.^S7Q=]LIL(W ZWYM8P(@. X!PQ2'1^ AWO[2)[?1_48,9^O[4EX4QE
MX%O@I+"AW1K0#6$N*-C6%8)E4_S1=GAJN<+;EA!+0!$?L6CX4/N<'ASOUJT!
MCW%6TR&8$%Z N5G5PI,]+4?HT!<-BB;Z'6YA6]!R'<H3EP/H*[/9$F;R5X1*
M39NUL&2'1Z\L_NHR<V==S\#=M4.-!%3!H7O#WX6#5JUQM 79+&V>#P+0K 5R
M^O2BJ)$ >=V^*QI7E+S@PO0[I-A[\3P0MZDMP)[("N"7$!ZCWBQ*($+S;8UP
M&#_.8C&- .B/D*XNRJ^PM24^%Z%WWPK:$#W;CI4%'H=\![29K*@8SH!8$;T/
MVVW;]=FR:S=R(72+,([(KG5&UV \@ LE.E]U[;#->3]M8_#I30O;%91; @:U
M.T2#$G (=F,ZN%M;NI^([U:V ZT&!^$5T]_% DB0C[(IOAI \]*BYN2>$Z]K
M%[5=,7^#)XJ%:[L%(,P6AL)5U*US!IZ$"4_+,\8S? YF-HB9_D% ?%L-</#.
M]$/7. 'T!A05@']F;HMZH,O]<T"D1H%P:VK&"OBJ#M_ [)X2#UUCKMR1+QJ8
M$,":2)%PE:\4^2;"A.9H=W #.+4 )5PC +; S?*@30L;=G;56%@*=@H;LH!4
M);,E.I,!#&PWMD1F2,HO8@>> \&)3\V"E"&IU^C7*XD>MVV/.R<V!-"*UL<9
M= !< IUV? D,&" M0K:_.KTP^"FP$<H=XBJ*7G@^(D"_&,J2@/SA/K9#MP54
M=\B+\3E8DVF^;9#[-P=N=P%DM2GVS WQ\5F1E-DELCN6-AM0=!D;2F#10!4%
MH)&#OQ>H!2S:6W.1_8Z,0E 1=P>,@RCS8;S#8TI.MTVHC</-$NES#)68_>O<
M@C!(YA'.PVQ%O7?6Z96!88,,@8;"&>"V(K01@5( E1%3L"3R;MOZEM0+YL4H
MF\;: #!;4Y.03MC11?9NR0LK8 !M+:DQ+6HRCG;H\.*9YAC<C-5S0I$/CEK&
MU0_/W9B5(!*/>47.\/!L(0 $_A&8,>K=RQ@NLK=M<I]^'XGBAG2<7@TRBZ#)
MD)("%WEUF2N%F#ND(3@MX5;-HPLX$FMT> V3)>1" ><)W8'T!L<'@6$]W(T#
MV" E1BS#LXCQ;+F_6M"HB*<+]YI?.FAW)="M[5M *-4OD** >;1#!U((=H,S
MB.[LCS3TB(6'-V/N4,,>$?YJ )D$$,2[:6]AO"B% <ZDK .<$2D4M)59] ^!
M /WPW=/\1[ @$1;?73_-KY_^@-@)/X 1:#8+0&PQ!*_H&;0(<UV0!,R,(B-&
MPC<J,M/M/5";04GZR90U@)K8,"]U8[J^L&CE6%0) <O:*JA88>K.C_3L& E$
M@5D.78>(*A,D]I=M[B>-69-%,0\!16.1>R*% /OX/)3K:%-ZG'5!NJA9+DDA
M(>OMUK:#J_<B'UAK&&HFH!8VK->/+ )A@:9!T36P&*R#V[U\_#S[)E/TID7;
M;S#5678*_WYQA-' #>V&]$<6>6A6,H02F^^PA:= 1[87S$\T)%52N@1E5/<*
M"R-$ 6 #*_#"*0H&E@=/L6&T1,'#9(G#(O+/09]Q)7!6$08E'7=%<F!V0";V
M%8FI.3([>OUS&X-;-0!@?@B9?8-<OAHZ1)%4.6.4!/HK>^;^?/DHZ"L+1^]4
M@2'EV(-J:-!,XB?D9!YL;6SG &)$FDUD^8>Y0%C7+([^,BVH?2\')T8*JQ+Z
MG/*/N*:**H]71#^@O)?)-Q&W0<HO33X=69G4#R%#@<7^@>C")$G8$ Z*S[0]
M[+Q$A9;N)O[-:P>J;=#,9SGM<$<:+7)V%AU>=#>!4[+NB5/ F.J6F10*-K![
M:HO:"Z[)FD9X%K88E P470W $$23%?PAJ4%N798KP-9 @P1+Q^%.-T!O= ?Y
MZ,$([1770?-"O1UFP&]AJ;IM5N<U2( J)@V%(7_%0ET!5:&T7@YUAJ/<[!PS
MER63 P,#+L"+!W- _3"O/WWP;A@8T):6UB-6,K<($#F"/>N8($2)V)B""9]9
M)R!=;1!2"8. &^N0VD@?*#H4S_N(H /N"E:),1%L";V *@RW#:R+5YYG2P Q
MW6F &\X4^UI<WPTQZ9 O!E1FU&M!BU@7<'-P!O;%P\;@-UBI8A\$D$:,2OU^
MRU<!* LHA1(]/>( NV(YVA=W8/@X9@TQWGD49R6I,L!7R+2! 0KQ K"8A%Q1
M COG20#>P)HJNN3 6^ >%J D-\:Y^.' -%<(LW-BN!&P8!)R ITO"+1(P\ Y
M98-X?)Z@,S5SHK9;&DLZ/^$ *!'F++LIW)H>*_$/%#PPN>?8J/0#1\'A]/N1
MIV%:XG!51@:(Z]7 !CAT[9WPC;#]BR.3$4=Q1'/T6XL67U/E8%HW!NRTHOMJ
M +T&%(#P;V4V_#^Z*^<7ABT-370$,4& 0JH. %338* $5HO9I@3+V*(;9H/6
MD=>/^W4'"NF&0PYPX35>%7OX2K9J+T =2V'EW9K.RSJUGA9%\S79)JK4Q6UA
M:V*HRP/VA^K7O&4'%D YD-F$ RR(-&*ZR&3 -$#^B? C]INCU[/KSY'1L-(%
M-MB>%L.CXWZR1=MUY!8"S/BR15QE$'BK;&965'OVRAX/+M%VXQ5R4=KYP@@$
M@*:&\%BT?1I!FP,&LS$C\$2@&)D'@-;+,] /9H3,T !/JV&)X[_&%^<Y"),U
MK:U2VWN(5*=&/O@OB2VP/$.PX*RJR'#0S72I.W) R5@0T0@MVV:+[@MF%NRF
MX<G]XL1;%P7>R!X(K^T*X( @X(? .7[Y>)-A>,@BFV)DK6N"\RTJ-W/*A_=[
M!%L!-@'X0/I3OT;/?N!;O+_<SX1:V,)\&R24"E23$YT*Y^B(S0=6.7]=%]D'
M<:UZ> 8_CJ[HS\6*H$-[0V\V#QXQI[XIK\X(]J$&Z95$M-Q!NN'<+CF+L$QO
M6_&O'J_$$".'WO1$J,95P!7?R);%"&"I=TL^BGVT9W1O(=F$>!7*R!+9.S"Z
MKD7>B!(!B%:-$A%J>#YZE.21!5;6 U=%<; Z0[OVH.[VVPQ+.GB0;U+IZ"3!
M==(8XB=%<TR53$D(#@$S6;>&R=1\]6ZC]!BJ0-W\<O/>:U# X-MAM:8U\2E'
M3(V)L6W(<].A6)"I6%?*V04P^9[%B46JQ+@0+2QZ%ZD="_2DD"L1CHW;0">5
M:&*T'/*"NF9O V["LI52$/LE2!2.:1J#$.@D(?\QVV7HM;]EYUA0G(!YWYK:
M.T3WAESJGJ?FHU!CK'$1EF%$@?=&-LB*(E @[@?WG$-&Y$P$,8,\BKP;3054
MP1Y/?^+XQA9F!< 6S9!IE$#H%4-F<?210AM$M(48Q6O8:O;+'<5'_E9LML^S
M&Q[^S@^_:3OXN? ZX<=W-S?9QPXU75%?00$!*,$'W=-["^:! 8Y&,!9Z$??8
M04Q'E@6\BF,#L(D!UL8!@'YL5"-/"1B80D%\7&Z*[(?74P9%2C P W3+*7 B
MK%,4(O1%N]F0MLWWYRWWN64"C0HI89#%BU^/;Q*?8F95MK? A]AN O,\/@WY
M_I&=DVQ=@6)*ZA-L0)WGO'O>"3Y.D[$J,,8*F)O1' P%YOK ;NV&*(C83BP(
M>%F4K='IU"IQQB,7*I\ ,>^F]0$IV@@(Z*W^QIJ< L_[7OUAT]M%!Y8_^KV;
ML)*>8",GR.0J(G_Q=U?YD\L?V8UYE3_[X?$W>C'9@03 [O!;E&YTDY6(!MB.
M=^CB@Q68J(!='?O7=8<7?]V9M@9Q,RLC8A"BS\LQ7/;,CY"<A#13L<)8)*HV
MJY0"^J"&C%82;2/QV*B8IKPGC#K-CO1(@L8;"/D>,/]?8G_CK#M3WWJ+@>_%
M%+"_9';VH25;+=SXIM4()%H38IY;N5CVR(/2A3NB#W7U:M)#NL!#@'!JSX"U
M!D]+_'=J^I&E0*%2<B9R7@E*],X4L%'"?C4 6\Z?B+(F1)??4<*;J<X+Y"K
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
M0@O ]SGG:CO0"S2WSO'?4$L#!!0    ( "& DE9DRR\X=0,  )X'   9
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
MO&%+!;JK:ZIV%TS([<P+O6?#'=]4QAK\^;2E&W;/S+=VJ7#F#R@EKUFCN6Q
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
MT+ !_;[2-!7;!6_0_4N:_PM02P,$%     @ (8"25C4J:<QP"0   1T  !D
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
M=P*M<R V2<.GN^+_C]/-)Q@HF^'&##6_ 3-6")QR;YD2<!?F#E/-88>HR[F
M% %T3[418%G5$X*-C(%X+6L!H,OU+0KX\N95$(9'OP2, I>73\MMV.P4?0,7
M1 &3>2N]FUH4@[<-^077NX!%\V;&.? ]CX[&0V/0@>^'>",C2W#A=J1!K[I0
MV0AUE7%S[.;<U*U)Z\HU#YI9F3,P&[JYLBT'S!J,7_?)[W\!UAZ+>#["^1X-
MAQ;A#F(:!?$3-M-_& R?ON(M>8UFX#\\:QP+O]N\LHY2YXVV0*-R,W9@IVH5
M-)F!+HICN'J ?X*HR9V(#@:>Z_,K8 #C,GY4>:2K]P16?N<S;C#I*]R[\']P
M#=/-K&J2W@PZC:.LA9TY0S<!W!QXMWWT..Q\EEK X&8^OF%$ (#M%RJWZK[O
MG=G/6NUQ^W'P"U/W J1G? :D7C^.>D39#V[VI92%^<AU)\M2+LSCG#/(33P
M^S,)]M<O*,!]]3S]+U!+ P04    "  A@))6G8[1(FP'  !A%@  &0   'AL
M+W=O<FMS:&5E=',O<VAE970R,2YX;6R]6.]OVS83_E<([]W0 JJMW[;;)$"2
M==B [&W0M!O>CXQ$6]PD4B6I.-Y?OSO2DNC$<9-B[[[8HG1W?.[NX?'(DXU4
M?^J*,4/NFUKHTTEE3/MV-M-%Q1JJI[)E KZLI&JH@:%:SW2K&"VM4E//XC#,
M9PWE8G)V8M]=J[,3V9F:"W:MB.Z:AJKM!:OEYG023?H7'_FZ,OAB=G;2TC6[
M8>9S>ZU@-!NLE+QA0G,IB&*KT\EY]/8B17DK\!MG&^T]$_3D5LH_<?!+>3H)
M$1"K66'0 H6_.W;)ZAH- 8PO.YN384I4])][ZS]9W\&76ZK9I:Q_YZ6I3B>+
M"2G9BG:U^2@W/[.=/QG:*V2M[2_9.-DHF9"BTT8V.V5 T'#A_NG]+@Z>PB)\
M0B'>*<06MYO(HOR1&GIVHN2&*)0&:_A@7;7: (X+3,J-4?"5@YXYNWI_?O/^
M9&; %+Z8%3NU"Z<6/Z$6Q>17*4RER7M1LG+?P PP#$#B'LA%?-3BCZR8DB0*
M2!S&\1%[R>!88NTE+W7,J:6'U7 -O-4M+=CI!$BNF;ICD[,?OHOR\-T14.D
M*CUF_6E0Q]4@VE-B=<FGBI%+V;14;$G-@(X:V""Z%;"[4URL"3SQFAL.'[@@
M=U1QV6E8/FM8 YIL*J88,9X16-Z*&J:G>Z9IK65OOZ:B)+#\20$6C.IVRPE>
M.EUK6*Z(EC55I)4;!HM^JPUK=&#%=G;D:L4+1FQT@W[$OG2\A45NK&0C#<QS
MQRI>U*"!DW*CB:8X0@%:PAK@@(+B8B:K3E@T@/X*)P$!K1EH4/ 22U(-49(%
M^%=B--#OZX^7 ;E0]"]>6XN?!<>O-V8,@G6XTXPH7-(8/$L%P&@](3!JZ19!
M[T#!9.P>RB0"D'?@/DZD& + E!BF&@R0?6M-!I (7E2$:[)F H)8 ] L)%M&
MU8-,%+3EAM;\+\R$G;Z0&B8VTH:F5?(/*'"#WP#G8!X@\0(J+\SIU+]T8'.U
M=7GMIZ NLYJ4CDN07BY+2R2'U]901R[!"J8UU'%$LH;= [T#-*!CM@3WA^V0
M/RX,PS)A@XK1 H,@NH:H]B%W%$&&\1(HBHDD'S]\[OVJ*&2[)S/&TS*N:W%R
MLX%,; _%SK*X DL%@()D]--LN*E&*["Z&E?+ "X0;<@.(A72@#.%5 A?.@HA
M2EGSTM+JE@)=D-98@J?DA^\6<9B\LS *@"&%I0E,XY*WXPE@P(5(D>,U;(SZ
M[:#YTO__@=_$A??(*RBOK+D%1NQ*;/3H33S(_L=[^HD+Z]Y(O<=(SQNI3,\>
M\-3+6R\2I<$R#L=A%*1A3GX!7@ '# ;635!S>MN7KT$X2-*E-UHN4_+!51ZL
M=_R>E1Z\47 1I&FRAR#)R4T%6-_8%7E()U@L4F\4Q@OR2<+:."2<Y$&VS(=A
MO R2?%2^Z=JV9E@D0'N/),!^UTRYOJ:V-#)#N=T *?X)7IR;0X_?RH,QX"X2
M!W*<9$&\R/UA!CF^VB^F 12.$<T<0AQ%PS!?!"$DUT5<?GW&*,R#>#GWQDF0
MA^&S0_30*9]];Z#[4@J+_F ]#J)%-@R7P2(*OV)"2/'FH9DX">)H-!-GP3QZ
MRN=#RP'BFGH^8ICCD78?H$!AS^V1[]^AV_^W#%U279&6<M>(T$9VPNXK1=V5
MX][>@$N=LGZ/%?=0#!\3H, )X-"RPBB0E9(-5!:_]/4JKVPY>NV/H2"]/F[J
M85Y'Y66PG,>^M2P($WCAZN[+D"$5LM0S%H=!A-B\I2-O<2-T(6/W147%FF&L
M!)R?]LWZ<0-A2V6$ KV7T-0U@</"A8G">"^\4?SNN?,>8_W79H[3(%]Z)3L-
MDF7B3UQRW4ILS$RE9+>N") 2FBW< <#=?LMZ .'K\[["K2+T8KW,LW'D->RO
M+J&WX*)CY>MO7EM>'=];+@_'0U!P87F#,3._VU,JME?0IE*7@K%1=>&WF^.;
M?39H\@HB8ENLUR2>>B5WNO@6XX_B[9E/IV,^\VE^U+PS"CDNL"(0/,D\A$ZR
M:4B^!ZM+^'V^C8>D3*<)Z$<A@/M^3(CM[!Z5L #.'G@<LPS>8Y<]2CVYS/ZQ
MGO#I.F>/24-7YT9N[[G:*R;]_[4[Z#Q[?*AXCT]V1W@O2D3B1>WECD*4$TA&
M,%^.](/2F44C,^,\2&"?!<F4S&'+'8D$16*1>HU;'(1YC((9 1.+<6\=9?!]
MCB(Y/$;9N'U'GDB469$Y@2XDS_<P8S4<=FS[]1.>Q.G*8 "2($J2I^7=9Y>E
M50?$8G@3Q)NN[V&'TV@..-,Q(DD8)//1G646+*,%)%H#M7C3=NY8O.O!03B,
M_>8W"4?G@-D)A.>_U[_9#?@XB@<M"33&83XV\'D*;7/RXHP/2T[0>JLY-BTO
MIXW7_>^W<1XU<J^AA-TE"^?D2HKUOM:N:_.WG?E895,()=#%/SD\T<D].TZ'
M+I]FWK5?P]3:7F[B(1K*F+L!'-X.]Z?G[MIP%'>7K[]2M>8";QA6H!I.Y]G$
M->S]P,C67B+>2F-D8Q\K..,SA0+P?26EZ0<XP7"K?/8W4$L#!!0    ( "&
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
M.>PS#MMYW@@1X"$M*N>ZH'+DU6:GW-2:+3\WB6"D9XIN3)&G2*3;8"^J>>1
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
MTV%R0:]["EGCIX*:NBXENMDY&C@H!#'U5!L^>]C'B:S:>'Y!A3;V/4]BU0W
M,"<KZC,3',VVK]#KJLBL=WD]Y2>[X(9><X3I&W;4&!(5=ETY3.8@5O."32YQ
M-[XMLC9\FG _Z3!)#L,KX:KQF8G5AO-UYV;L*;@#-#Q9!=AQB=[.9G$8SZ;>
M_VT<3B\FX>3B(G3:ZGYOCGYVND5'MT^%9NOO6 +?O?8B&JS#-;YJ;Z^#>_L-
M<"/,5BJ"$G,.'8\^\:UIVGNU75A=^[MLHRW?C/ZQX$\1-,Z!W^>:A74+EV#X
MN%G^"U!+ P04    "  A@))6U8UG5,@"  !^!@  &0   'AL+W=O<FMS:&5E
M=',O<VAE970R-"YX;6RM55%OVC 0_BNG=*I:*2*)$Q)* 0EHI^VA6P7MJCZ:
MY"!6$SNS36GWZV<GD%*-(DW;2WQGWWW^SO9]&6R$?%(YHH:7LN!JZ.1:5WW/
M4VF.)54=42$W*TLA2ZJ-*U>>JB32K$XJ"X_X?NR5E'%G-*CG;N5H(-:Z8!QO
M):AU65+Y.L%";(9.X.PF9FR5:SOAC0857>$<]7UU*XWGM2@9*Y$K)CA(7 Z=
M<="?1#:^#OC!<*/V;+"5+(1XLL[7;.CXEA 6F&J+0,WPC%,L"@MD:/S<8CKM
MEC9QW]ZA?ZYK-[4LJ,*I*!Y8IO.ATW,@PR5=%WHF-E]P6T_7XJ6B4/47-DTL
M"1U(UTJ+<IML&)2,-R-]V9[#7D+/_R"!;!-(S;O9J&9Y134=#:38@+31!LT:
M=:EUMB''N+V4N99FE9D\/1I/I[/[ZRMX&,]FXV]WCS#]/K^;#SQML&V$EVYQ
M)@T.^0 G(' CN,X57/,,L_< GB'5,B,[9A-R%/$*TPZ$@0O$)^0(7MA6&M9X
MX3]7VN!$AW%LE_1515,<.J8-%,IG=$:G)T'L7QYA&;4LHV/H?\'R.$[0[<!A
M++C+$::BK"A_/3WID2"Y5+"A4E*N7YLN8<9@:MNH[!=FL+#=VP<;[X>7_VU\
M1"JW+P;,?6.Y0%G?^2[ W+UO/T']"O[(_W30FN"*<<[XRO1K07F*T.VZO:0'
M8>(F(8&HZP91# ^[FBLIGEFM,B1V+\+ !OC=$.*>&P7!6UPJE%; >+J6TA ^
MBV+7CY-S. N[;A02:P3N112>@Q$,(P<<\"7-*5\AX')I9*CE>''AM_89<8EO
M4%H_,AR,;TYEOX3WW)/8C9-DEW/HW7E[FE"B7-7*ITP-:ZX;>6AG6W$=-YKR
M%MXH\PV5YD 5%+@TJ7XGZ3H@&[5K'"VJ6F$60AN]JLW<_"!0V@"SOA1"[QR[
M0?O+&?T&4$L#!!0    ( "& DE8C#UKHA 0  %(+   9    >&PO=V]R:W-H
M965T<R]S:&5E=#(U+GAM;*56VU(<-Q#]%=4X<255Z[T,&%,&MFK!./&#4Q20
MY%DST[.CH)'&DH:%O\]IS84UK->NY %V=.G3Y[2Z6SK=6'?G*Z(@'FIM_%E2
MA="\G\U\7E$M_=0V9+!26E?+@*%;SWSC2!;1J-:S=#X_FM52F61Y&N>NW/+4
MMD$K0U=.^+:NI7L\)VTW9\DB&2:NU;H*/#%;GC9R33<4_FRN'$:S$:50-1FO
MK!&.RK-DM7A_?LC[XX:_%&W\UK=@)9FU=SSX5)PE<R9$FO+ "!(_]W1!6C,0
M:'SI,9/1)1MN?P_H'Z-V:,FDIPNK_U9%J,Z2XT045,I6AVN[^9UZ/6\9+[?:
MQ_]BT^U-TT3DK0^V[HW!H%:F^Y4/?1RV#([GWS!(>X,T\NX<198?9)#+4V<W
MPO%NH/%'E!JM04X9/I2;X+"J8!>6UY<WM]>?+FXO/X@_+F_%ZN;F\O;F=!8
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
MN)&D[>$V+=BT:P>I<BOW;2(Q.":@DY\*&5U[.*TV0[NF;L]Z(*<KRFY\AWT
MIDK-NA.8+-I."'RX=HATPK@[(&<$1@Z0#[.G)2I$@*+\;4J6.SC*N/RMT4T\
M,_=I^5;*O$+61^YC0?<&M=$]+%*Y=4ROY&,9XX9"1D8ME4'?:T._8#]H\H#G
MQZ)O=Q](GW*HO,B_.85^UQ^U3+39:MN$_D$AR\(^)$@Z0FG9GP'G'X(S+-$6
M=I*'.4J+2K53>G4G*V/74.,NE(W]]/O"^@D^\L9;I0\$<DM9_QJ_N]O]7P:7
M^B?\_7+]'R&\ER5B$:*X6F&K.YU%9Z+4_[F OJB++?^@_Z:HZV+#7]=*0NUH
M 9ZO"J3 YH)>T/T/#R__%U!+ P04    "  A@))62U ,EA@$  #]"P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R."YX;6S%5MMNXS80_15"6RQ:@-5=LI38
M!G)K-P\;!';3HH^T1-O$2J1*4G'V[SND9$N)$W?;INB++0XYAS,\9\B9[H3\
MHK:4:O145US-G*W6S9GGJ6)+:Z)<T5 .,VLA:Z)A*#>>:B0EI76J*R_T_=2K
M">/.?&IM]W(^%:VN&*?W$JFVKHG\>DDKL9LY@;,W+-AFJXW!FT\;LJ%+JA^:
M>PDC[X!2LIIRQ01'DJYGSD5P=AF;]7;!KXSNU.@;F4Q60GPQ@]MRYO@F(%K1
M0AL$ G^/](I6E0&",/[H,9W#EL9Q_+U'_\GF#KFLB*)7HOJ-E7H[<S('E71-
MVDHOQ.X3[?-)#%XA*F5_T:Y;&^0.*EJE1=T[0P0UX]T_>>K/8>20^6\XA+U#
M:./N-K)17A--YE,I=DB:U8!F/FRJUAN"8]R0LM029AGXZ?G-Q>+N]N[G);J_
M6:#EIXO%S=33@&MFO:+'N.PPPC<P@A!]%EQO%;KA)2V? W@0T"&J<!_597@2
M\9H6+HH"C$(_#$_@18<L(XL7_:LL.XSX=0Q3'6>J(06=.2!_1>4C=>8?/P2I
M?WXBPO@087P*_1LC/(T1Y"XZQD&_;"E:BPK*C_$-TF154:2H5F"4>HLT3!>B
M;EI-;)V(M9$Y*Q#A)2I9U6I:(DHD!V^%&@H5O2720$KK^Q7F%&*\9 6!I6?H
MXX<L]*/S__S_=[NQE1P"P=!Z!;$9T>P7@'A\\Q-8&1WY?W_+X6Q$JR!19=)^
M<)<NNH:3 ER,Z%-!&]TG:\YB2+V$2OL!W;4UE40+^7XIW\$MS#BP 3MJ+=FJ
M[>C2 ET13DI&.%H*B _=<J@0XQ:$YSU?>Y#O4!"G>.)'(TN>X##.1H8PRG&>
M9NC:$ SW(J+K-5R4YA@*P1^IU,QLS(6FZBC, "=!=F1-<.3[KUB#+/JGB>WE
M-TXMPR$P.K+X/DZ>YQ;#IDD HN "KLSWI6@$:DN@._N"5$5;=06T#WYG7P2(
MGL!QP@.'>&LE:H^XKF&E59-Z@\8DQ\DDP5D^I)8&. UB'.5#_BD,PQ@G24^E
MJ57+I%5T)]=^W[44=6\1C8E465DOE@\#PUD^P6$R[)AG"6#'0U!9BF.HJA>R
M>6.S;U%2%D4X3:.CF12'DQ!HG)R8><G%7B[OPL9+[:4AZ#O%69 /I@QG)A1_
MN%PF@=$[#J($75HZ7[DY1TIUXW0L93=)1L/(G40#JZ=QHNP9SC/8R(T'!O_B
M-2!<LQ_+/;O]D<!56+7FFK6LOO)@_/UGPOW?GX/EZ4H(L@GVLT&7$5 ]:#''
M87Z@ZK7GWQNU9/!,;&SCJ>#<6JZ[[NQ@/?2V%UU+-RSO&N//1&X8A%C1-;CZ
M[B1QD.R:S6Z@16,;O)70T"[:SRWTYU2:!3"_%E![_<!L<.CXYW\"4$L#!!0
M   ( "& DE9VA#NQ_ 8  )85   9    >&PO=V]R:W-H965T<R]S:&5E=#(Y
M+GAM;-58;7/;N!'^*SNZ-'.>826^2:(2VS.R[#3VV3Y7<N\F'V$2$M&0  \
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
ML >RN@6L7K0H[,W;@]!:Y/8QI7BVDD8 OR^%T,V+F:"]BCW]%U!+ P04
M"  A@))6U'9"<M(?  #;AP  &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6SE/6ESV\BQ?P6EQ(E81=,\=/JJDF7O1JGU\2PEJ?=Q" Q)K$$,%X=DYM>_
M/N;"24J6O9N\RL:22,Q,3]_=TSUX>:>R+_E*RB+XND[2_-7!JB@VSY\]R\.5
M7(M\I#8RA6\6*EN+ O[,EL_R329%1(/6R;/I>'SR;"WB].#U2_KL4_;ZI2J+
M)$[EIRS(R_5:9-LW,E%WKPXF!^:#S_%R5> 'SUZ_W(BEO);%/S:?,OCKF9TE
MBM<RS6.5!IE<O#JXF#Q_<X3/TP/_C.5=[OT>X$[F2GW!/ZZB5P=C!$@F,BQP
M!@$_;N6E3!*<",#X3<]Y8)?$@?[O9O:?:.^PE[G(Y:5*_A5'Q>K5P=E!$,F%
M*)/BL[K[F]3[.<;Y0I7D]&]PQ\_.Q@=!6.:%6NO! ,$Z3OFG^*KQX TXZQHP
MU0.F!#<O1%"^%85X_3)3=T&&3\-L^ MME48#<'&*1+DN,O@VAG'%Z\N/[]]?
MW;Q_]^'F.KCX\#:X_/CAYNK#S^\^7%Z]NW[YK( E\,%GH9[N#4\W[9AN,@W>
MJ[18Y<&[-))1=8)G )L%<&H ?#/MG?&M#$?!;#(,IN/IM&>^F=WPC.:;/=:&
M>;JC]NE09I[G&Q'*5P<@%+G,;N7!Z[_\:7(R?M$#[)$%]JAO]OL#VS_==#(*
M>J<,_O*GL^EX]B(0@^!2;.)")$&HUNNX #DL\N B#]0B )+(]5QFEBS#H%C)
MRH.@+>BS39F%*Q :'+;)0)5DQ788;!*1%H%(HT#^5L8;'!+<R4P&8@,/?8U!
MV&2R#?X\&X^'T_.C(3U*TXDM/8RZ*2H3:=?QUX[S0" $"2B<YW9'73__5XH,
MF35.E_[&G@=_QJW-@NG)Z?#TY 3_.+*#9M/AT>DQ?G9L/SN>!3<*$68?8NCM
MW_-!<*T26&VC8+-!OLT+N7X8>C.9 (H )PH^3O,B*UG'O?MT2;A2, !6 &Z,
M0TF3X@R7:KT1Z1;AF9R^R(.\ 4W>2H;CD^%D^OM2P2)Y/#R9G%:)<3R<'M5H
M,3V9UHC!>[!_AL#?H*=@.9F&,:#H,A$Y$(#1^(NXR\L8-G&5!G\7:0G6"N:?
M'#,A@'MC&+I8!#%8E2"DD8)')CPR6,0)D$<LX<F\\)%/2 Q!#. ;I NN(K_*
ML$3C!!\L@&!9CC/CH(]I(;)8!=<E2$X,6+Y495;@N+^#:8!' S7'F7 MF"Z+
M &M(#(8)EXEA0D&@Q6A$\PU80QQO0( GXS7+Z]TJ#E<!K+H2D9LWD0( @R>O
MY:9@N@ JCI#U8 V8A0#-"U&4A0(\A:)D<=<8P9G7<9Y)4H^P'_JT3!'4RA8!
M!UE<("V "D/>A@8RE<LD7B++-6?2&T"TXA"UP6^UR["6T=8^$-V*-(0-N:4O
MWUQ>C((;(@ZBE=C^%G$)HE,4B20NU\*CMP/_?0P+1>PY)O$<\Q3>"&#]%+ 3
M ; $",R0Q&(>)W&Q#1#1F4J7D4)>GV\KS %?T@]>DJ487 R91J P\Y'6'Q-
MFH5B<HI03+22^$<:HUZX!N0 (M_*C<@*LPM89"VS4 YQF7]<O_UX.010\Q*>
M7\0IR(H [D-'!SDQDH7,P-\@)(-:B(N591\@/;(M@!1'Y7J#^R"N5F4*@VX%
M;!0^BDK8;9S>2F#4I9X&Z96!IA$)FJ8@AR=!?P6;E2K4K4J V"%!=WG]Z9]#
M('^2Y$/@2TF(@,]3!=A-0Y5M5$8*$ 11!6N%6@B>7&1J'5RN .H1HN@#$'/M
M*&5Q-+H>@60#J+P[V/E-)B*B@B:91M'5#:#(8 +5[4K ^FM8O""EBF RE"0S
MQ/I1@&HSBV'6./VU!(D ".VR-").(Y#>;,N,0\M8G5S!>W '*C0OYSF822 B
MZ&(F$2RB&8<G-4JA95.,SJL;I[VK0RXV&RD29[!_DB =,/@RSD)09#2\]MD(
M[91 ;@#/5_-J7N>8886O<1\9VOJ,C198$,!6OH)!&Y4C,\%FD7 PT5.5Q4L0
M>@^YC')#;K.)_3F#$9V13("0 ].).9@M/9<%$DW?9#8Z/WH2'/K,C9P\(/Q-
MCD=3_+:%U0=&D_!D&Q&#'DD2MHN5K4:E=$JH@3@0<GE+Z$;9174(#E222+!4
M3+^:9&I=05Q$!DD3U&SNZH9DX:)< L\%K"RT(8/O@+MRK>B+!B^R5JAR)'D7
MGE6<TH1GPS;F"<K-2B:16<OC\3!&*2., <Z1.T!A+H ED9J\@XK8@/U#;6[T
M=!K1>A"_J4SBK[&;%+4O 5XA>J&M&U *47H7 V7FDBQ8GI/UC) IB2T$@ 1"
M]ZM6=:C'TQCDE15C)F\Q,APY7V.G4WW(K@8HVD'3\?"_9'4 BAG\YGD20U3'
MR&-"L,!9BH,B (*V0X>,\/<R8:^E4UX985I425WO)2*X1LYR?#XZ.>T4%K",
MY_W"8M'/ZQK?$ZC/TUL&OM'<:M5?83!EF:K-^M"TK/F OT". .O$;6M4]]6]
M[9P(H?#YS)AN (L9N&C WE"<9A])_$7> 1+=AJJ;J2/T83MIG:5_&\-@!>$
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
M>WWN@*^Z=IF(J_=.W+Q<L.2+/8[-(>O"O $N(J_Z:F%\MQLP5+):":8/SA\
M-4(S],\I NJ'EFL.-%?X5O YWF7DJDJ%*T#DU6RG!3Q+P/.K:,FYGPR]!#,!
M7RV@\P\?<C)/U;GU3JJ*AXRE0\U-XW'D0U>DI6R"F=-F$X_L'05G=&2 I$'5
M##B37N63TFS8PJ3[\&55%7I<VO96GH=K$!N7V0H^W?%:'6K.OND=6EZMOD],
MBZS:M0O:08=QIOV^2@5SBI;JUB;A#JJYVH:/;X:FO@IYN :>Y71B1.'*Q*Q"
MT=%WN=&)_<85R*ZZ3^M[B@%TU2F&IEQO\O)9\?KELSB'?T+X?Z;NX-]\)67Q
M5A3B]<NUS);RDMP3.MM_=3 Y\#[%W-VK@XO)\XOIP3,8Z1Y__7(#; T,N$1J
M)'(!0\?@O1T$&?I-YH]";7!*O!X.@D?Z=27Q[2GX 'R_4!!!ZC]P@3N5?2'P
M7O\?4$L#!!0    ( "& DE:DBO=%N0\  &8Q   9    >&PO=V]R:W-H965T
M<R]S:&5E=#,Q+GAM;.U;:6_<.!+]*X0G&#B ;.L^XB2 XSB9S&P2(TYFL1_9
M$KN;:[74H\..\^OW%2F)[,.>'#M8+#!?XI9$%JN*KZI>4<K3V[JY;I="=.SS
MJJS:9P?+KEL_.3EI\Z58\?:X7HL*3^9UL^(=+IO%2;MN!"_4I%5YXKMN?++B
MLCIX_E3=NVR>/ZW[KI25N&Q8VZ]6O+E[(<KZ]MF!=S#>^" 7RXYNG#Q_NN8+
M<26Z3^O+!E<GDY1"KD35RKIBC9@_.SCSGKP(:;P:\+L4MZWUFY$EL[J^IHLW
MQ;,#EQ02I<@[DL#QYT:<B[(D05#CCT'FP;0D3;1_C])?*=MARXRWXKPN_RF+
M;OGL(#U@A9CSONP^U+>_B,&>B.3E==FJ?]FM'NN[!RSOVZY>#9.AP4I6^B__
M//C!FI#>-\$?)OA*;[V0TO(E[_CSITU]RQH:#6GT0YFJ9D,Y6=&F7'4-GDK,
MZYY?7;Q^>_'N(WOS[M7[#V_//KYY_^[I20?!]/@D'X2\T$+\>X1X/GM;5]VR
M91=5(8I- 2?0:%++']5ZX3\H\:7(CUG@.<QW??\!><%D9J#D!3]FIA82[A="
M\?&D7?-</#M  +2BN1$'SW_^R8O=TP=4#"<5PX>D?ZV*#POQ_6.V1Q#[N!3L
MO%ZM>77'^E:TK,.-%:\0=XBPCO'UNJEYOF1=#4QWH@'4!$/H-[R3U8*U8D'C
MVF,E:=_$O$:@%J+1HF4%&14O&=(%K^07KD.P*A#(Z[I1,J%'P69W:OR@V\\_
MI;Z7G+8L7THQM]8O1"Y5'ECQ:]&P0QKHNZ?G[U^^53^]T\<,&8H>V\-;A_&R
MK',M!'M6]TT.ZTD1WL(/+=W'*BJ[5;DXMCTU:4/+L"5OV4R(BL'*JI-S*4B&
MUEYI>_%9Y#WE&/9^/I<YU*SGMG$.PVJY8+C3B!M*+\II=2D+WI$P*#7XF51%
M6FG9[5)4.T8Q/D-Z_4;+MI0Y9J^:>H7P\F+<;NI^L52/NZ5L"O9'SYM.&X
M=!U[)AQ1:$>8[9$5ZVYKMFY@H%QCVV<]UA>DQQ/V]NI*J751B69QISU,]\8Q
M\,(*,PD-^(/2($L-BD*T<E$Y^'N#XK$FQSB$O7Z.7-XW0GN,E\HV^)%C_^NB
M+P6VO8: 9KBYKF_Q&S@M^KS3+M(/VKNV$RMV+4=@;ZC%RY9,JF^PX043U0*W
M!2Q<.'0WAP(Z B".]K%K>EUH#B\NSQ\S2@\ P2!8V_XU)D^F[K%N,N3?J&ED
MI(G/O<])XBA!U<%&YK*[4Y+-7+JB\MV)2@'E\/W/?+4^?;MM@_:M$MBR.:%G
M7^1NN!#9!+[=L1Y:0B=@!GFF'1U8R$Z!NY4K2<9@KEX*/S0JUP"E)&W>5.S7
M'A[;Q29X"6@+0H!A/Q!5"YF;W %!Z[YI>P"'E;)5QL,SI&';SY"])&B)P\ZO
MWK KY<_S^MAA_^@*_ N$(\HK/L3-N_I&K&9P-E3P-E6@K2T%!;2*IX97[=S*
M!21D8[L&$)(7AIU3 =P-/C;:*#\(]KJL9XBPP:=CPL!#?E-+RB)W$-Q1BL(H
M4D9TRK.(V>Z6PM96EE8E^\TJMB>0WLCGD^[3H)RC]AU1$AK]2!&!K052H$B)
ML 6/Z71*J6=D%.5%R#F[.F=^BEV[&A3_,-6#,:E_K-?8-0R:,KOV#2HN&;H'
M<X5L^6+1B(7*HW-).";K9:59*UFOZE-+?C&:[:ECVW BY5KE(B/6RJH$C+SL
M"YV$;T35X]:BJ0%RR)M+'<484Z^$WL\A[E1M(CI9J$# FO,:^?R6!%$JU2OS
M&07<4'N?,#+8#4[Q-XN3[-3:$ >50HY5N(6V6QG12IMCR'=U!UL&]&%L/RAE
M#)+5C: R@)L[^5)G],MS=OC5B7$[GUB8&["@,JY>?Z HVSL]XQT4 NR[NL'6
M*9ZQT/Z<T@L5C!)P4Y;.>'5-7G20P(NCKC["'^QQWU37XFY'W.0&12;PLZ1T
MV>:<!& /5Z)1"-";6H">-[AT!F+3:F9 S]?K4N9ZFY6QK3!K*">VUEH<V5!G
M#?("$*$ 6M;5XH@RY.@VQ@%Q-61CE^:]JH6C*3D'0U5)OE=.U;XQGA^QLYE&
M)OSPID&*913:^_R_T+/&1+51KBC&)25HY;P9*O  &_+.MJ?W2!AU& # %*4A
M"TM.>Z8H)?!4C?V<Y0V-,8WMH0AB+AB;[31V>'EYUCY&V9QU*'<#/UJ-8-:,
MH1%_]%(#>(#I_GP[Z-T.=G:0<,2Q9<*RV;Y[C_VM2K*W:$KI[_)NULB1G*S+
MOMT9CMH'=5>0V(VD>BQT\/L-LO:4Y@<-"?-H@@'262_+PERJ71EOU;>*9Z'5
M5YBRHLF6KYE"<RTZJV [)I\N:F+\<^I/4<2_Z*1(L49FYCDHR$ Y<MXN51!J
MD=B,83C0*RDM@1M='T_YSK /1^6<?8 RX?0G!,6DG6V:LKG3A@?^&%FQC3 <
M 7FBZL'@[V@S)6QHAR2B&P/%2:9>8*R0(\PI[Y%#ZZ90C$UMP%0V-WLX=! *
MV&K9):\64'+)J1CGR-2-HBD<-;'N2^0TJ(>@I-7W%*"]MFPV2:/^P.=8#Y5=
M.R6QJ*%'57?##&QGJ4S1)U%VX9Y-06?6OZ_-/3S7CA7%8Z6C55.U)>KH27ZY
MI[H,&K=?7<+90E3TFU@'/2'V.6IKE^N_YN^_!&^&(Q?V4N2:D(Z')M\L[:($
MEBOM\Q_5C#SVHS+Z:FAPQ?VR3"QOQJY4%?;0 PH4R]F>]^A/?KTS\&U9[&1)
MY,2><2G@XD1^-%T?!GZ*&\GCZ4[BA'&*.2XPUBH"/8F+G-0/G30RT^/8=;S8
M,^+\)'.BT#?B8L=W(R=,0O;:!J;G>)'K)%$R#808)XA#(RI,G2R-C"3/\>/
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
MBZY>JR_I9W77U2OUDPX\1$,#\'Q>U]UX00M,_[7B^7\ 4$L#!!0    ( "&
MDE;QGQ]!1@(  ' %   9    >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;)U4
M;6_:,!#^*R=/VZ>*O$"[BI%(0#MMDU@1K-MGDUQ(5,?.; /MO]_9"1FK6C3U
M2^SSW?/<<SF?)P>E'TR):.&Q%M(DK+2V&0>!R4JLN1FH!B5Y"J5K;LG4V\ T
M&GGN0;4(XC"\"FI>299._-E2IQ.ULZ*2N-1@=G7-]=,,A3HD+&+'@U6U+:T[
M"-))P[>X1GO?+#590<^25S5*4RD)&HN$3:/Q;.3B?<#/"@_F9 ^NDHU2#\[X
MFB<L=()08&8= Z=ECW,4PA&1C-\=)^M3.N#I_LC^V==.M6RXP;D2OZK<E@F[
M9I!CP7?"KM3A"W;U7#J^3 GCOW!H8Z,K!MG.6%5W8%)05[)=^6/W'TX U^$K
M@+@#Q%YWF\BKO.&6IQ.M#J!=-+&YC2_5HTE<)5U3UE:3MR*<31?3;W<KF-^O
M?]PM;E?K26")U+F"K".8M03Q*P11# LE;6G@5N:8_TL0D)I>4GR4-(O/,MY@
M-H!A= %Q&,=G^(9]B4//-WQ[B2W!Z&4"-Q=CT_ ,$T87WZ#>(TL_O(NNPD]G
MY(UZ>:-S[/\C[SQ!/!S ,Q+XKKK+@]K0S<_43EK,@888HO ]T%(KC: *L,IR
M 9+&7^,>Y0Z-C[(EPA-R0J-K*U!3L-Z@/C8F]-\(N,Q]GP9OR=B%&4J=8;7G
M&X$7K<.XP.<Y3[*]]-^#DRD@%5L_ZP9\BG8@^M/^.9FV4_0WO'V+%EQO*VE
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
MZ[3<Z)KG.-VCH7DV(3$7.7E$R;^N><,^MMM-E,MNI;AIEIYN"&([$+*3PPH
MN,<>;A_@%HV-F)IG@F_/4?CV34NS,'(]&7V87$\>)N,I&]U\9./__#AY^.5H
MLX*,,PA: I[7;4NU%42FOJ7 ,DS;Z_1AZYKN]"Q%V6O+1-;/GFLV4(7;',(\
M7*\#UM8<>&;?.M39KN]I@:F8"*"VK(#JN">$QYA2;QUF6UA-NP^SZ6B!Y_65
MO$L,LCU38<P-=';=S'N1&0L!O@G)1&-=(16L[Y2.YEEZHWQ5LX&)'8)NGN_#
MJBR7C66>.B(J9,LE,H",/T4+>II1V<40("KQ!APF\5(63[Q"!L[C/ZAJD2LT
M8*?IT@9]Z;QX='17*KBA&1=%16&^*I$NTHBJ ]]R-,?N\%\_*V4VA8532H%\
M%9,:!T:@V:8_5( U3 _E*2$'\FTV-C2=J#E*/--,#R.FSD9A6"VIG!5ME$%:
MS,6".F^RPZPHV,#1-<>WNYT&AH<1QQ@V\#>.9&B^CLU\2]DHL W-A2%MZTGQ
MP$-.NZF>8Q/A]&'T,/Z"D2F]O+T;W\N9WY\2-W]_ =!-7[LW,^I_-CT.V0UJ
MQ5P\B;12G4^#!KHX:&_GD<NL*(E8;ZD:/?8]?\I)Y>B6YG%YQ#ZW=6\"$UYG
MK-<];/-W*I*$*)"W]&K[-@D2'[82^+K YB-Z?!(IF$CD>AXMXY1HU'&TI6 '
M2,9=,@M L O R$\F\OL]RD^>AW5-$ &X)%O)1KFEXBIQQ?#5 F&=M;(6C[J&
MUF1;M _T@>F;PZVW=9C.MI!%P0"OLQ4A?"5D&*9FZ2Z[)O7)ZD1I&\F#K9X'
M!PA*INK1<O6PD:*I_P?KG8??KM0)ND1J#M?<TY:N&JXH?KF>IPS XTTS&'9+
M&S8L!!NK4[FI(WL&ZJ/C6NP3Y8L!Q2MTZ8B2"YX^"EF<\[B)V^0/49MCB[YJ
MD+Y4^T8,5[ =^#; N\IR$3^263;4'[L]:V*HPCRWL[*!!0D5U%W#W0>P7/^&
MN:@$C,XP X6C 6)B8!,Z]=):U)E QA1K>LB73<EX1%<&^"U51,!HJ.I!L:7K
M[7Z4BF=P- H+:[:'D-"&SJQNF8F<U%FHKWG^.O,>Y,7PX(*!8LQ()):OY /;
MQ;,IHV$CJX$A3ZEJ _!K*^4JJL- T<7WY0\:O1]_'M],)S^-L1+/X[]C)FFP
M:V$^#L/;'95!W#/# 5D_-=;\ZY#Y.FI)Q0M0D 6ZTPLV\%D#QG:YBZ2)[LNU
M.L/W4 BH<8[J'L?[JQ0[FGYF5]>W/__M"H,N\\K+C2/[DLW?;W>H4?1KM>[^
MT-GD(LS2,*;^H".%<7J2?75[\#I[Z?T_D(=5<3I4,MWW2/)1P)3"N#N_X<L,
MG<L?]8#A*%VFH_=64\Y%(9P+.1- AWN['DNI(0S-=@WER=+-.OL.*"\<FX44
M-Y$92'$3F8.Z9^0@-J+3<'F.1(T26$9[((MT$+(VG&)7=7=$*!XTL5CUUSH:
MJZFZCL=#-J66YI2NQB(9(.#*#> H*!2<??0&:OEEH:Y46T45"-M5R@1?[[(
M H&!GE2"*H\>%,NI3PA([]_4IV_^'C[C,=$F^ZZCX(#.S@^40LI [$-)>OPQ
MS@ U@^$K:!L>@%/R,AIS2L-[#T5,'^$P4*TFT#V5H8-G$4C@^D8I:)M(Z4K5
M8OF:"RK[CQHL:OP4#A"_-^Q',QP0/*[+IR*V7>EH@='+'(A09IW*('R9U!=9
M>SP*B<)1BBF[5^_8:$IO=L6HPW$)TJ$.ZY>MZ/!-77%<V],\8WU,]KUA[= A
M'1*IJ]F^RHQAD3FXRHCKH"0SAD><VJ'"1&LU5-$W/56/L&QH,>-IL65'/31\
M6ZWS@8UF!/UFP]1T![3NX24O:Q4F!PFC9+#5@M"Q--]08KJ'WLBS.I4V6FRN
M/S:5:*&H0#6NR@8F^T6*H_D^Y&@N,+]3C7=Y1G=-36LVR!7!AW3/D9>G:'J6
M;);EN;SO)$?0=+V+H -?/F^WBUL@;@2NE[W9H'/Y@!K+6K?U:KZY?M<ZT^^S
MN'Y/2ECU!*8C+YFV9';=/&#;1=NPT9 8V[3[0(9*+GA.15XLXA4>ZOYQVV'H
M\H4NWIJ\7*?Z,L\2>9SI*&%W'V2OB;;_N)2.M-Q7Z=_5JJSO:6$E50Y>BP.X
M48ATK6VK.(R;^"KR,*[I%F46_H9@5X=?>5IX% P'(N=\A\\@+*(Y=+J*R=K0
M<&N%X_E<A-*:VTX;<5BTRA[8%BI3U7F]0(F!  254%/8YH+0&T2B_F\H+Q'!
MN+9]Z=/<NJ^OL^5["R'1,)6--*>?V9"0/&IDCB?9W.#.Q&.<4@6VOH]\046&
M]ME2+S@<33>5F%<?@'_[7H**#V67W72[\EC>=DVKU:K.KSQ1KD"E):X_55#O
M3+_CB$B62NL6DC?52G/.34?K0X8BR.V? 'D=PW0^U%VE[?J*YESY1FHI\D?Y
M)1A]AX"=ZL^EVM'V8[-1_8U5-[W^4NT+SZ&X@B5BCJ7ZF>><L+S^^JM^*+.5
M_.)JEI5EMI3_+@1'?4(3\)ZNE=</M$'["=[%_P!02P,$%     @ (8"25M1-
MP#B/4P  3S0! !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&ULW7U[<^-&
MDN=70?1Y-J0(2!:I9]MC1ZAE>[;W;'=']W@F]D^(!"6X28 #D%)K/_WEN[*
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
M&[HOX.1@#1RI@(G!=_"F)?M2X&IX4MH];?DH@&2!I% SB9>XAUFQ+-X5G\&
MZY@U>+HS$F=E;UD"7R$3#1[0'2^ BDE0%@M@YSP([#>PIB4=<N M< ZWH.S7
M9=?Y'P>F>8=[=D0,UVT6#$+.K*-;VEJ\P\ Y98*X?!Z@+=?,B9IV559DNQ -
M3(G4*Q.I5Y,"\:;H[NDE"_P'BBV8FO%[-'V '^'+\?N4O)T>_J \S+[H%5._
MAG43"UYF9.EU._5DP$&US6=A;&%_CR<&(Y;7$5.@[QHTK>MEGFW K@:#N&@_
ME4#_>Y30\'_+<L/_(6+J[,4PI7WMEB"V'ESA90LGN*:'X:JR_<'&>UO=5>CO
MVJ 9:H;([KX%S7_#82*@R#72$KM2%^P^. :=,]XK\Q]W)HS53+TMZD_1--%V
M*1Z*:DT<?S5BZ*DAPU/NP-1:[,D^Q0<JD+DD%9 +@@V&#![WC^1#CN[E=G>$
MG) U2S!VG^AEN'2<3W;;M"WYWT!*_[;%R\1;8.9O8E34RYZ4?X^^HFG[;\C%
M.N(#HRV >U3211.SBIZ@R0$'W)2][7%;T;/#IN[=:[MWKR<OQG5*ANYK8-GK
M?H"0[]GT< >KPVQRR&>^]91D/)<9(6V&ZCGF&U1+!B7'?TE\BS4 /"<<554_
M#N*6;>R(WJ,N4= M%NY7U5MT7#%[90<=#VXO)VET6R")/ $G:-H"9 :H1/O
M:W]\?Y-AC+%"QLZW9[VF@W] =3"EKIG'*UAH, D@4-(X=_<8TPF<GN>7VTBH
MM]Z67[83>BU5]Q4M%,=H23 &X9(^KN/LG3C5;3^#!T_?:.MBU;E#*T]/-@^^
MT$Z]DJ8 RG5 G=O4:O39@#Z 8W?16H2'FT7+WQI=B?E+KMSABE#Q70*;?B-3
M%K.)]80'\DX]N3FC8Q/O<8B9HE:Q0($(G+=MD%FC# 4NHF:<J &X/OHI2? *
M>.L.V/RD )V=! 3!R?15'M>6DU"!Z=$.[@ZSB1'])3*N/;JU7Z26T]X&-UY=
M$LLMZBES(+[4L*TP4M7=PV#JQC 79KP,58)O?KSYV;1@D('-_NZ>WHF_ZHCO
M,WMH:O(BMB@Y92C6=W-V1PT^9XE;(9_ &"6]6'1G4AUOT:M';FU8-DX#'::B
M3=/KD#NMU^SYPDE4;&D6)*%H)XJ.N0P&Q-!A1[$,MJTQ@O3 CMJ@_()\>RC7
MYIQ_*BF\8V(G[X6]O=9,=(_1+9X;V9%W% T%C6C??<OA2W)L@R1&KDF>MGH)
M]Y2][[9B?V*WY1ULMFCWS#5H"TVY9Z9+?U*8C=A((8Z->YAJ]N-GBM7]6['9
M?IO=\.-O[?&;IH6O"]/KW[^]N<G>MVBMB D".AKL$ORA<_JY A.O!!Y+>RPW
M6%RUHY2.3!2X)\>I8!)[>#<^ .3'CA'D<H$"XUT0?VLW)/;Q]RG+)$,&V!.Z
MB'5S'-4I"1'YHN^C)(N)S\^\+ZG7A#LJ5PD#?J:A&+U)K)39YZ)Y ,[(MN]Q
M=NU70W$H%# D[>_ N" -$R:@@1R>/<\$?TZ#L;;4IPH8F\D<C#V60R  J@W=
M(&([7C3Q:U':N]6I9=F51ERHG\..6<C @J,T$5 9MOH=*[NZ>18'L,7&IXN.
M3%OZLY.H!+13.4?6X"A<[.*K67YV\II=ZK/\ZO+T"SWJ[ 2$S6[Q4Y2W=))+
M$58P'0LNX ^7FZH&ZFHYUJ,SG!1D#@HWFQ9D*5F1%&'3XQS<@PA+RAU_+.@+
M[7BOGYC'X165ZQZ+*J9,L7!8DY?C#,I6[TVB4T6>/%5&""V(4=7DDT9X:-2#
M*K.#V_1?XI?!41_+]8,9:GS690'SBT9GWVHTU:+K4X\Z!^C^"H-(O;E8[9"O
MQ2]NZ<YI&$%!/?$+7K )4X0S#X0SGSSPM\&#ER27R:?3",&#ZC!SPT;_CAT!
M9#<20H%\WPSG0N6E+0O8/[KHZ@YH&+;DP$IBV3T2>K5<'A7(0($QLYXOC_2<
ME.([8#V"(1$:V:1#S44G0/\1" &2[/([8-[DJNS(SRB )OI3J &]WLCN[LMB
M*5^(S:7&2573*1/MWZ+X4?/"3Y$99=6J/I>9RYF\(:K6XQWX'32$H&,8N:(;
M RV(;(F@,28CWHKF%JBIW)7B[%^@&!F^VWE04X<1M#HG+,7Q5X)BM1.7RW$V
M1:$!WCJ;1*%^_SYR\2:)='J @]\/LWB0_I_J4>+ >K5^8M_2MMH5?(WY-,F9
M)SY#V,>B%?=(;-6*2YJN,+KIFWV')'^GRBM(CF9+*B5'&V7/41-&A''6%6M3
M+IY_"\G+KI09:FQ#>;'W?@KEKIF*E&SY7^Q'I9FI^AWL+OS@^9D<@]@,2^-A
M$0&@4UJ#X@*6* X+EC,I_PBJK';\[R"G.] A\5TT!-YB9_\-ART_EXN]VHS
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
M,AKYZDPC6$=[)KI&%Z*R:'\\?_+SD+DXG\XU?$O8.:MG8P5'DS3PS%@'_V#
M?G*\8>HO"0]VN29C?WK,51AR&-[!K*+A0.X1Y"-1,I8HEY%UG<2(B-%!D#1Q
M:.&4J%R#F2)ZD*)8!N6-IU#Z)"X?@[*"@))],+$1(-@J\O4N-3G,Z[T3"^^E
MGACHP(%2V'U(L;;!-LOZ^W5)V#$E>V#KKT),0-^&M>G(D\)&1P H<,'=E;?L
M1A\W_/QQ1%I4@-1J8B:P=Q*30^#;,UB[H5,^[$2LRE#1L@A!1 EV[LVQ%2!5
M<)?E@D1'5?MWQ3DHK&P1F1SANX[4T_.4UO@[# E@S#.%3E-<66&VSNC 76E#
MB#T4<JQ1,UQS(B:,3VKS-QDFY83BB?%N?0O?PM<,$2.GV;Z-#/&P4_13^*U4
M!;3BB/$&A:U'2L5G'@Z=[N\@;!3B0@V/O*.J.H:@F+$ASI(]>#CT=5W) T-T
M[6M=%'KK<1#40EP %E5AU!4,;.(ABI:N&)UXA,AF$9Y61T\&R8*[ =,KL7K?
M67YR 3^N*P[0?W5Z?DE62J!'A08TM=:YU!O40RU/R9*0/#B?3OI[.UUH*2E1
MGDDC;$&B/%.^*?)<,LI8J]KZ7-B M.K#0Q.%EB(/];@S-X\ V'WP7!(K+FB'
M/M"#646M[*EI>P=I#F-%C)3+<5? <(](AO4+L#&(KY,B,\0Q/"O3F41 ?/%P
MJWE.0,=01X/L61<JY=H!;E#D1SGQI7B&5.M<W,B=);F3N!'1.5G%#LVU3E/K
M0^'."%T3X/ZTGC5># JJ+TOTI)7!O>A^B;Z@B??S;B3HAX[SV<WLN_ WV">
MZMQ)G2\4;7OBM5&R@A$GR7_$EZ-KAOUH40TOWEN.]F)M9H=]LKJL[C>A^-T
M)CN /ONA1>H9*OW:"C=TD@0DHMUCF_T G.:JUENT/!-7&&P0VQHT@H*3942A
M"%FS6#64?H,>31ZCZL(#MU@5G((M<%E%&S+ 0;??> \S#1B=A2.,2#BEM,8H
MOA\?-(%P0FF;X0UAH<+C@'H80+B3+Q%,#P=YO=CY*9*IP8RP0A=].,,_]@TN
MU\''!3[CRE2@QRZQ,^+'2@&Q.%E[*)M6J2O$:?6S_.K\+,^^NLA/KLY8QH'
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
M\ Q@760S(^F@"3?*M\)*8ZOL;<NCOCJHQ@K-_N4S,Q0*1R ,*_Z_PP_QHVN
MJ$28^LS2E]EQHK7*1@XVDM"8(]')^5+*$VG@[]]?=R\M^,DBR_=J)-'"0^)
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
M N61IIFG0DQH/ -/(GLX-ITQL1)OSZT'\@O7A-F#YER)8K+%.$N_RSS-5K>
M2(.S_=A>6]Y+2AGK$)H*N6X6GY;-HY<EH3'QEA"1K,(R^Z>),*HK)$!J.91T
MB<_<9ST(.X6I2=72^*74(9L*]V(FFA:Z9N7%SX!ZE)E;UJ^93UV#3Z3.:_D9
MT'>T[L1.ZYH&5%FJVT:O1)STJGA4(!R6(U0?(R>EH\+D,NF\@UWCAOOMD@"G
MDIH2<M9PI;_OEW=BL;2N>LJ2UV;W3-/BM42 L5)*=F$O)/H.>T&#SJ?(T<:1
M[!,U_Y'7T(D*R41C=7=\:9>JZ_4Z?P$2/=G,A-+\.8UK)SF1J(9_JH$@)X5!
M*$UY-EU:\D.YX,Q3TG:747YXV]3-7@JH)Z-&SXQ]4*RQIOL+7X"9CMJBB2%N
MN$<_77]\HX]>?_PM^[4YIF^/3F:JA"S6<+U65ORLT'QI[?6J">#>&!V"-Y7\
MPN-X62JZ6=3XA:H45UVX2_>E(F*#6\>MCDL4_+79 O&?SD]S6)]A08DISK[-
M?N3G?^'GD5+^@SS??X,?L2JG:I?TF1_VM_$9J,4:U(A:+?-!BT6=R\S/I>M/
MYF.PBZK-!M@HLW9QD=B[T5FWY;*PLB56$L=OBB0TPIN6[&6.W!,4[H,!@.H9
M_AMZ>A4K6$N(DL[..1M*QELVSJ]6\>T,\:IJ28R(I%$17*8BX$;DT[.WD7)Q
M?Z$N "^AS[-<LY4^E.39AV/X@*SV ^[D)CO@X[@ZNSH46R/W.C@OT/=C4@RD
M^/>D^)>>1]##L1C>=M>_:J#85-NU%A 4,S=/.FX[7_<N]F#1R;%@:VU5I(FT
MO*HJ)'N8EU_\]GQT>%(6RJP<,>1J./4/AOJFDEX0J(./839GHLBT',8PJ![G
M3U<1BYE-G>",.,SD"6K<\N,"-)I<L]1BIL2J58>_0&*E -#95=0GQ+JV8 Q@
M55D#S_[,;7&A..O(W.=')Q<OI[YO8&3TDA:&,ON(F)9=]H,H!O;3WAK-N4I+
MY&=(F8#)VC/LYQOVT(.%]S\\8PK!A<@BM A X!C$<U13^2.*<GZ1B/*/_EV=
M@8K:#YS0W#<_OWWS[@-'56[A".[1STE$N*^Q=O/\--*?J.J5%95SS#Q@'PCA
M3O**NS7 5^X=\94<XDV_FI]<Y1= ]S8U&F^TS:$S;J*<(HMX8"'[SZK\?S6[
M.L]/YQ>J]89%NITA1 9-;@+5Z.<6"G]18S!0KCF %9<;^"@0K'>H8%.7*D&(
MPAD2V1]\?/?3AT/USO=X5T^0J1),TQ"4?-U$83DW:[JHU_L[, _S%PD&N)H_
MP-*.\']X\!OR(78:M.%V*.^$RQ]\W-_NZ#:=79X<S4\XN<RC#?#O?V<^?G1C
M'DP@LQ\I=<6V]=UCK4(^#'HU.S\Z.P$F<!VW^N,Y<9&,MSU00/228O(]<IEQ
MV8>JL'5H(JG&Y@/DVF/07NS#"R1REON%JAG!E>P&D*A!J+C8'Y&(R@V+EP2]
M6#&X!LNPU6R%(&BB)1V+ZH@N/JFVAYQ;G+4E^VG[+FIV+4ZMB7V1I'AV'G%
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
M:-J 6>>HGE US_4;$TZ@.;9UA*Z)1,,8T^P()4R 'S.U+\F9@.[0.%-I*$]
MQ!.GBZ'I6#5OOVYC0]##";92E)"?V8NRZ^=LK7;D&R%)^LAVPZQ],#1T30^,
MH]:"X2P3!5?Y@,($TU39<(36!"M$O.,D*0]58,B?L$5%$4YQW #Z$)J+V?"4
MT>H-324:!FN.V;!Y:'NJ234FH#/YNEE-]&#?T.LK#/W@8A]S%2XX:^=XLSUM
MICB"0R4#Z$=T1:,"7"R*/$^H*@W@>_( ):,\*1OZKV4&,0EK\+Z8 &FUOO/R
MHU^Y5^L-I8K/MX'.3.G+F/G..#1IUG;#J)L[E$VKL?^H",[KJJ\.(5X;@X#+
M:O6TYN<"N-S.U>K_FLF7Q@5:>\L[RA''7?@:-6[+H#_$Y9V@0&73VUZ<5;/5
MO>-D>]M6+]]>6EYA'M-,H(0L@%0_]N"HSK?W@-N!9'EY]W;/)#2C\G5) )!<
M+8#O"\;D?J $5+>QX[\!4$L#!!0    ( "& DE;L<EK9KP0  (H2   9
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
MM&EVMZW,= 5I$TQ\+H3>&/: ?E[G?P!02P,$%     @ (8"25C:DG_"] @
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
M[':-?P.0)@#/ET+HG6$*M/^7^ ]02P,$%     @ (8"25@I^NUOA @  '@@
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
M%!B MZV]%20[-NUTQZ1JSLTT5Z\AS&L#I=\S)L]"O4'_OIK^#5!+ P04
M"  A@))6G&!>Q]$%  !R$P  &0   'AL+W=O<FMS:&5E=',O<VAE970T."YX
M;6S-6&UOVS80_BN$MQ8)P-@4]9XF!I*TQ0JD:]#T!?M(V[0M5"(UDFJ2_?H=
M)5NB'45.NB_[8NNDN^.]/+P[\NQ.JA]ZS;E!]T4N]/EH;4QY.IGH^9H73(]E
MR05\64I5, .D6DUTJ3A;U$)%/J&$1)."96(T/:O?W:CIF:Q,G@E^HY"NBH*I
MATN>R[OSD3?:OOB<K=;&OIA,STJVXK?<?"UO%%"35LLB*[C0F11(\>7YZ,([
MO8PM?\WP+>-WVGE&UI.9E#\L\6%Q/B+6()[SN;$:&/S]Y%<\SZTB,./OC<Y1
MNZ05=)^WVM_7OH,O,Z;YE<R_9PNS/A\E([3@2U;EYK.\^X-O_ FMOKG,=?V+
M[AK>(!VA>:6-+#;"8$&1B>:?W6_BX @DY D!NA&@M=W-0K65;YEATS,E[Y"R
MW*#-/M2NUM)@7"9L4FZ-@J\9R)GI];N+VW?HZ N;Y5P?GTT,Z+1?)O.-_&4C
M3Y^0]RCZ*(59:_1.+/AB5\$$C&DMHEN++NF@QK=\/D:^AQ$EE [H\UL/_5J?
M/^1AGV.-6- O9C?#J2[9G)^/ .V:JY]\-'W]FQ>1-P-&!:U1P9#VZ2ULKD65
M<R27*.> *MUGX;".U[\EE/AOT$O__^),(6ZS-?0*TL"+&5?;5'B/WM"6]W?G
MZ7TFF)CSQBLTE]J</K+@HI#*9/^P>E]"!#Y_^HJ8UMSHEL4+<$I)1WHX(!'Z
M( R'9!@$<LT"><9F69Z9C#NRV ]2ATK3 'TJN8+UQ HMLWMPLS.O8TQP$/@[
M%O@1NEV#K2>P;-$K@Y,D<"A"$_1%&I;W,?L1#M.H)6F*_:@5'@!5V((J?#:H
M=%66.8?J::!HY75&FB*?B::20^C[(#>\PJ]"[L+T/?XJQ+I<-D'N@8\?8II$
M+AD"?*Z96* *))2MU1HCP3MK8LB>Y[5DE& "N&F2*0^OZ)$(TS1V:!]'A#P[
M1/M.N< ^@4Z@E,UEJYUB+PE;,L6)1PZH$%*<[*NA/J9>IX:&./:>\KEOIT%<
M \='&V;Z'$1'+:*C9R-:FC57#J[!Q -8'M;]_RR?5TRO4<FR!0+7$"MD)0!D
MF9CGE56?"01A0 5DI%+-]MYVD-X$/4;7W"X T]D2QC&-EDH64!'=DKT5.:K+
MZ+%+0R$]'E:U#YI..,5I3%UM(28^O&CZQ<LLLS@+ T<9)=BSMCG[4LX,C*1-
MR/C]?,W$JH:1@$%Q5ZT;-V"N]XDUQ2@F-&N&Q[8JP$*$[H37HV^>N^[0ECJT
M,@UPE#JM)L!^ZKL++S)=2@T+F[62U6J- )3Y [*="]S=MMH]$PZO>V1;''%B
MG4;AL5.'T!AM9L@KF ,S4?'%\8OW5$^_V-DN^W0;%+NQ'*++S/=Z'(=HL)_@
M<),"V#"0FB[\=5,_V46#1D<0D0>(G3Y&=.S4\W'R*\H?Q=M1'XR[?$;C:%!]
MHQ1R/+<5 8%.OF\Z"L<$O0*M*?P^7\<^*(.Q#_(> >->/:.4QVTICU\V\<(I
MQE2J!G]?\1[6]E\!]K@N7M<V;:?7AFH:X?5.\=G^W["'PFVEA^B^8M\]U1T$
M3E#6$@?ICT?G0_^P"7Q('H[3#JY0:D.O0S*-L ]-'S@#%$/_[X '124)G &5
M8A)1RQ@B4)%TC;[CL>\CRQ+!HQ=VLX3GL'AAS1(C&(FB:,=F6SW;\:'^^@7:
M/&=+8P/@8\_WG^9O/C=96E: )FZ/R%E1;6?ULDF"1A'8&701\0GVX\Z=-,2I
MET"BM3Y%65%6IJ[?F[,&,!/J#OD^Z9R#:N1#>/Z\^58W[&$K=N<C>P @47=0
MB0(X'O@OSGA;,P7+'W2FH1^\'#;.*6=WIG2@$3G3+72CD,3H6HK5KM1FA'3;
M5-Q5Y0!""7!Q3TA/C)4'X]17DB;./4C!U:J^[=&H+G?-E4C[MKU0NFCN43KV
MYC;J(U.K3&@P<@FB9!S#P4@U-SP-8619WZK,I#&RJ!_7G"VXL@SP?2FEV1)V
M@?::;?HO4$L#!!0    ( "& DE:W@FJLFP0  'H-   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0Y+GAM;*U7ZV_;-A#_5PBW*UI LT6]E3@&DG:/ .L2Q-F*
M?:2EL\U%$E62BN/]]3M*MJPTLIP]ODBZ(^_'>Q\UW0CYH-8 FCSE6:$N1FNM
MR[/)1"5KR)D:BQ(*7%D*F3.-I%Q-5"F!I;50GDT<VPXF.>/%:#:M>;=R-A65
MSG@!MY*H*L^9W%Y!)C87(SK:,^[X:JT-8S*;EFP%<]"_E;<2J4F+DO(<"L5%
M020L+T:7].PJ-/OK#;]SV*C.-S&6+(1X,,1U>C&RC4*00:(- L/7(WR$+#-
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
M9J[G.PH3H-]GG*N]8PYH_QC)'U!+ P04    "  A@))6V7K0J,4)  !7(
M&0   'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6S56FMSX[85_2L8I4WE&:Y%
M 'QN;,]X[=UFV]ED9[V;MA\A$9+0\!42M%;Y]3V )!*R)=E.,M/V@RF"!"[N
MX]P7Z(M5U?S<+J74Y&N1E^WE:*EU_7HR:6=+68CVO*IEB3?SJBF$QK!93-JZ
MD2*SBXI\PGP_FA1"E:.K"_OL8W-U474Z5Z7\V)"V*PK1K-_(O%I=CNAH]^"3
M6BRU>3"YNJC%0MY)_:7^V& TZ:EDJI!EJZJ2-')^.;JFK]^D9KZ=\).2J]:Y
M)T:2:57]; ;OL\N1;QB2N9QI0T'@YU[>R#PWA,#&+UN:HWY+L]"]WU%_9V6'
M+%/1RILJ_X?*]/)RE(Q()N>BR_6G:O6]W,H3&GJS*F_ME:RV<_T1F76MKHKM
M8G!0J'+S*[YN]?"<!6R[@%F^-QM9+F^%%E<73;4BC9D-:N;&BFI7@SE5&J/<
MZ09O%=;IJ_<_W/SXX2WY?/W/MW=D_%E,<]F>74PT2)L)D]F6S)L-&7:$#&7D
M0U7J94O>EIG,]@E,P%//&-LQ]H:=I'@K9^>$4X\PG[$3]'@O*+?T^#,$/23?
M9G5P>+5QC==M+6;R<@3LM[*YEZ.K;[^AD?_="=Z"GK?@%/6K.[A:UN625'-2
M-]6]LI"'QQ%5SJI"$BV^RO80UZ?I?OM-PGS^'?FC?O\E1;.U,(%]9#&5C;71
M;@)LY9L+M59[M/Y/!^_>;V0<YU7;GI&IA-QR3W BRHS(7SJEUWA.P$2IRD5K
MM"7F<Y4KH3'II<+<B%)D@HS!?Y)&9_WSR&,\[D=CFGH\C,_(EU)IB'VG]S8;
M4QI[- B=Y9$7\$%TQCP6A^3CIQLC4MYEX)Q\7^'R=W,QDGT6:B7*?@5- H]2
M/FS!0R\-^+ #3;D7^R'YFZB=94'B15'8#T/JI=0?UG@T3LD=-A>U46]/G'EI
MZ @_CKV8)8XTJ1>P@+QIQ*\J=UC"8\H<E@(O"))^R)GGAXQ\7@J5&PEWSV-(
M%D6.\D(OC%PRT&48DA_U$KBB"<1.!X$@7SP(%/B>SP=Q*0<'2>",$R^(AC$/
M898H(3==T\A2&UP1^169K07PIK*4<Z7/?BN$."##7+$\R@)'IS2"O8Y#**;0
M,76T 'OO(="+$I![ 82X#] -# 4Q(+PW#%GR #Y6VW2 ;>#YP< #ASV#0_ )
MDM0!"QU6)#%[B!KS2]F@O0C&'G8,/9_QQY!YN.C8>(.9!.@=?(\"(^G $CR9
M)H-?&<\,'03Y$#)Q^(D]%J4(<W,)R&1_+&+&8"U.'>1'B<N)%['T"%H8AR<[
MP0'@\!VLP>O3Z"50&</GTM3Q^'$$2]!X>!#Z_@.L&.[#V$$L0A1W\1YC]!@L
M3YF2<?HHT%!JO-Z5CP6#5R-\!-'OQ0R'MH>X@H!(7<-@'+GA?0S/8'Q/7[%)
M& Z+$7 4D,^5%KF3QOXX\+ 0&690PCC@J<N.Y\?)T5B#+,&"9"]P<S[ B:..
M>TFJ,LDM<0V/'.3@ KOYCR)-XG$GC@//43H(P[P$/OB20(-@Z_,G<8,(F.YY
M6 C?_IW @?0\8,X6J1^Z* BYJQHO31P?04Y/'"#''!&Z-\.)BC+L*\KPV15E
M(V=5.;-EDBDKIU*OI"P)9#A:;!+<U)T!T'1-1%WG:X,%BS\%4\YE)AN@V^C.
MD@!Y#%N K=-5L[8D&HL\7>W('BOL#!_HS3H0&-@Q+[9^\JPZ^+0V7NIHS_U]
M:3U\4Q53L)8=4Z!C *,]PF+R9^?R=CY'+VN;!(F&M#2%3*;P$"7-;/"5 %/-
MWQAX<Q?MINIA@\JIIE%95Q;7_^X:U6;*=LU.Z(@,M11_=(^JH;6L<I6)M8/V
MLW[_S;TSO^GDJZYVYMIIEF%F[KZ4!K"+4OVZS;H#*A[Z(9:$9LDPOEF*<F%
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
M8XFNIF36U-:215/?Y&WW(*\F=6G(35.7!'QMM$.\)3-3N6LS7;TQ>C(GULS
MJ7;;HG=/Z\<?4L[B-^1[_?[;Z&:-&X)=-^6U:8:=_V9K)T4.MG1^^,LS<Q[^
MJS:6E2Z*>M)MQF-MCB]/R65=Z(:\+^IK7< 9IIG=D;PUI25[T0MR5;=X?+_?
M/_[DZ@-B^X"?A&9*TB3R+DUY1"67P_U>S%,\4"^&)XJ*)$4?!D#:U@%S,"=I
MR@5-I>^>)(Q&2>3-<951*;@WEU#.)!5*D/<AD",:24:55$-#F*%Q(KPID=(L
ME=Y21'D2TRA.R.EV!NP%P\8BIBI+_;K9IG$L,6)1T%XFE 4+^7\2X-MG\3<!
M'B& H+&*:,+B $41,,Q2_V2/1Z! %%! 4JX4<)T]I$!,DS2#B61HG,6,LBP+
MS$D'Y-2;PR02!=JH30HD*0<O @)D,0#O,1IS]/%8R%A&8S#Y">!7 C3QG,^P
M%I4%XU"F6' +:J3?'_F[$,^^V=K?B'\$\8B0B+=,"*)X @Q[?.W%4E 5)4'0
M _X2*C+Y$.> 9H;N,B825&#2HVF/IPE-N/!F.%5X)(&A37RSE*991"(!PD1!
MRD'L95F8(L"H+!)/03:7W?H\4[&$* CKF =+LZ ]9U3$K',NS!?+*=:65ZUI
M7JZU$3$>2;2#0KB5D[I9U$Y5X<JVEE1UBRM4*5/3X/5"-YW;2EVAJ''FW,"1
M>F.)^:*+Y0J?G5]AIG5*N]=D_0JK&<%%5W!5$_.J6^TCCD )X^H;NVVX]92[
MV@=K,+;-2S=M;8EUMIQNS2=.4C:XF6LW^^L[TLY-KSL'4^UMO66^]M4.M2L'
MM2N?JG:#D:%XJQ#"]Y3L-+^Y@;?ALIFI9XU>S/,)Z5=KMVG;W9/XGP6V 80N
MP'5Y?:NZW4[J*_CGJ#1-/M'V];/F%O$WGZK<N?&RA3>MYYMC-O,1'XH0.4"J
M,$EFD%J93'I#;QO]1UX0G@J$#*^JA. ;R37A,8WCJ.]U#)Q.M;?*&.5A@H,
MS+P_7)@0Z=!WG@-\/H6FRK=$OA:!5HL5LCSK.YZ9K_FD)A$:I<*GZ2C.(&J#
M3ECC6A>CTT? L?$>BA#.N)^H5%1*?YLJFL4B<!:'J ZC$J>=#,Y$\$0ANR=(
MYT<VU\_>S_.+8R*9@*$D')XA0F](G QMTF18W2\:-/.K@697P?9+" L>^^XQ
MES06HN]\6DUS32#.(Q% !AL?LU!$**K4,."Y_IS;%F-&D/Z13T&0]&GLX:-B
M*CU:KG1^&TP3*DT$;(%]YN^@IT0T]/RY1A3]U?WQNPT\!]H)=9 70 (UB1S6
MM^;(4:.OR4F9-QU5I)-BOK]+I'[:6%2FAOY7<YT7H81PY/*-94:%W)B)&.;]
M6V[:2I=^R4B$22#_H=2R8*>=;AOX<0^QF4-AP!!4=4+X_7&&HX>A!](8"3(-
M&G+JB!+J0T 73Q3\=[)LD(VZ_%*[T1&Q9RX$/QO.EPN= R,Q"KV0W0@3B0R"
M3 PP>Z<=+6W;Z"(/XHI+\B'^$SF L0.T$]8RZPV\-R[7WOGF3A#' 7M=:,C\
M?<SAE'3H#K6%M;L=#[R?( *%*W!"RUM S8KW<EAVO6SGY.C&Q?8P^O5-.HO@
M:!#B7#03<MC\-69_A7J8UAX_+N)M,$8$JI]!M?F0</R'F<S#>!>)(# CPC!_
MBUC6BRP7#QI3W%?,>!P,FP:FD$:4&&+S10W/ASL'(OJ-1H ,ZBCL0LJ&4=\U
M3AX1G@W46\E!T)2%72*A[C$$HC<*'(L,IK@?D[M0GSVL?A+X0,J 0!(U8A#B
M 9%8 A9LK=DW!(Q?4*^OAV@P5);>7?UQR_K)#IF5##(KV2VS)G,S72)]0F<5
M"(LOB_P+X**M-:VE[@ 10KA3GH[037M'R0)[NCI>-+\O\X53?!1JMWHY63:=
M]D+3_T!\#D9L5\@LZEO$ 7MG70D#*]"-.I^2#B!+:TCCSLGM^M@2"6&6.TFY
MLN'T9Z#H5L%DFYS;O=CGQ![W>]1NJK7[]_?;;QS,_*F0<YG:H=N'CG6\=0=/
M*/H?9 V>)- X0=CMD*/(6GD-<(F")DC"+D@<-5#,J"0\KQ('5@]RF&;(PB>?
M@HFD@;[A@&3*R:9, #%$% 15T264M:2#8@@P[,[X&-DN-B$  E)+*H4D:V;"
M9$_7U3NE>CH]0*US'0@GN+?%W7$(RL[L"<Q1 W/4\PJ4QXJ3[I@=W)@NP8VZ
MZ>NL;3#>/?)S8?S8[_>I2H8CC&_/^:N3C[)V@<F=+\00@RH (2H'B)8X%*90
MA^X +UOW7849\CEW<( F#U5PS)QR\7"5$!5H0SZU>9&W=R_M1"/P7.L6I?\=
ML2V*^IDO+Y"S I!"2,&V#]K /00"(Q?&U?U@&@#ZF*7[V?#^?9(F!*4-N&JZ
MPY_QR?DQV<O[HXGN R9T :9,K';?Y3P!%61Y&JA0Y<1TD/S 'TCB>[H06C\)
M=82K5((SH0Q>PN9OG$<]=VM=-+OOEG76L"1!&DYY<-A)6>(2<U ,H,1($!D_
M_JC+Q9NSSES'_>"XPQ]C^+ )IR2A$^*@-(NA/E32^V2GFX6 1@Q"HM@H(# ,
M@\#;DNN_*<=OBU#CX'LNZOU9]]7:DDF]K-K5I]WAZ?!A_&CU/=@W7WU5/]/-
M+*\L*<P-NK)72HY6&;B_:>M%]W7XNF[;NNPNYT9/3>,:X/U-7;?]C1M@^'>!
MP_\"4$L#!!0    ( "& DE;2J$0SO@(  %(&   9    >&PO=V]R:W-H965T
M<R]S:&5E=#4U+GAM;)U5VT[C,!#]%2M("*22>R] &ZF%LK 24#44GMUDVD0X
M=M=V&OC[M9TV[2ZETNY+[;'/.3[C>B;]BO%WD0%(]%$0*@96)N7JRG%$DD&!
MA<U60-7.@O$"2Q7RI2-6''!J2 5Q?-?M. 7.J17US=J$1WU62I)3F' DRJ+
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
M_3#/\&*58; CPSZ&IU IGT!0"H(M\-[GX>5-N$]>%88%A6%!QE?=P7?%)7G
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
M4.DQ"48L%>:)UE6L8Z&H$))E%5AED!%:OO%+Y<,6H-79 W K@/L>X.T!M"M
M^[, KP)XQIE2BO$AQ!('/F=KQ'6T8M,#8Z9!*_F$ZF.?2:YVB<+)8#8?C_O3
MO^CA!DVFH_OA:-*_0_WA\&%^_SBZOT63A[O1<'0]0]_1%%9 "U"'';$E)>;8
M3D.0F*3B3.W/9R$Z/3E#)XA0])BP0F :"]^6*DW],3NJ4AJ4*;E[4FJY:,RH
M3 2ZIC'$NP2VTE>+=#<B!^Y!QA"B<]1N?4.NX[H-"0T_#V\UP,//PYT#:MKU
MD;4-G[>'[UK?&4XB(E^;S#T(UE6D*W(<0<]294( 7X$5?/W2ZC@_FXPY)EEX
M)+(=T[S:-,^PM_>8UO#S=IO<\X[IWC')PB.1[;AW4;MW<?"7ZV>LH!*Q!<J!
MFUY#(S#U-D9 @2]?U9V/@.H:WGCC2_J.H=>=:!6X5\ZE;Z^V[?H8=.4Y[FY0
M^#&HTW'?F$IY]E9!S%1ZIK$(%&D59=FH5^O>U3<E^]WZ0/6TL@6]T90-<8SY
MDE"!4E@H2N?\ATJ,ETVFG$B6F[+[Q*0JXF:8J+X,7 >H_05C<C/1'Z@[?? ?
M4$L#!!0    ( "& DE;VGKFF4P0  !P4   9    >&PO=V]R:W-H965T<R]S
M:&5E=#8R+GAM;+58;6_B.!#^*U9N=6JE7A,[;Z0'2"UA]Y#Z@DI[I]/J/KA@
M0K1)S-H&6NE^_-E)""2$E.K2+R1V9A[/\S@S&=S=4/:#+P@1X#6.$M[3%D(L
MKW2=3Q<DQOR2+DDBG\PIB[&00Q;H?,D(GJ5.<:0CPW#T&(>)UN^F<V/6[]*5
MB,*$C!G@JSC&[.V&1'33TZ"VG7@,@X50$WJ_N\0!F1#QO!PS.=(+E%D8DX2'
M- &,S'O:-;SRH:,<4HL_0[+A>_= 47FA](<:C&8]S5 1D8A,A8+ \K(F Q)%
M"DG&\3,'U8HUE>/^_1;]:TI>DGG!G QH]%<X$XN>UM' C,SQ*A*/=/,'R0G9
M"F]*(Y[^@DUN:VA@NN*"QKFSC" .D^R*7W,A]AS,SA$'E#N@4QW,W,$\U<'*
M':Q4F8Q*JH./!>YW&=T IJPEFKI)Q4R])?TP4?L^$4P^#:6?Z$^>[^ZN'_\&
M#U_!^'%T/QB-KV_!]6#P\'S_-+K_!L8/MZ/!:#@!OX&AVBL63D/Q)G=\39(5
M 6<^$3B,^+E\_CSQP=F7<_ %A EX6M 5Q\F,=W4APU2+Z=,\I)LL)'0D)(C
M'4W$@H-A,B.S,H N^14DT9;D#6I$],GT$ICP B #H9J !J>[PQIW_W1WHX&-
M66R9F>*9Q_!"CH. D0"GF4/GX#'?C>^WTA2,!(GY/W6Z9[A6/:ZJ,%=\B:>D
MI\D2P@E;$ZW_ZR_0,7ZOTZQ-,+\EL)*>5J&GU83>?U@2)J5, G!+9 6YR"Y@
ME$QI+$<3@:6@)!%*Z6P24 8&-):Q+%0%7&^-P??AJU S+Q&1+^\J3H%I4KL9
M[P0E%H2!76CY F?#5UGQ.3F_ /=$U&W+Y\#ZK<.6MLHNMLIN7$>B;$M/;6')
MO)W46WWQUGW7<CH.E&FWWA?IT,Y&K@L=KVSG']J9ENM8GEW8E6@X!0VGD<9>
M):UCT>C\T31M$\QO":PDFEN(YGY2V7/;U+--,+\EL)*>G4+/3N-+^$0%CD#R
M3D9E&/9>!B"S8]J5?*JQ\BQ4R3K_T,IS#:<^E;R"A7=B\8[2JAVFE:>.B7>P
MNN6:3H5(C9%G57D<&B'+=NMY0&/7B!G_J[;E[OO+0L_P*B5K4&.&+*M3Y5!C
MYB++.T)BKYN$C20&DQ&8T @S,"%!^M'\%[Q3[9H1/YJ>K:+Y;:&5U40[-=$G
ME;P<N"U1VT3SVT(KB[KKGF%C,WEBW<M!2FF$[&JYJ+&"MFF@:K(=FGF&>ZQB
M[/I6V-QU?8OHBZ0R3 @+WCZ0<(VH'WXWVD3SVT(K*[IK+Z']60G7V+A^6-0V
MT?RVT,JB[II=V-SMGIAPSD&OC:#M'GS>#LV@!6&GFG&'9@ZJ?MWTO6,3^5<M
M2(^?.)C252*RPX5BMCCBNDX/=BKS-^KH*SV.V<%DYV9WF 5APF5S,I>0QJ4K
MMX)E1U'90-!E>CCS0H6@<7J[('A&F#*0S^>4BNU +5 <"/;_ U!+ P04
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
M7@E>-@<2B$[--9!_7'#7&WKNB2_G8;;K^[;3;4S0\@QZ>3ZJ# 3R$P*8.CZ
MNI@&9Q0".[3"$Z+G4<,0]73S#%N>82_/=@,=*'[O(AB>O=JS!H%OGS ,S[:X
MXWIX?W=3'+84A[T43\[Y?R&MS5_".F<L9VN\-PN]*0A?D>14SX62#\\4.?8P
M= <GBGJ9_<^M;ELO=Z'U<^;H"PR>-]AR8!$4QQ(<5:7SWK+.+.ETKI_(SPHU
MC^Y__#K755LD276NUJU N]JV7I.JX3!?PNN^[9X*=%F2 E:8:ET%:)FH6Z%Z
MHOBFZB:67.%14 TS;!]!Z !\ON)<'2;Z!6U#&OT'4$L#!!0    ( "& DE8[
M_PSGS0(  +,'   9    >&PO=V]R:W-H965T<R]S:&5E=#8U+GAM;*U5;4_;
M,!#^*U:&)I 8>0\=:R.U#8Q*%*H6-NVCFUP;BR3.;+=E_WZVDX:^BP]\27SV
M/4_N'E_NVBO*7GD*(-!;GA6\8Z1"E#>FR>,4<LRO: F%/)E1EF,A338W><D
M)QJ49Z9C68&98U(885OOC5C8I@N1D0)&#/%%GF/VKP<9774,VUAOC,D\%6K#
M#-LEGL,$Q$LY8M(R&Y:$Y%!P0@O$8-8QNO9-Y"M_[?"+P(IOK)'*9$KIJS(&
M2<>P5$"002P4 Y:O)?0ARQ21#.-OS6DTGU3 S?6:_4[G+G.98@Y]FOTFB4@[
M1LM "<SP(A-CNKJ'.A\=8$PSKI]H5?M:!HH77-"\!LL(<E)4;_Q6Z[ !L(,C
M *<&.+L [PC K0'N1P%>#?"T,E4J6H<("QRV&5TAIKPEFUIH,35:ID\*=>T3
MP>0ID3@13EZ&P^[X#WJZ0Z/QX+$_&'4?4+???WIY?!X\_D2CIX=!?W [0=_0
M)"5E28HYPD6"4OG(E!%3+O@E&@,'S.)4'R:PE/54RNH0Z#P"@4G&+R3#RR1"
MYV<7Z R1 CVG=,&E-V^;0B:BPC'C.NA>%;1S)&C;04-:B)2CVR*!9)O E HT
M,CAK&7K.2<8(XBODVI?(L1SG0$#]C\/M _#HXW#K1#9N<ZFNYO..\!V]#'B3
M[8+#0<DKRD!3JF:Q#(/O+27&<E.'?2^_Y5G7VU[1OI?GV\&[UU967I.5=S*K
MK?J[K^OO4"8G:50?O>$ECJ%CR$;)@2W!"+]^L0/KQZ&+_TRRZ)/(MN3S&_G\
MT_+)WKI6+R%<,#)=Z-9[JBC\ Q?IM@)_IRKVW5P[</W63EGLN]FNYWBMG;HP
M-]I9#FRNQP*7G691B.J7;G:;R=/5#7=GOR<G4C5 WFFJ<3;$;$X*CC*824KK
MZEJ&QJH141F"EKII3JF0+5@O4SE5@2D'>3ZC5*P-]8%F3H?_ 5!+ P04
M"  A@))6G=F9@4D$  "5%   &0   'AL+W=O<FMS:&5E=',O<VAE970V-BYX
M;6RM6&UOXC@0_BM6;G5JI;9Y#] #I);L"]*V1;"]TWUTDP%RF]A9V\#VWY\=
M0B"01B#Y2\G+S&,_3V;&T^EO*/O)EP "_<Y2P@?&4HC\WC1YM(0,\SN: Y%O
MYI1E6,A;MC!YS@#'A5.6FHYE!6:&$V(,^\6S"1OVZ4JD"8$)0WR599B]/T)*
M-P/#-G8/ILEB*=0#<]C/\0)F(%[S"9-W9H42)QD0GE""&,P'QH-]']J!<B@L
M_DY@PP^ND:+R1NE/=3..!X:E=@0I1$)!8/FSAA&DJ4*2^_A5@AK5FLKQ\'J'
M_J4@+\F\80XCFOZ3Q&(Y,+H&BF&.5ZF8TLTW* GY"B^B*2_^HDUI:QDH6G%!
ML])9[B!+R/87_RZ%.'"01)L=G-+!.7;P/G!P2P?W7 >O=/ *9;94"AU"+/"P
MS^@&,64MT=1%(6;A+>DG1'WWF6#R;2+]Q'#V^O3T,/T7O7Q!D^GX>32>/'Q'
M#Z/1R^OSC_'S5S1Y^3X>C3_/T"UZ$4M@2$8<PR(A"Y20B&9P@XB,SJL0!$Y2
M?BWM7F<ANOITC3Y)"_1C25<<DYCW32&WJQ8UHW)KC]NM.1]LS7;0$R5BR=%G
M$D-<!S ESXJLLR/[Z+0BAA#=(=>^08[E. T;&IWO;C>XA^>[6RULW.K3N06>
M^P'>%-9 5B"S+Z(+DJ@TNF]2>8OB-:.HNG+/<QS!P)"%@P-;@S'\\P\[L/YJ
M4D@G6*@)K*:>5ZGGM:$/GU74+F1AO$8IY1S)&A0G/*<<IXC.4<Y4H(OW&Y2G
MF @D0QC!KU62RYHGFE3>KA84JZEBNQYZCM_KF^M#]4Z-;KMNW28\M7'\O4V-
MJU]Q]5NY?I4TCPERFF*&<KJ1.<W?N8"L,45;@2\-GBV8?TC?MJR>?:2 IC5K
M4@655$&K5%=CPE<,DPA0E.(D4X%QC3: 5?&[99!B ;&*CO_DP85BG,G#L5&X
MUF4N%2XX$<[VK.Z1;*=&4EW';PZ=3J5'IU6/EJ+?Q+ISNH? [5K.41XTF'D=
M*SAFU&#F^+[S039T*TK=,RA%*\9D*J,TP6])*JMG\V=LA;KT,^H$"S6!U23L
M51+VM!P]/9WJZ00+-8'5U+.M?=-EM1=DN@9&U%&"%K+8"'ZSB\?&-LDZR8-.
M-SA*J?85+Y5'%UI=GX.FU#XC10DE9V9I.]RE@:85+=2%5I?2V4OI:$G5$D:7
MA#K10EUH=0GW?;;=VH@V9:L,S=:,=4\/[,#O>2=)J[6=UH56EVG?4-OM'?6)
M3(W*M&)<'&8ZT4)=:'7]]DVZ[>O)5*T]N5:T4!=:7<)]\VZW=^\7=JLE6NW_
M,;_G>^YQFC;8N5WOI%]MLG,\QSONP<V#>4T&;%',O3B*Z(J([32C>EK-UAZ*
MB=+1\T<U<ROF0'N8[<#N";-%0CA*82XAK;N._#!L.P/;W@B:%U.A-RH$S8K+
M)> 8F#*0[^>4BMV-6J":1 [_!U!+ P04    "  A@))66H>Y(U<)  !\7P
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
MORG29;73^$-:%&E<O5P(/A.9.D%^_IBFQ<L;5<!FP_V+_P%02P,$%     @
M(8"25C4,,5   P  /@T  !D   !X;"]W;W)K<VAE971S+W-H965T-C@N>&UL
MK9=K;YLP%(;_BL6JJ96V<@LDZ0A22M8N4B]1TFS:1Q><8!4PLYVDD_;C9P.E
MH26HD?PEV'#>E_.88W+P=H0^L1@A#I[3)&,C+>8\O]!U%L8HA>R<Y"@35U:$
MII"+*5WK+*<(1H4H373+,%P]A3C3?*\X-Z.^1S8\P1F:4< V:0KIWTN4D-U(
M,[67$W.\CKD\H?M>#M=H@?@RGU$QTVN7"*<H8YAD@*+52!N;%X%I24$1\1.C
M'=L; XGR2,B3G$RCD6;(C%""0BXMH#AL48"21#J)//Y4IEI]3RG<'[^X7Q7P
M N81,A20Y!>.>#S2!AJ(T IN$CXGNQ^H G*D7T@25OR"715K:"#<,$[22BPR
M2'%6'N%SM1![ K-W0&!5 NNC KL2V 5HF5F!-8$<^AXE.T!EM'"3@V)M"K6@
MP9E\C M.Q54L=-Q?+&]OQ_/?X/X*S.;3NV Z&]^ <1#<+^\>IG?78'9_,PVF
MWQ?@*PA(%J*,4UBL/UF!D*((<T Q>P*G$\0A3MB9"%PN)N#TY R< )R!AYAL
M&,PBYNE<Y"OOJH=5;I=E;M:!W"8H/ >V^058AF6UR(./R\VF7!>K5"^552^5
M5?C9!_RZ^-O@2K=>NYO<GA<LAR$::6+_,42W2/,_?S)=XUL;JB*S!KA=@]M=
M[OXXVD*!S@ G8KOG>8(1;7V<I8U;V,CWQ]:W'+LWZ'GZ=I^E)<QR!OUA'=;(
MLE=GV>O,<E%E!OZ!>CANR[+3YMCGHLBL0>S4Q([2@G14@BLR:X"[-;BKIB#=
M=Y5F.[8S?%./992S']4WS7Y[.?;K'/M'E^-E6XZ=-L<^%45F#>)!33Q06HX#
ME>"*S!K@PQI\J*8<.VV.)1Z^JUI'O$8/5*UIO/8#QM%U&[3^=W?Z'$NCRJU)
MO=<%F4IKM[)3!:_(K0G_VM>8G=W#Q^NWV^=H:NO]V]DU+/=-!>M[S:W\LKB%
M=(TS!A*T$CKCO"^V "V;]7+"25[TNX^$B^ZY&,;B P=1&2"NKPCA+Q/90M>?
M3/Y_4$L#!!0    ( "& DE9TC@QH,0,  .D-   9    >&PO=V]R:W-H965T
M<R]S:&5E=#8Y+GAM;+6776_:,!2&_XJ555,KK<T'$*"#2)2L&Q,4!&73-.W"
M) >(FMB9[4 K[<?/#FE&U!1!E=V G?A]<\YC'\?I;"E[X&L @1ZCD/"NMA8B
MOM9U[JTAPOR*QD#DG25E$1:RRU8ZCQE@/Q5%H6X9AJU'."":TTFO39C3H8D(
M P(3AG@219@]W4!(MUW-U)XO3(/56J@+NM.)\0IF(.;QA,F>GKOX002$!Y0@
M!LNNUC.OW;8:GP[X%L"6[[61RF1!Z8/J#/RN9JB ( 1/* <L_S;0AS!41C*,
MWYFGEC]2"??;S^ZW:>XREP7FT*?A]\ 7ZZ[6TI /2YR$8DJW7R#+IZ'\/!KR
M]!=ML[&&AKR$"QIE8AE!%)#=/W[,..P)S/HK BL36,<*:IF@=JR@G@GJ*9E=
M*BD'%POL=!C=(J9&2S?52&&F:IE^0-2TSP23=P.I$\YL/AKUIC_0^!9-IH.[
M_F#2&Z)>OS^>W]T/[CZCR7@XZ \^S= EFH('1(1/*. \ 5].F4<3(@*R0C&C
M1+8]D M"<'3N@L!!R"^D:CYST?G9!3I# 4'W:YIP3'S>T84,7H6@>UF@-[M
MK5<"_9J0*U0S/B#+L&HE\OYAN0N>E)NIW"J1N\?+S:)<E\1S[%:.W4K]:J_X
M'<VR#-3.NEYNK?:):QYC#[J:W @XL UHSOMWIFU\+,-6I9E;D5D!:2U'6COD
M+J=H(<IH'52=2FMG9J=F:D?=.);5:%IJ26WV092,,TV[8=3S<84<ZWF.]8,Y
M]OXMDYF0=829S]$\]K$ M3*-2Z..?HX@6@#[A?X@N3."AWDIEH,/.A5+E69N
M168%P(T<<./_U66C2J15FKD5F160VCE2^TUU:;\H$;/5J%EVL9+Z!\U/Y5"1
M68%#,^?0K+)VAY3X\EPT( +8 I,'-%XN@<DE.56"\^'@9CR]R 5E@ ^&<^IR
MK-+,K<BL, VM?!I:_Z_"6U4BK=+,K<BL@+2=(VV_J<(/JDZEU7[Y1C5:MCJ,
M%5Z\%3USQT'?.U>KCZ 19JN <!3"4MH;5TVYK[+=A\6N(VB<'K475,B#>]I<
MRV\Q8&J O+^D5#QWU.D]_[IS_@)02P,$%     @ (8"25E,HG&/,!@  .2P
M !D   !X;"]W;W)K<VAE971S+W-H965T-S N>&ULO9I=;]LV%(;_"N$50PLT
MM4C*^L@2 XF58 72)DC:]6+8A6+3ME!9]"3&:?_]*%D1+?&8D#TVO6@L^_ 5
MWR/RZ!'%LV>>?R^6C GT8Y5FQ?E@*<3Z=#@LIDNVBHL/?,TR^<N<YZM8R,-\
M,2S6.8MG5:-5.B2.XPU7<9(-QF?5=W?Y^(P_B33)V%V.BJ?5*LY_7K*4/Y\/
M\.#EB_MDL13E%\/QV3I>L <FOJ[O<GDT;%1FR8IE1<(SE+/Y^> "GT:N4S:H
M(OY*V'.Q\QF55AXY_UX>?)R=#YRR1RQE4U%*Q/+/ADU8FI9*LA__UJ*#YIQE
MP]W/+^K7E7EIYC$NV(2GWY*96)X/@@&:L7G\E(I[_OPGJPV-2KTI3XOJ?_2\
MC?7H $V?"L%7=6/9@U62;?_&/^I$[#3 WIX&I&Y N@W</0UHW8#V;>#6#=PJ
M,ULK51ZB6,3CLYP_H[R,EFKEARJ956MI/\G*Z_X@<OEK(MN)\<7-S>VWB\^3
M*W1]>X\F]U?1QR_HYO;AX>H!O8V8B).T>(=.T->'"+U]\PZ]04F&OBSY4Q%G
ML^)L*&0?2J7AM#[?Y?9\9,_Y,$&?>":6!;K*9FS6%AC*SC<.R(N#2V)4C-CT
M Z+X/2(.(4"')OV;8Z!YU+^Y8W!#F^M!*SVZ[WI,I_PI$\5[])D+)O_<\#@K
MD$PVNDZR.)LFV0+=LRE+-O%CRM#?-U( ?11L5?P#78WMV5SX;&51.2W6\92=
M#V35*%B^88/Q[[]AS_D#RJ1-L<B26"O+;I-EUZ0^5@F4>68"2MQ6P*L$RN*Y
M&8>^$X[D-=[LID0/\T:8^J0=%AF[<Z3946-V9#1[D<KB+D<.*Y"\3\A*NQUA
MLFJ_) 'R;]0\=.#8%(LLB;5RZ36Y]%YU>GHVLVQ3++(DULJRWV39[ST]%SDO
MP/O,5F*T,_.P+,%!T)VA>IP7!FX8=&:HL4='^@T:OT&_&5I-T&G.9HE J?3-
M0.>!YNC$#4/:-0Z%^9AX'>.!5L%.7(>$M EK60H;2^'_K;"AUC^PPNIA8(4U
M=N?(ZX<=15&.L2Y\XALF:5@@/D=Q4V]!/')L3GFK:I$MM782=U 4&\?,)5LD
M65964)E%L63H)XMS,(=8&Q/ R)Y 8:V17;O6PT@X<D?P!,!$V2%&.W<YWR35
M\Y$VJ]^C#)X3M62KR]0-N\;TJ!,?^[AK# @+_6"?,86HV,AFXV]Y(M@)G\_A
M 4[ULV)'LP!%A7[7 1#ET7"/ 45_V(Q_\HE1/@]FB/V8+N-LP1";S^5S*.C&
M!?KI4FVH@6':!=&CY.0A>^PHOL-FP)O(057.FL<X+<L.:&.DCRO@E@&% ;<,
M*&S_+0,KN,)&JM!(=;;9'@B.BJ?U.DU8#@\YJQAE52VRI=9.J2(I[+\JL&)+
MG%2GVJ9:9$NMG6H%<=A,<;VH%>M41LN5!]R=B7H<\</ <;I3T=BG8STKRL-F
MS#N07+$.<R>2Y49=\U!8Z 5=YC-W[DCS1$$?,?)0'\:M%5J7&P>!=O\ XHCG
M8-Q]2C'WZ%C'BM (MH2YQ(AZA]8)JVJ1+;5V$A47$C,7]L9<HO,;, LFYM,=
MG!Q+:NWD*+8D9K;LP3)$AT*@AD!10 DQ=^=8NXI$B9E$.\3#Y7#(=Q;FX*EE
M:3&QSI--M<B66CN=BH3)Z%5IAUA=!;6J%ME2:Z=:L3HQLWHOVJDU6I.0A#C4
M)JL>1P*'=M>"(G.?CO6L8)J8UR4/I!VB+SV>A/)?USP41K5G87/?CO6NZ);T
MI]M]L*,S*\;R:FNP [&M$XZZ"S/F'AWK6+$M"6W!CB4.K=-C4RVRI=9^FZD8
MF9H9N3?L4)V ]4DP,9_MX%>0OX*FJ:)I:E[O[,$Z5%^;!"H(%*47$'-OCG6K
ML)>:L?=B9S7GX64UI[HUWU;4<V]\'6D6/_A%ME5DMJ763NS.CH%7WC)@=\^
MW4T#OP+7J<)UVA/7^P$ A5:%Y;.*VYV_0!P)'3_LSF H+ACM6T&FBINIF9O[
MW^JH52*VJA;94FLG41$Q-1-Q_UL=0+OZU9Y 8:V+7;O6PRCV\;XQH6"7FF'W
MF-=7%'@I[Q)MN / Z[INUQ<0A3W7W^-+@2PU@ZSY[14%WIKC@&A/+%"<!K!@
MD!LZ>RPH,J7F5=<#WE]18"DUH-H5T:-PT'WK P1Y=,\['U<!HFL&Q!X05"OL
M;E& JB@0!A51* RHH<.=/94KEB^JO:D%JFZUV\V)S;?-_M>+:M=GY_M+?!IM
M=[$JF>VFVD]Q+BM&@5(VEY+.!U^F-M_N4]T>"+ZN=FX^<B'XJOJX9/&,Y66
M_'W.Y0V_/BA/T.P6'O\'4$L#!!0    ( "& DE;)!(30> ,  %P,   9
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
MXV<):E1S:L?#ZS?T/W/RBLP3$?2.1=_#E=Q.C;$!5G1-LD@NV.XO6A(::;R
M12+_!;O"%EL&"#(A65PZJPCB,"G^R4N9B ,'1;3; 94.J.G@''&P2P?[O0Y.
MZ>#DF2FHY'GPB22S"6<[P+6U0M,7>3)S;T4_3/2Z+R573T/E)V?+KW_?+,#\
MZ_?[!5C^NWR\?UA>@"_WC^"C3R4)(_$)7()O2Q]\_/ )? !A AZW+!,D68F)
M*54 &L8,RLENB\G0D<D@ @\LD5L![I,57=4!3!5Y%3YZ"_\6]2+Z-+@"-KP
MR$*H(Z"[][O##G?__>Y6#QN[6@P[Q[./X,VYJF<N7R] &I%$ I5E0']F8:H*
M37:ENX!SNN'TD7$M4A+0J:'.!$'Y,S5FO_\&L?5'5ZJ&!/,' JNET:G2Z/2A
MSY8L(ARD;$?5 ?<J)(W%!=AP)CJW;(&%<RQ]2C[/[#'T+'=B/A]FIVT&D5IV
MNV[F]T9V)N]1Q7O4R_LF"+(XBXBD*W7TJ0F"D.C#M8MU@30ZH',)7<N##=9=
M9K:+K0;KWKC.9(TKUOCTU4YH9[W@%AT;.V.(&ZS;9M :(]Q<Z]ZXSF3M5JS=
M7M;^P?H"^J)D@*!=C-T6%81&]JBYSAUF&'NC1F)\MUT$GMH-^^U0XS*NN(Q[
MN2QH$!$APG48%'S8&HCVJ@+)0,K9?THQ &5.96<YCSN8V"YL[-B[MEES3[<M
M('1'^ A7K^+J]7+]G$BJ=H,$ 4E#2:+P?U6LEUUTCVYBKQW8&./F'FY;-0GV
M6=2X06LO)JQ3:[%3)?2BG/K>&A3-'PJMGL$#.0:'E0 EWE"Y'!+-'PJMGDNT
MSR4:4 >48+6Z<I';$@)==M"U;:]17OW!G4M^+R5AK\1Z]PNBA#FDXUBNTR3=
MMH(00=3D;+=>$-CV\)%C9:_GX,F"#F3J"X*#@"5"\BPX)G/Z@4^NCB'1_*'0
MZDG=BT4X&OBD&4CEE;D<$LT?"JV>R[T$A6=HT.,G#6Y5";(\9#4U2H>=@\=.
ML^8&E:'F02LAIGR3MV2$JK,LD<5G>76W:OO<Y,V.QOU;W0[*6Q1[F**7]$#X
M)DP$B.A:05I7KEH[7K1GBH%D:=ZP>&)2LCB_W%*BRET;J.=KQN3;0$]0-<EF
MOP!02P,$%     @ (8"25H UCF_9!   W1L  !D   !X;"]W;W)K<VAE971S
M+W-H965T-S4N>&ULM5EK;]LV%/TKA%8,+9!$(O6PG=D&'"OM JQ!4+O;9T:F
M;:&2Z(ETG.[7CWI$LD2&B0WV2ZS'O4?W'%)7A^'X0/,?;$L(!\]IDK&)M>5\
M=VW;+-J2%+,KNB.9N+.F>8JY.,TW-MOE!*_*I#2QD>,$=HKCS)J.RVL/^71,
M]SR),_*0 [9/4YS_O"$)/4PL:+U<^!9OMKRX8$_'.[PA"\*_[QYR<68W**LX
M)1F+:09RLIY8,W@=(J](*"/^CLF!'1V#@LHCI3^*D[O5Q'**BDA"(EY 8/'S
M1.8D20HD4<>_-:C5/+-(/#Y^0?]<DA=D'C$C<YK\$Z_X=F(-+; B:[Q/^#=Z
M^)/4A/P"+Z()*_^"0Q7KB^!HSSA-ZV1101IGU2]^KH4X2H#!*PFH3D#]!.^5
M!+=.<-^;X-4)I=1V1:74(<0<3\<Y/8"\B!9HQ4$I9IDMZ,=9,>X+GHN[L<CC
MT[O[Y>S^R]W-7[=@MEC<+A<7X/YV"3Z&A.,X89_ )?B^",''#Y_ !Q!G8+FE
M>X:S%1O;7#R^ +&C^E$WU:/0*X^""'RE&=\R<)NMR*H+8(NZF^+12_$W2(L8
MDN@*N/ "( <A14'S]Z=#17KX_G1'P\9MAL(M\=R3AD*E<X7CJ7&*3G'-=C@B
M$TNT D;R)V)-?_\-!LX?*HU,@H6&P#KZ>8U^G@Y]^B6GC($YSO.?<;8!LY3N
M,ZZ2KX()2IBB+SY-W9$S$C/@Z5@7.<IS C?H1H7:DLXD[#>$?2WA613MTWV"
M.5D5;',>_X>+9JKB7"'Y1VPN$?2#/FEE6.!Y/=;:NLYD'32L RWK)>4X$:V(
MXVP3/R8$8,8(9Q<@(\K1#B1*<."[3H^X(FHX&J$>;VUE9_(>-+P'^M$^&F%
MGL6'GQ$5WX'$Q/6'O6D[EX.\P.E-AG @O0$^1*TD'1;#AL50V^1N1>%1,6&Q
M@@Z@:WE@51R')AN@2;#0$%A'VU&C[4@[0\1WR%6I-9)G!'1Z4WNNA3Y5!4-@
M'16@TUH:YRT=/*4]<20A4( &/2'TX*<J80JM*\61NX-O2>$KI8"R%%#J$GKP
MDZ4PA-:5 K52H+>D")12(%D*Q^U_&/7@)TMA"*TK16LTH=:'%5(,E%*X\E=P
M-)!>$*..T11:5XK6,T*]:5QNB5@NKSG)E8)XDB!^X$B"&#*!M2"_PE+"UE-"
MO:E<DFB;Q9&P6#\R>KC<TH-2&$,.L!;0)%IH"JTK8&M/86!H&0<-V<E:1)-H
MH2FTKHBMUX5ZL_ONM1R4G2ST/+?_ABJB_'YC"_4UG<NY=<90:PY/6L[54)V%
M&O2D58TRS _ZRQI]8><2;VTKU/O64U=T4#:T4!IQ18S?I_TK;"IJ;2K2V]0Y
M37=[\>$!C*[Y >?*U9P>X]0>810M-(76U:_UM@@::K3(I(^=&T4+3:%U16Q=
M,=*[XG<W6B3;9'<0>,/>>Z<*&SG^J/?JZ:LZEW5K@)'> )_2:I%LBB^1 Z45
M@CK.&?:;K;ZT<ZFWAA>]87A/;+9(_C\H'/BP[X%584-I[1#JBSN5O'VT[Y&2
M?%/N'S$0%7.XVD5HKC9[5+-R9Z9W_09>A]5.4PM3;7Q]Q?DFSAA(R%I .E<#
M,;YYM9=4G7"Z*W=7'BGG-"T/MP2O2%X$B/MK2OG+2?& 9D=O^C]02P,$%
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
MDJ7Y94RPRE$;J.=+QN1AH(^*RW\-3/\#4$L#!!0    ( "& DE;XH7QS$00
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
M?;V=&%DWG6XA#?7-9EC050B5-:#]E:3$=A/KH+]<9?\#4$L#!!0    ( "&
MDE8FL980IP,  !<.   9    >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;*U7
M_X_:-AS]5ZRLFEIIO=A.XB0WB,1Q5$-B[>F@MY\-&)(UB9EMCO:_G_/E B0F
MHQ._0)Q\WO-[B>UG#PY<?),Q8PI\S])<#JU8J=V];<M5S#(J[_B.Y?K)AHN,
M*MT46UON!*/K$I2E-H:0V!E-<BL:E/>>1#3@>Y4F.7L20.ZSC(H?#RSEAZ&%
MK+<;S\DV5L4-.QKLZ);-F?JZ>Q*Z93<LZR1CN4QX#@3;#*T1NA\C4@#*BI>$
M'>3)-2BL+#G_5C2FZZ$%"T4L92M54%#]]\K&+$T+)JWCGYK4:OHL@*?7;^R?
M2O/:S))*-N;I7\E:Q4,KL,":;>@^5<_\\ >K#7D%WXJGLOP%AZJ68 NL]E+Q
MK 9K!5F25__T>_TB3@#(O0# -0!?"W!J@%,:K925MAZIHM% \ ,01;5F*R[*
M=U.BM9LD+S[C7 G]--$X%;V,GJ>CA]D$3#\O)L^3^0),/B^FB^ED#MX_,D63
M5'X '\'7^2-X_^X#> >2'"QBOI<T7\N!K;2$@LA>U=T]5-WA"]T]LM4=<-!O
M $.,#?#Q]7!T#K>U\<8];MSCDL_Y:?<F:Q67:^8JYMN]W-$5&UIZ0DDF7ID5
M_?H+(O!WD]$;D9W9=AK;3A][M/BR&,W :#Z?+(Q&*S0IT<4Z\!J%T/$1#@;V
MZZF';IWO!('CXJ;N3)[;R'-[Y<UC+M1'Q40&EEQH<))OC6.MHO%.^D>NZP2(
MM'0:ZKP0!SXTZ_0:G5ZOSAG/M]?(]#K=8^SY&..6S-[>_N>0((T7<L60F.G9
M,)U=G "D8X3X#G0=MV6D6^=A@D+HFM^WWVCT>S6^4)'09<K --=OG4D%)KE*
MU ^3U%ZFGYVK-R([,QTTIH,;+E'!+6W?B.S,=MC8#GN_]9C*V&0P-$UEZ+0&
M8+?*#?3&QCS\$#QF)>P5]23XWWK[ :B43)G3#W9Z=C!T"6P)--3A('20=T'B
M29RC7HE?5,Q$GT#4%0@1:;] 0YGGP!!=D'?,6]2;:_^9/#7\3!XA>O5HZS/4
MA9! <D'@,1E1?S1>G3TUS]E(#)$?MA=U4QUR L^_H/08DJ@_):]-']1-/S<D
MOM?6:0A)2(+@TJ0YAB3J3\EJ1*9ZY4[21"7,+-*0D41_^;;(;IE# O_"?@,=
MPP_=(/UJ#G*FT0^<SMPQU'D^@6%+I7VR:R^.3']2L4UR"5*VT4!XYVN;HCJ%
M5 W%=^5&?LF5/A:4E[$^N3%1%.CG&\[56Z,X&S1GP>A?4$L#!!0    ( "&
MDE9=XO,HSP8    X   9    >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM;+5;
M[V_:2!#]5U9<=6JE'GC7BVUZ"5+*)BH5;:.2]J3[MH%-L&ILSC]">[H__M;&
M8;&]V1@S^9)@F'G,>S##8[#/ME'\(UD)D:*?ZR!,SGNK--V\&PR2Q4JL>=*/
M-B*4C]Q%\9JG\C"^'R2;6/!ED;0.!L2RG,&:^V%O?%;<=QV/SZ(L#?Q07,<H
MR=9K'O]Z+X)H>][#O<<[OOKWJS2_8S ^V_![,1?IM\UU+(\&>Y2EOQ9AXD<A
MBL7=>>\"OV/4RQ.*B.^^V"8'MU%.Y3:*?N0'T^5YS\HK$H%8I#D$E_\>Q$0$
M08XDZ_BG!.WMGS-//+S]B'Y5D)=D;GDB)E'PE[],5^<]KX>6XHYG0?HUVGX0
M):%ACK>(@J3XB[:[6$<^XR)+TFA=)LOCM1_N_O.?I1 '"9@^D4#*!-(VP2X3
M[+8)M$R@A3([*H4.C*=\?!9'6Q3GT1(MOU&(661+^GZ8O^[S-):/^C(O'4\_
M?[^<WWRZ_'PS1]//Z.+J:CJ;7MQ<SM%K)E+N!\D;] ?Z-F?H]:LWZ!7R0W2S
MBK*$A\OD;)#*"G*<P:)\MO>[9R-//!L3BSZR\5M$+$(TZ9/VZ5B3SLSI<[&1
MZ98N?2!EVVM']MJ1 L]^ N]+NA*Q5.1!)*ELA50KR Z"ZB'RKGZ7;/A"G/=D
MVR8B?A"]\>^_8<?Z4R</)!@# JM(9^^ELTWHXPF/XU]^>(^^\R 3.MUV^4Z1
MGP^OAS'&0]>C9X.'0T6:82//PZ-J%#,6TY$JW5.E1JKS[%_9,.C*#WFX\'F
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
M2DKS G!!)SLT)VFXC;P;%.(PC=W$PXYX^'YB+O@>Z.$.#XZ'X79C.*(B'+Y
MG7;4Z3L:H\?NXDU=>PUO\[JB!KWV:7C]WI%@C^,?1"XI5P9D873!\= D+)LC
MKIEH4=:GQ$QH<^;4PY7Y*@!I \S]A1#Z:6(/GNX[(_L+4$L#!!0    ( "&
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
M;ILP%'X5BU53*VV!0("J(TAMTZJ35BEJVNW:(8=@U=C,-DG[]CLV*4H7TMZ
MC^WO#^R3;:5ZUA6 (2\U%WKJ5<8T%[ZOBPIJJD>R 8$KI50U-5BJM:\;!73E
M0#7WPR!(_)HRX>69FYNK/).MX4S 7!'=UC55KU? Y7;JC;VWB0>VKHR=\/.L
MH6M8@'EJY@HKOV=9L1J$9E(0!>74NQQ?7*5VO]OPF\%6[XV)3;*4\MD6/U=3
M+["&@$-A+ /%UP:N@7-+A#;^[CB]7M("]\=O[+<N.V994@W7DO]A*U--O7./
MK*"D+3</<GL'NSRQY2LDU^Y)MMW>!!6+5AM9[\!8UTQT;_JR^PY[@# \ @AW
M@-#Y[H2<RQDU-,^4W!)E=R.;';BH#HWFF+ _96$4KC+$F?S7S>7BAGPGMTQ0
M40#A@!$U3MQ3TRIF&!:G,S"4<7U&3@@3Y+&2K:9BI3/?H /+XQ<[M:M.+3RB
M-H-B1*+Q-Q(&84B>%C-R>G+VGL;' 'V*L$\1.M[H".^>65F2\EV6(9<=VV28
MS=Z#"]W0 J8>'G0-:@->_O7+. E^?. UZKU&'['G&#T:\M2A$H>R5VF3C^-X
MG&;^9D!LTHM-/A.;#(EUJ'A?;'(^28;%XEXL_DPL'A*+#\2.""6]4/*94#(D
ME!RF&A9*>Z'T0Z%':2@G98NG"^SM8W5;=\>*-/05>Y,9/%[IP:^,@B@-_O/B
M[]U:VP#OJ5HSH9&_1%PP2C&(ZII*5QC9N(N\E ;;@AM6V(=!V0VX7DIIW@K;
M&_K.GO\#4$L#!!0    ( "& DE8O O\EI (  "\&   9    >&PO=V]R:W-H
M965T<R]S:&5E=#DQ+GAM;)6574_;,!2&_XJ5H0DD(&E"P^C22$#+-JEL%05V
M,>W"34X:"\<.]DD+_WYVDD9E"Y5VT_CKO.]S_'$:;:1ZTCD DI>""SUV<L1R
MY+HZR:&@^E26(,Q,)E5!T735RM6E IK6005W?<\+W8(RX<11/397<20KY$S
M7!%=%055KU? Y6;L#)SMP!U;Y6@'W#@JZ0H6@ _E7)F>VZFDK "AF11$039V
M+@>CJ]"NKQ<\,MCHG3:QF2RE?+*=;^G8\2P0<$C0*E#S6<,U<&Z%#,9SJ^ET
MEC9PM[U5OZES-[DLJ89KR7^R%/.Q\\DA*62TXG@G-U^AS6=H]1+)=?U+-NU:
MSR%)I5$6;; A*)AHOO2EW8>=@."] +\-\&ONQJBFG%"D<:3DABB[VJC91IUJ
M'6W@F+"'LD!E9IF)PW@VO5Q,R0FY88**! @'DZ(V U^4U)JD+,M @9TYG !2
MQO41.2!,D/M<5IJ*5$<N&@ZKYB:MYU7CZ;_C.8'DE 2#8^)[OD\>%A-R>'#T
M5L8U:72Y^%TN?JT;O*-[2[%2#)GAEQG)WF341]FHG?6KV=<PTB5-8.R8ZZY!
MK<&)/WX8A-[G/:Q!QQKL4X_O)5).LLH0@SU75E1%@TI*^FIN/?8B-Z)A+6K?
MVSH.O.#<B]QU#\M9QW*VEV4&6H\(*\H*(35GB^;$-?;9-SK#'?M!X WZW8>=
M^W"O^_?Y(S'%Y?_W8OC/7O@77GC13Q-V-.%>FNT[F%G[8S)C=,DXP]=CLD"*
M8&'LY6J6,7.$<ZE975]^35_0%JLE!S(550&*VO'??>C[&7Y@#HH(*4Z22BGK
MR%L,]O=%;G)T=]Z_+:6W5*V8T&8/,V/@G9Z;K5)->6HZ*,NZ)"PEF@)3-W-3
MT4'9!68^DQ*W'5MENO^(^ ]02P,$%     @ (8"25J&N;OYU @  L08  !D
M  !X;"]W;W)K<VAE971S+W-H965T.3(N>&ULA95A;YLP$(;_BL6JJ96V B:0
MT!&DMFFU2:L4->WVV25'L J8V29I__W.)D790I(OP6?[O><]8A_)1LA750!H
M\E:5M9HZA=;-E>NJK("*J4O10(TKN9 5TQC*E:L:"6QI157I4L^+W(KQVDD3
M.S>7:2):7?(:YI*HMJJ8?+^!4FRFCN]\3#SR5:'-A)LF#5O! O1S,Y<8N7V6
M):^@5ES41$(^=:[]JYO8[+<;?G'8J)TQ,96\"/%J@A_+J>,90U!"IDT&AH\U
MW$)9FD1HX\\VI],CC7!W_)']WM:.M;PP!;>B_,V7NI@Z$X<L(6=MJ1_%YCML
MZPE-ODR4ROZ23;<WC!V2M4J+:BM&!Q6ONR=[V[Z''0&E!P1T*Z#6=P>R+F=,
MLS218D.DV8W9S,"6:M5HCM?F3UEHB:L<=3K]>7>]N"-?R9/0K"0E8($*PP>F
M6\DUQ^!\!IKQ4EV0,\)K\E2(5K%ZJ1)7(]]D<;,MZZ9CT0.L&627)/"_$.I1
M2IX7,W)^=O%O&A?M]S70O@9J\P;':ABRT\E&PS)SW*]4PS*8.GB>%<@U..GG
M3W[D?3MB*NA-!<>RIUAC,.2I4T5696[,.J51X(>)NQZ C7K8Z!1L- 3K5.$N
MC'H1'8:%/2P\!0N'8.$>+ PGT3 KZEG1*58TQ(KV67YX@#7N6>-3K/$0:[S'
M"J+H &O2LR9'64\%8 O--<@AXF2?&/A!,(R,>V1\'&EO>-[BQ0;327C55MV%
M)PU[QSZK!Z]TO'=>XS#V)_]Y<7<ZD&GF#TRN>*TP?XXZ[W*,Q<BN07:!%HUM
M2B]"8XNSPP*_*2#-!ES/A= ?@>ES_5<J_0M02P,$%     @ (8"25B+.OY!&
M @  ,P4  !D   !X;"]W;W)K<VAE971S+W-H965T.3,N>&ULE51M3]LP$/XK
M5H8FD#;2)DT'71H)*&R3V%118)]-<FDL[#BS+RW\^YV=-NJV4FE?$I_MY^7.
M/J=K;9YM!8#L1<G:3H,*L9F$H<TK4-R>Z@9J6BFU41PI-,O0-@9XX4%*AM%@
M, X5%W60I7YN;K)4MRA%#7/#;*L4-Z^7(/5Z&@R#[<2=6%;H)L(L;?@2%H /
MS=Q0%/8LA5!06Z%K9J"<!A?#R67B]OL-CP+6=F?,7"9/6C^[X%LQ#0;.$$C(
MT3%P^JW@"J1T1&3CUX8SZ"4=<'>\9;_QN5,N3]S"E98_18'5-#@+6 $E;R7>
MZ?57V.3C#>9:6O]EZV[O. E8WEK4:@,F!TK4W9^_;.JP XBB-P#1!A!YWYV0
M=SGCR+/4Z#4S;C>QN8%/U:/)G*C=H2S0T*H@'&:WUQ>+:_:1W6ODDDF@!"V%
M7XRVEA6B+,% G0,[G@%R(>T).V*B9O>5;BVO"YN&2"X<5YAO%"\[Q>@-Q1GD
MIRP>?F#1((K8PV+&CH]._J0)*8D^DZC/)/*\\:%,]MGI8*/],'?I)[;A.4P#
MNM46S J"[/V[X7CP^8"IN#<5'V+/NK*6+;8&W/$)U:JNRJSAKW2Y<6\%.]*Q
M)W5MM<K.D_/A61JN]G@9]5Y&![W<@K43)E33(A1TB$A':W&??,>3[,C'PSA*
M]LLGO7QR4/['_)'1(_+_Q4C^*<9XE)S'?[D)=WK /2??N5F*VA)_2;C!Z2>B
M,5V+=@'JQK?%DT9J,C^LZ%4#XS;0>JDU;@/7:?T[F?T&4$L#!!0    ( "&
MDE8@J?.1; ,  +,-   9    >&PO=V]R:W-H965T<R]S:&5E=#DT+GAM;+57
M76_:,!3]*U963:U$FSA?0 >16FBU2=V*2KL]3'LP8(C5Q&:V@?;?STY""B%X
M#'4O8#L^]YYS?6U?=U:,/XL88PE>TH2*KA5+.;^T;3&.<8K$!9MCJKY,&4^1
M5%T^L\6<8S3)0&EBNXX3VBDBU(HZV=B 1QVVD FA>,"!6*0IXJ_7.&&KK@6M
M]< #F<52#]A19XYF>(CETWS 5<\NK4Q(BJD@C *.IUWK"E[VH*<!V8SO!*_$
M1AMH*2/&GG7GRZ1K.9H13O!8:A-(_2UQ#R>)MJ1X_"Z,6J5/#=QLKZW?9N*5
MF!$2N,>2'V0BXZ[5LL $3]$BD0]L]1D7@@)M;\P2D?V"53'7L<!X(21+"[!B
MD!*:_Z.7(A ; &\?P"T ;@4 _3T KP!DD;-S9IFL/I(HZG"V ES/5M9T(XM-
MAE9J"-7+.)1<?24*)Z.[FZOA#3@'CTRB!"18142H[C!?57#:QQ*11)RIL:=A
M'YR>G($30"AXC-E"(#H1'5LJ&MJ8/2Y<7N<NW3TN^WA\ 3S8 *[CNC7PWN%P
MN VWE?@R FX9 3>SY^V+0*:Y3D:.\^MQ>G]=BCD:XZZE-I# ?(FMZ.,'&#J?
MZD2]D[$MB5XIT3-9CX8QX_)<8I[6R<RQ88;5NWX9N7[@-#OV<I._T<.1_/V2
MOV_D?\?H;"_]'!ILT/<=IQ56Z!L='$D_*.D'1OH;>PLD!(U(0B2I3[E@1TSH
M!VVO(L;H[D@Q82DF-(JYGV..)*&S74$-=6!QCJFL4Q;N*&NWH%,1%NZD(G1A
M*RAG;3%NEHR;QS.FC!I(-W=(NT$3^A76-;,\%^YAW2I9MPY(&K:?>QW?U@X3
M+PC<*M_63I2]0.V9>K[MDF_;R/>64$3'^!^SHKV[X'[8KIX]1L]'YCMTWFY(
MYR!EV471 '>%M-<&Z.7"&F HD<2JN)& 34$^GZC5&S!!LF+EY\V+U*7/*%%F
MB)"_:F]-,XU[&6.^CN5?$J%GMG5LR#:*"GAL,I@W7&%W.R&\IEM)"+/[8^6]
M50S0>%L;,N);J>Z]DL+,)$\*%=/S0Q/C?]0A\*T0@>9*)#_5]J9';01JZI.V
M$[:K*?&N!8J]45'KY\Q7Q&>$"L5XJLP[%TUUQO+\A9!W))MG1?:(256R9\U8
MO:HPUQ/4]REC<MW1=7OY3HO^ %!+ P04    "  A@))6>U@/(=4[   ,  4
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
MFH9J4U334<U -1/5+%2S4<U!-1?5/%3S42U M1#5(E2+42U!M135,E3+4:U
M-5EFN6N*.TT0A[K*07-=9;3<E//:W(!62J*:@FHJJFF#IY62VR_M2>>;$VBC
M)*H9J&:BFH5J-JHYJ.:BFH=J/JH%J!:B6H1J,:HEJ):B6H9J.:H5J":W3-CN
M@> 2C9*#0Z/DH+E1,MI5/R[??]N5$'Z<+83/5;E:_U0;$] :2%134$U%-0W5
MIBW7=/3U M8F![08$M5,5+-0S48U!]5<5/-0S4>U -5"5(M0+4:U!-525,M0
M+4>U M7DEE'</3E<HAAR<"B&'#070W:Y\Q&MB40U!=545--0;;K71L=/58P'
MTD \?:Y"1U<U4,U$-0O5;%1S4,U%-0_5?%0+4"U$M0C58E1+4"U%M6RO38X?
MN2:]+_\Y?>S*T74+5)-;!FKW^7^)<L?!H=QQT%C]],9]V*PWY>)V]W84[\IY
MN;BI:F<_6O"(:@JJJ:BF[;76C06TN1'5#%0S4<U"-1O5'%1S4<U#-1_5 E0+
M42U"M1C5$E1+42U#M1S5"E236^9M]WAPB>;&X:&Y<=C2W/COA[M2,)?O'_XY
M$WXO9[.;CS-A6F[6#[?58OUQ*6@_FS_7!89FMVM@0#4%U514TU!MBFHZJAFH
M9J*:A6HVJCFHYJ*:AVH^J@6H%J):A&HQJB6HEJ):AFHYJA6H)K<,ZLZY@N).
M<\6A[G'XM1+J%:^!&**ECZBFH)J*:AJJ35%-1S4#U4Q4LU#-1C4'U5Q4\U#-
M1[4 U4)4BU M1K4$U5)4RU M1[4"U629Y:XI[C1!2(<$T5@)U>7&A6:I<Y)
MRQ]1344U;:^=;%X,)I/1^&SW EU51S4#U4Q4LU#-1C4'U5Q4\U#-1[4 U4)4
MBU M1K5DKQW?UB3U>^/AU>EC3;K_NN.;"*3!4.P/^V<W$63H^>6H5J":W#(J
MNT_V2Y0Q#@]EC,/F,L:WY:*\G6UG>KB<ERLAO"]GB[]M_W SJV[+6\&:W<TV
MY6U9.^G1<D944U!-134-U::HIJ.:@6HFJEFH9J.:@VHNJGFHYJ-:@&HAJD6H
M%J-:@FHIJF6HEJ-:@6IRRZCNGBPNT>$X/'0X;C]\[:[# $T0I*:@FHIJ&JI-
M44U'-0/53%2S4,U&-0?57%3S4,U'M0#50E2+4"U&M0354E3+4"U'M0+59)GE
MKBGN-$$<NAN'C<U.G78=T Y'5%-0344U#=6FJ*:CFH%J)JI9J&:CFK/7CO>E
M1J+8/WM1C;O_,E$\^KKATU>;>>C)^:@6H%J(:A&JQ:B6H%J*:AFJY:A6H)K<
M,DV[#_]+U"X.#[6+P^;:Q6>^5K)9Z3SXT1)&5%-131L^+6&41N/A\/QN [2$
M$=4,5#-1S4(U&]4<5'-1S4,U']4"5 M1+4*U&-425$M1+4.U'-4*5)-;YFWW
M>'")$L;AH81QV%S8=W[?PL.B6E2K#Y^%'XU9^:]M:/A)>+O\6; VM[6I >UD
M1#4%U514TU!MBFHZJAFH9J*:A6HVJCFHYJ*:AVH^J@6H%J):A&HQJB6HEJ):
MAFHYJA6H)K=,Z^[AXA(]C<-#3^-P\NI;%]!^1E134$U%-0W5IJBFHYJ!:B:J
M6:AFHYJ#:BZJ>:CFHUJ :B&J1:@6HUJ":BFJ9:B6HUJ!:K+,<M<4=YH@#DV/
MP^:FQ_VM"[>K\L]%;7Q *QY134$U%=6TX=.*Q^%P*/;.MRW0BD=4,U#-1#4+
MU6Q4<U#-134/U7Q4"U M1+4(U6)42U M1;4,U7)4*U!-;AFTW7/!)2H>1X>*
MQU%+Q>/S;VELEKI&!%134$U%-0W5IJBFHYJ!:B:J6:AFHYJ#:BZJ>:CF[[7C
M%_I?]:[$R6E<#O9?=OPZ_^'DZ<V;(7IR$:K%J):@6HIJ&:KEJ%:@FMPR33L/
M?XH['?Z''L918TO3^3T+WFKYS^IF(YC?:75NUCH' +23$=545--0;8IJ.JH9
MJ&:BFH5J-JHYJ.:BFH=J/JH%J!:B6H1J,:HEJ):B6H9J.:H5J":WC.?N:>(2
MG8PCZ9 FI-?>I#!"NQA134$U%=4T5)NBFHYJ!JJ9J&:AFHUJ#JJYJ.:AFH]J
M :J%J!:A6HQJ":JEJ):A6HYJ!:K),LM=4]QI@CAT/XZ:NQ^C:G6WVXIXW(40
M?IPMA,]5N5K_5)LFT+Y'5%-:OM/^UV^K-CDT'RE]]T@-_0ZFJ*:CFO'BGZZ)
MGH>%:C:J.:CFHIJ':CZJ!:@6HEJ$:C&J):B6HEJ&:CFJ%:@FMXS8[HG@$IV-
MHT-GX_9#ZO:$1JES&B U9:\=;WM.KB;G]>9JW9=-I/-=3PT]MRFJZ:AFU/U
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
M#QILFR?*J2RGL=R4Y?1'[J01O#<:2U?GC>#HNB;+62QGLYS#<B[+>2SGLUS
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
M=D= B_/=<8=[>+Z[U</&J6?**?"<$W@WK4GH4KA$<+L1= JY%CF)8&JH'"&
M/X Q^_TW[%M_=*DS)%@X$%A#.;=6SNU#WRL7D3R1)$W^@U@MW)RS?U7V040(
MD)T+MH3U"UB=0!]FMN\ZXXGY<*C3L14.'.PWK<(.*PN/@]JJP<RKF7FO8298
M2CC*V0Y4AG\2$C)QB2C(+H[E -YA7"/?;T6_.+:R6OSZ+!K<_)J;_\I9RX'+
MITN4IX3*RR)!P<]MDJO3J)-A[S OW11#@H7^L?:>VZU:4*L6G*=:3Y8(CH8-
M7/MHRH^MO!'VG-:T=V#A47""Q*@F,>HE\96I^=Z?.@F-MIRWCX22R^AX6^&Q
M$^ 6F6.SP'/]UDX.CZU&MFU[W63&-9EQ+YGEAG'YKCA5[QE7S@E==V:;7IB7
MKM,AP<*!P!KR86M?H5B]!]^^1.DL*JPA91L4+1P*K2G<06F'>U?>AY2I&DZ5
M=/5.4C6=*MZ(0 2I)!JIA'G1J6E5,UJ'V?S*:F_^164W;IJU4T1_E*]5P=ZK
M8/>JH(O:<[9?/\R+%]*0:.%0:$T)]Y4G[B\]_V<'#EIU#HH6#H76%&Y?>.+^
MRO/U.]#MW(%N^UP[8>=X[3W8&^=+=3 /[IL9\'5Q;Q<H8ELJR^M9W5M_&WA?
MW(A;_7/]S:"XQ^YAR@\.GPE?)U2@%%8*TKH*5(G!RSM\V9 L+VZU]TRJ.W+Q
MN $2 ]<&ZOV*,?G<T /47U)FOP!02P,$%     @ (8"25@LA.,4H @  !P4
M !D   !X;"]W;W)K<VAE971S+W-H965T.3@N>&ULK91K;]HP%(;_BN554RL-
MG MEP))(W*9.6E<$=-,^FN1 K#IQ9AMH__UL)XVH1J=.VI?$QS[OZ_,X.8Z.
M0CZH'$"CQX*7*L:YUM6($)7F4%#5%1649F4K9$&U">6.J$H"S9RHX"3PO#XI
M*"MQ$KFYA4PBL=><E;"02.V+@LJG"7!QC+&/GR>6;)=K.T&2J*([6(&^KQ;2
M1*1UR5@!I6*B1!*V,1[[HVEH\UW"=P9'=3)&EF0CQ(,-OF0Q]FQ!P"'5UH&:
MUP&FP+DU,F7\:CQQNZ45GHZ?W3\[=L.RH0JF@O]@F<YC/, H@RW=<[T4QQMH
M>*ZM7RJX<D]TK'/['D;I7FE1-&)30<'*^DT?FW,X$?B]5P1!(PC>*@@;@3LY
M4E?FL&94TR22XHBDS39N=N#.QJD-#2OM5UQI:5:9T>ED=7.W7'?6\^4M^G:W
MGJ_08OQS//DZ1Y<ST)1Q=84ZZ'XU0Y<75^@"L1*M<[%7M,Q41+0IP-J0M-EL
M4F\6O++9#-(N"OT/*/""X(Q\^G:Y_U).#';+'K3L@?,+_Y']'%CMU#OO9%MM
MI"J:0HQ-+RF0!\#)^W=^W_MT#O,_F;V #EOH\&_NR2H74G<TR *50H-"%7VB
M&P[GH&NGOG.RU\$A\7O#,!P.(W(XY?DS;S#P_4&O3:LK)2>_J;TB;JG<L5(A
M#ELC]+H?KS&2==O5@1:5^W,W0IL^<,/<W%0@;8)9WPI#T 2V&=J[+_D-4$L#
M!!0    ( "& DE;-=;+0%P,  *0)   9    >&PO=V]R:W-H965T<R]S:&5E
M=#DY+GAM;*U6;6_:,!#^*U963:VT-N\O=! )2*?M0[<*VE7[Z"8'B9K8S#;0
M_OO92<@@21F3^H7$SG//W7/&=S?<4O;,4P"!7HJ<\)&6"K&ZUG4>IU!@?D57
M0.27!64%%G+)ECI?,<!):53DNF48GE[@C&CAL-R[8^&0KD6>$;ACB*^+ K/7
M">1T.]),;;<QRY:I4!MZ.%SA)<Q!/*SNF%SI#4N2%4!X1@EBL!AI8_,Z"A2^
M!/S,8,OWWI%2\D3ILUI\2T::H0*"'&*A&+!\;& *>:Z(9!B_:TZM<:D,]]]W
M[%]*[5++$^8PI?ECEHATI 4:2F"!U[F8T>U7J/6XBB^F.2]_T;;"NA(<K[F@
M16TL(R@R4CWQ2YV'/0/3>\/ J@VLMH'SAH%=&]BG&CBU@5-FII)2YB'" H=#
M1K>(*;1D4R]E,DMK*3\CZMCG@LFOF;03X7@ZG3W<1.AQ/)N-O]__0M,?\_LY
M.H] X"SG%^@2/<PC='YV@<Y01M!]2M<<DX0/=2'=*Q(]KEU-*E?6&ZY,"]U2
M(E*.;D@"R2&!+N-N@K=VP4^LHXP1Q%?(-C\AR["LGH"FIYN;/>;1Z>;&$35V
M<Q1VR6?_UU'TY;GB<?IY5*&XYBL<PTB3E8 #VX 6?OQ@>L;GOAR])UGT3F0'
M^7.:_#G'V,,)+#-",K*4A2#')(:^U%447DFA2N(F=%S3\8;Z9C\G793M^[9U
MB(JZ*-<-_*!!':AP&Q7N416/F#%,Q"M:,;K)5'7MDU%QN'NNO< QS9:,+LIQ
M#==NR>BB+&]@F_TRO$:&=YJ,F'+!9>6(UXRU+WVEQ>OXO[3-@=,*<]H'<YW.
MH?3 ',_P_'XY?B/'/RI']AC900B"ESC%9 D(%@O9N?KD^#T!#&R_I:8'95E&
M"Q5U48.!T:\D:)0$1Y7(VON/*Q)T_M:^Y_EM 5U4ST6*NJC#BU1)T/?Z5P%L
M6<X!7/YUUD14W:#9;4:-<=EA6_L3.8)4$\-?FFI^N<5,5@>.<EA(2N/*ETEE
MU4Q0+01=E5WRB0K9<\O75(Y1P!1 ?E]0*G8+Y: 9S,(_4$L#!!0    ( "&
MDE:_DV8[00(  -($   :    >&PO=V]R:W-H965T<R]S:&5E=#$P,"YX;6R5
ME%%OFS 0Q[_*R:NF5IH"(6G6=02I;3*M#YVJD&W/#AS!JK&9?4FZ;S_;4)1-
M::6]@,^^^]_OX,[I09LG6R,2/#=2V3FKB=KK*+)%C0VW(]VB<B>5-@TG9YIM
M9%N#O Q!C8R2.)Y%#1>*96G8>S19JG<DA<)' W;7--S\OD6I#W,V9B\;*[&M
MR6]$6=KR+>9(W]M'XZQH4"E%@\H*K<!@-6<WX^O;J?</#C\$'NS1&GPE&ZV?
MO'%?SEGL@5!B05Z!N]<>[U!*+^0P?O6:;$CI X_7+^I?0NVNE@VW>*?E3U%2
M/6=7#$JL^$[22A^^8E_/I=<KM+3A"8?>-V90["SII@]V!(U0W9L_]]_A*"!)
M7@E(^H D<'>) N6"$\]2HP]@O+=3\XM0:HAV<$+YGY*3<:?"Q5&V6N;KU?W=
M>KF ;\LUW.3Y<IW#^0*)"VDOX R$@G6M=Y:KTJ81N9P^,BIZ_=M./WE%?X'%
M"";C#Y#$20+?\P6<GUW\+1,YY($[&;B3H#OY'^Y3>)W,]+2,;_EKV_("Y\SU
MM$6S1Y:]?S>>Q9_?@)P,D).WU+,'H42S:Z!%4Z BU^2@*Z :H36Z$@2\(C1
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
MDEM8 N.X-&[^Z5Y>QV[HNSO9&Z*":+ 3E1JB/#>,0W/ZKO/4YCB= F23*%M
M@N ARS&9 8+I5+:>QD[%V<\ABOP=.88HSP]WU!B"7&<0'1"ST;.Y_UNU&X;H
MF;)M"C/4;4/8]J=7"[$W^M *V$SW\QQE=$%$W;FUL^V=X5QWRCOS8W67T/WM
M$TU]$;G&3)XICDJ82DKG9""]975O7P\$G>MN]YX*V3OKQUS>AX"I /E^2JE8
M#]0"[0TK^0M02P,$%     @ (8"25E="UCV:!   0!(  !H   !X;"]W;W)K
M<VAE971S+W-H965T,3 W+GAM;,5876^C.!3]*Q8[6LU(;<#FNYM$:DMWIP]3
M5<ET]]DA3H(&[*QMFNZ_7]L0D@)ATE6D?4G G'M]S[GV]87QCO$?8D.(!&]%
M3L7$VDBYO;%MD6Y(@<6(;0E53U:,%UBJ6[ZVQ983O#1&16XCQPGL F?4FH[-
MV#.?CEDI\XR29PY$6128_W-'<K:;6-#:#\RR]4;J 7LZWN(UF1/YLGWFZLYN
MO"RS@E"1,0HX64VL6WB30%\;&,2?&=F)HVN@J2P8^Z%O'I<3R]$1D9RD4KO
MZN^5W),\UYY4''_73JUF3FUX?+WW_KLAK\@LL"#W+/\K6\K-Q(HLL"0K7.9R
MQG9?24W(!)BR7)A?L*NQC@724DA6U,8J@B*CU3]^JX4X,H#!"0-4&Z"V@7?"
MP*T-W',-O-K ,\I45(P."99X.N9L![A&*V_ZPHAIK!7]C.J\SR573S-E)Z</
MM[.GQZ<_YN#Y80;F7V]G#^!S0B3.<O$%7(.7>0(^?_H"/@$;B WF1(",@A>:
M27&E!M7U]PTK!:9+,;:EBD=[M=-Z[KMJ;G1B;HC -T;E1H 'NB3+]PYL1:1A
M@_9L[M"@QX2D(^#"*X <A'H"NC_?'/:8)^>;.P-LW"8WKO'GGO!W2V5VO<SR
M4F^-O?SD+<U+I198<58 N2$@9<6VE-AL([8"QD ])YC3C*X%V!)>&?=EJ(K
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
MQZBF**V>#&57:_]E5S+T.\>@&QF<!Z1FH)J):A:JV:CFH)I -1?5/%3S42U
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
M$5-BQ:.E(^9AX>F(*0]:EEA%8E6)U216EUA#8DV)M236EEA'8EV)]236E]A
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
MC6&5@(U"NN&<JK<9,-G&>(A/!]NJ*(T[")*HI@7LP/RH-\I:0<^251R$KJ1
M"O(83X>3V=CY>X>?%;3Z;(]<)GLI7YRQS&(<.D' (#6.@=KE  _ F".R,GX?
M.7$?T@'/]R?V1Y^[S65/-3Q(]JO*3!GC+QAED-.&F:ULO\,QGSO'ETJF_1>U
MG>^88)0VVDA^!%L%O!+=2E^/=3@#D/< Y @@7G<7R*N<4T.32,D6*>=MV=S&
MI^K15EPEW$_9&65O*XLSR6[Q;;58/Z/E^O%INYH^+Y_6Z&9-E:*N6K?H9@Z&
M5DS?1H&QX1PH2(_4LXZ:O$,])&@EA2DU6H@,LG\) JNS%TM.8F?D*N,<T@$:
M#3\A$A*"-!2V.\P5WE%?A)'G'?U_$2ZEVY&,+Y.XZ9GHFJ808SL>&M0!</+Q
MP_ ^_'I%XKB7.+[&GJP;O@>%9(ZV4$MEZ)X!VG45T)?$=G1WGLY-YB$A47 X
M5Q"<=0T'5?C9T"B5C3!= _6G_?A-NZ[[Z][-[HJJHA(:,<@M-!Q\MG%5-P^=
M863M>W OC>UHORWM$P+*.=C[7$IS,ER _E%*_@!02P,$%     @ (8"25@-D
M8C>[!0  3QT  !H   !X;"]W;W)K<VAE971S+W-H965T,3$R+GAM;+U9W8Z;
M.!A]%2M;K5IIV]@&VS";B=0)TW8N9EI-VMUKDC@)*N L.#.MM ^_YB<A&.-)
MM*@W,T#.=\SY,(<#GCR+['N^Y5R"'TF<YM>CK92[J_$X7VYY$N;OQ(ZGZI>U
MR))0JMUL,\YW&0]795$2CS&$=)R$43J:3LIC7[+I1.QE'*7\2P;R?9*$V<\;
M'HOGZQ$:'0X\1INM+ Z,IY-=N.%S+K_MOF1J;WQD644)3_-(I"#CZ^O1>W05
M8%84E(B_(OZ<GVR#0LI"B._%SMWJ>@2+,^(Q7\J"(E3_GOB,QW'!I,[CGYIT
M=!RS*#S=/K!_*,4K,8LPYS,1_QVMY/9ZY(W BJ_#?2P?Q?,G7@LB!=]2Q'GY
M%SQ76.*/P'*?2Y'4Q>H,DBBM_H<_ZD:<%#BPIP#7!5@KP+BGP*D+G',+W+K
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
M1T5:+#4_; YI^20%:HY:H$95LUAJ?L0=>?/3"M0<F-K!Q&!6"V#&M68Z3#>
MR04G:B3='$/S.$-_S(K[D61#A6A4-8NEY@?-032?!*(Y*D2CJEDL-3_B#J+Y
M:1#-A] K%0_?\LP ,Z72<&X'8$4YIR-O7H4#:!$'Z)]:=$Y^;O^!/(BW/?;B
MHZI9+#4_;@[ Q20%:8&*[ZAJ%DO-C[C#=W%:05H,R\=<TO USPPP,R8L6EO
MBC"A1DA2."(6<2+^].SRV6NP]ZBU:%0UBZ7FQ\S1MYBD%BU0P1U5S6*I^1'O
M+4@\K18M@!*S,&J0:L D:B)#B@2L!#-Z+-4<"XM#ZPNS8I65"] !U,6%J&H6
M2\T/FX-O,<D"0X%*[JAJ%DO-C[@C=W':*D,Q7!9H# \Q$K 2AH=+$2U@)DDZ
ML@Q!.!86<18^9@TS0++=*NKPC0]D)Z4>O#:.]^RIBY@=0,LX0/]:Y$V9K2%/
MXRV/7L*,BL]8:G[4'#[+2?!9HN(SJIK%4O,C[O!9GH;/$N#B5(4K$0 K8@:K
M+RU@1K61=.2A+AT_RS@_C\]<C#<\^M*C C26FA\T!]!R$H"6J "-JF:QU/R(
M.X"6IP&T'#)OFQZ#B<* &>F6#8:/0,#.$#I6')*]'3KB"/WZKJYNP24P\89'
M7WO<[3G^#H"6#J#E)  M40$:5<UBJ?D1=P M3P-H">RK89@@.GSW#QAJH44J
MPGP#()IQ(48F*DJ'T1(-HR6$T40/AA!@5K.FX=SG>+>>NJ6-8V@59^BKVZP
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
MV$D?6)ND8_V0*1P!,AQ(6(B$<1!,"\=X%XZQ]4FXK7OT9=DOR$9'C@+$RRC
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
M]+':T/P^+8IT4WU<B6@ALC*!_/XA38N7@[* W:[[L_\ 4$L#!!0    ( "&
MDE8SY@&)$0(  /8$   :    >&PO=V]R:W-H965T<R]S:&5E=#$Q."YX;6RM
ME%UOVR 4AO\*8M/42EWP1YI.F6UI^9BZBTU9LW37Q#Z)4<%X0.SNWP^P8Z52
M6N5B-X8#YWTX+P:25JHG70(8]"QXI5-<&E-/"=%Y"8+JD:RALC,[J00U-E1[
MHFL%M/ BP4D4!!,B**MPEOBQE<H2>3"<5;!22!^$H.KO#+AL4QSBX\ #VY?&
M#9 LJ>D>UF V]4K9B R4@@FH-),54K!+\9=P.H]=OD]X9-#JDSYR3K92/KG@
M6Y'BP!4$''+C"-0V#<R!<P>R9?SIF7A8T@E/^T?Z5^_=>ME2#7/)?[/"E"G^
MA%$!.WK@YD&V]]#[N76\7'+MOZCM<L=W&.4';:3HQ;8"P:JNI<_]/IP(PO$K
M@J@71)<*XE[@=XYTE7E;"VIHEBC9(N6R+<UU_-YXM77#*O<7UT;9669U)EMO
M9NOES\WRQR^T?'3?JP48RKB^1A_1>T20+JD"G1!C%W,2DO?@60>.7@$O(!^A
M.+Q!41!%9^3SR^7A2SFQ%@>?T> S\KSX0I_G#'6$\7F"NTY37=,<4FSOBP;5
M ,X^O LGP>=S]OX3[(79># ;OT7/YE((>T7\K[M!-56HH?P Z(I5J)"<4Z51
M#:I+N#ZW%1U_XOGN(6BR("'-J;^W,KJBR<FI="_"=ZKVK-*(P\YJ@M'=+4:J
MNV5=8&3M#^I6&GOL?;>T#Q,HEV#G=U*:8^#._O#49?\ 4$L#!!0    ( "&
MDE9?P!N#DP(  /T%   :    >&PO=V]R:W-H965T<R]S:&5E=#$Q.2YX;6RM
M5,%NVS ,_17"*[86V&+':;*N<PPTRXKU4*!HVNVL6$PL5)8\24[:OQ\E.UXZ
MI#GM8HL2^?@>)3+;:O-D2T0'SY54=AJ5SM67<6R+$BMF![I&12<K;2KFR#3K
MV-8&&0]!E8S3))G$%1,JRK.P=V?R3#=."H5W!FQ35<R\S%#J[30:1KN->[$N
MG=^(\ZQF:UR@>ZSO#%EQC\)%A<H*K<#@:AI=#2]G8^\?''X*W-J]-7@E2ZV?
MO''#IU'B":'$PGD$1K\-?D,I/1#1^-UA1GU*'[B_WJ%?!^VD9<DL?M/RE^"N
MG$87$7!<L4:Z>[W]@9V>0+#0TH8O;#O?)(*BL4Y773 QJ(1J_^RYJ\->0)J^
M$9!V 6G@W28*+.?,L3PS>@O&>Q.:7P2I(9K(">4O9>$,G0J*<_FU4$P5@DE8
M..:0RNU@03?/&XEP Z=S=$Q(>P8G(!0\E+JQ3'&;Q8Z2>XBXZ!+-VD3I&XF&
M*=QJY4H+WQ5'_AH@)M8]]71'?98>19QC,8#1\".D29K"XV(.IR=G1W!'?4E&
M 7?T!NX5Y\*_&*K)C6J?O7\_G^!XK0Z5I$UT?CB1[[=+6[,"IQ$UE$6SP2A_
M_VXX2;X>D7'>RS@_AI[?HW5&% XY*&IN9BTZ"WH%KD0@ZL*]?+!0:&6U%)QY
M/[I9:-2K+=LLK>""&8$6E":<#;T'MB3%5!K@PB=9-KY"APK04IP$BGX^;/+)
M^&(XF63QYH"T<2]M?%3:0TGE*K7D4*,I2 N-#Z_,_'?)AS2UW+[L:4H&Z?@?
M1?%>2U9HUF'P^-R-<FUW]KO];+MJ6_JO>SL8;YE9"V5!XHI"D\%G(F#:8=,:
M3M>AP9?:T;@(RY+F,QKO0.<KK=W.\ GZB9__ 5!+ P04    "  A@))6!E4]
M<'<(  ! *P  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,C N>&ULU9IK;]LX
M%H;_"N$=[,X 22W>=.DF!E(G@PF0G6;K= ;[D;&96!A=/!*=-(/]\7LDNZ8M
M'M%VZR_[I;7CP^.7%,7GG->Z>"VK/^JYUH9\R;.BOAS,C5F\'P[KZ5SGJGY7
M+G0!GSR55:X,O*V>A_6BTFK6#LJS(0N"<)BKM!B,+MJ_W5>CBW)ILK30]Q6I
MEWFNJK</.BM?+P=T\/4/G]+GN6G^,!Q=+-2SGFCS>7%?P;OA)LLLS751IV5!
M*OUT.;BB[\=2-@/:B-]2_5IOO2;-5![+\H_FS>WL<A TBG2FIZ9)H>"_%SW6
M6=9D AU_KI,.-M_9#-Q^_37[S^WD83*/JM;C,OL]G9GYY2 >D)E^4LO,?"I?
M?]'K";4"IV56M_^2UW5L,"#396W*?#T8%.1IL?I??5DOQ-8 *GH&L/4 =N@
MOA[ VXFNE+73NE9&C2ZJ\I54331D:UZT:]..AMFD17,9)Z:"3U,89T8_IX4J
MIJG*R,0HH^$"&3*!O3);9IK<DG/RX>KNZM?Q#9G\<G/S,"$_7FNCTJS^"3[Z
M/+DF/_[P$_F!I 5YF)?+6A6S^F)H0%>3?3A=:_BPTL!Z-%SKZ3O"Z1EA 6/(
M\/'AP^GN\"&LQF9)V&9)6)N/]^0;+ZNJ6095U]K4[['YK!((/$%SY[VO%VJJ
M+P=P:]6Z>M&#T=__1L/@G]CL3I1L9ZY\,U?NRSX:JWI.X*J1:?-"_[E,7U0&
MDT>OXBI5V*9JCH>741)3P<7%\&5[/FY8'"8QIYNP':5BHU1XE5[EY1)TD=E2
MDZ>JS.'@>:S36:JJ5*-J5^GDE@P1A[0KUHV*>" 8KE5NM$JOUFM=P3HVY]-Z
M$V'ZI//--)(T[.ASHR(6A[B\<",O],J[K_1"I3.BOP ,:EVW&Z T<UW!B;.]
M]S'9H2.(A5$B:$>W&P8;A481KCS:*(^\RA]* R?5?I&1\^TR%"*444>E&R>B
MB,:L1V:\D1GON?Y/&B3.B%%?/"IC=RE9PEAW"R!A/)0!QS4F&XV)5^/']GH7
M97&^?SD3=ZO&D11)1R@2%@DA>X32P"(J\%_UCP]7=^1J,@$ H70)G"]. AY1
M%G<$(H$1CV/>=[_3+8K2@YB1I>HQS5(#9Q(*CG6:$Y'C5-EV)VTY2;UH&DWF
M967.C:YR\EA6,#PMGG'\,W=G",%CY[3# F7"XBCHN4"6<]0/NFU\F'(O/-;9
MMH7$W>V.Q  ->X1:S%$_Y[;8L;694(TNNYCDTI&)A(6L;\=;Q%$_XS[N\&*?
M5!=C+.$!95VM2)Q@4=RWJI9XU(^\77#L4^O"2S(91Z%SGB"4"V!;B[A'K^4<
M]8-N7!8ONC+I(U3A16EZ=+KX8DPF49=R:)P((]FCTF*.'L&Y?8OJ8BP,0QYT
MM;IA(J:R[_ZWM*-^W-VMU;T1:'W)LIC"ZD*3VRI?E'7:])2X;I=J,G)ENU&
MOIYMP"SYV"'DN[N]^G![=_MP>X/BC[E4"YLBUBG,D4#)0IH$HD>GQ1_SX^\&
M&@?SAK=*)R7>J;+MSG.K,_03;USF>5F0>JX@.W3 14D6JB+0,RWU>]A569JG
M!NX'M33 QO0O>+F*/2.A.(/N]BR,XK;<AK<R",\"*;]F2^MZV0QM:O&EJ0V\
M )X290@TN#I_A-/V:Y/;!C7-\AF!D0O=6B'9&[K\+E%C+N46I]8+NS=N=\DL
M>-D>\,YF[<T%QV_3=)S#/3=5BQ2.8U0NPE3*N@<:$G5.$\'Z[C<+7^:'[Z?&
MW"C@*FA5%7W5#'.!"A*E9-U# 0L,8%%E#WR9A2_SP_=J.EWFRTPU>VW=N)4Y
M[/AYXZ\UE4-9X])=OI[3"#9AMWW# F4@X[Z3PH*8'0+BL2H45%\%F909W#^W
MQ?3=ZC:8E]E,5_4_6BO"X#O:A2Y<>QKR;N&#!<8!#?JJ"6;IS/:TH=UCF5S]
M>DUN_OWY]N$_J&07P'B#@@1Z&Q1F4<W\J+Y7;>4#!]A"%6_DO^237D#UKIH"
M(]//<$W@XUYX^Y,??8B?*-ON4MA2@"7?[>]YBXFCYWNB;+L.GRTBN+^(.,[C
M<VL$*L.P>SX@82P2O&>;<EM(<"_ CW?YUOEV:IJ8A;'L"G;CPN;.ZE-L2P+N
M+PD.\OK\.8[=3]QEM60]]BK?<H+]H/XN5Y CW.:,=L\W)$QRVH-M;K'-_=@^
MU!;D+I!#"MO;<;"1N(C1/LN-6VYS/[=OH:NK3?LC"]1!>_<VT@U38'#DZ$6\
MY"1AH>Q;68MK[L>U%5PWBM73$S11JJ<?Y0AP:22<6Q$)"Z!^ZM%JJ<S]5#[0
M=>4N8^GVMZ]%(E&)Z#'>N<4P]V/X&->5NZTP3V+>+8:1, ''0=]>M9CD_HYY
MG^O*W9:7Q8SSR%E*)#!BK-=_$)9L(CB)ZRJ\@#SV^#U5MMU)6T2*PQ%Y@),I
M$/")(' V/!87,R9Z?@H1%I#B8$#NL8B$R[4H[%J$_F_[UM6WE!1^2AYE>PH7
M=W!K.C-"H!A&/4>-V/J]]!@H[E.*$$]([O146%P<):SGM!&6C,)/QH,,3X$
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
M"(^+N+,6>ZU],<E*R^6F\;8RDS57NV:G]1F+W2$:1]2ZX;FK"B*.[4GKJGA
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
MC!N_W3Z_TO-/Z VY3@N3) >6C;3FN]8+['JFRMS(%9Z1OJ/+B"1B0YS!K[_
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
MYJU;2(@3ZHY.@) S(GPMQI 9"C+']<UJ\&JN!MQ%4Z_44OJ^+>9%WA2>KL"
M>84R9#L&R'B2(FS[Y>HP3[!G'D4&=E"8=CXT<IT7:HK\K(<G.33_NEM*-01O
M5&?7,VC?+T ?75A!#''NC,*N[B)A@E';24 G,/+1 C+T@\+X\[YWJ*JKBR.<
M<GGE HG]X7/KE*O#L6J\MD^0.90B#Q@@@T HS$"[CK;.GW4O WUQF80PQ(B]
MZ@%T",78)AQ =J'::N*;60SEH##F[/>N?N%3YIV:9]9YT_FZ%X0AU'8+$"%A
M\RFD2O=18IR:,$"#PT#STW82>>Z!9J/(IND4R.G9,U*X6F@4 'W#+H[HT[9G
M44@F<&*[!\DX]GEGX :'X4:OME47ZLHAJW080K%+)1<$)<Z(".B4S&$#2$9B
MYH$V;" 'AR'GE],7UZ"W+KJD>F1TO 40A\8)=L9&2(BP<M@#WMC $ [#T#NU
M&FR/R1?@2:EG4FO95-;&,334@P_GGOI6LVTHZI\;5#"F -AP$M/$Z>V D.*4
MV6N$#!(2E'*./0W%,! .IZ>VV>0C&LJDF:5)K65361O'T/ 6#O.6;BAJ9)E)
M.6\'D"S:=M,O>_O,S&JEEOFM7CC"S25H_>3( OQ&U8CL-*F)?G4<,T-O.$QO
M'T;QFNVMW9XJV;3+8JW>=%+]=-=_O(_FT5/1+>M-]R5U,J2_NJ8NP? ""2T5
M#CM3 LGB.+9Q"9!AC@CQ=42#?CB,?A_RYR%)K,%" ?RF4=ZU1[:@H.F36]"4
MUC(,\"5+N8]5#%[B,%Z.&Y#\+)M9,82K[>K9[VI2][-8T/+)X9K26H9=<$7Q
M'MN/-Z$,MY(PMX($M #&?G!KRJ5-BA-.["X$Z#BBL0/G@"[1N2P/]1##KR3,
MKV\6"SGKN55^WHX-"NSDE^$%] T@6"129F>\;P$A2@BVAU5 QN(T%1[7#,*2
MPPA;5+-&ZC'A?"Z'5R_TT*BOZ_?#U=5)\<>\[,<1O>C7PV=3S/2Z2W\/!L!E
M4+66Q-CQ'\K;*50E]@@)""G15.,)P=Y.:I#WKF^/]C/*NZA;RNA>/A15I1NX
M:A+Z@V>9-V 0"#!IJI-.[,T12*@Z@G#2SY!0APM[UM7$8"D)8^GI89 Z_7,@
M "Y@*KQ,F3W_W4)"*%(9)+0B-0Z 05821M:[S7H]K%#S4F\3S<JZW33#3*F]
M7I3*8E$-%39J#H"WVR?%V4FM95-9&\?7X"P)X^R[+7=%?1+Q7.],J]#FVW3.
M+%\7*O#%GW+^ @RLRY^",^0,)X!,\9:=$8!DB:"^X=3@)SF GWF?,;RM5^N\
M>H[^BC[*==UT?6:[E ^J8:FO_1-BT/C)C6=*:]E4UL:!-1A+DF#G/+[>95)F
MG=1:-I6U<0P-VI(PVH:+7HA+B)BD*;>3"X N99C:&XN #%$N8@^@4X.<- ZV
MA'^X\(4& ?C4]C2IM6PJ:^,K8;"8AK'XY.J7L+V38PF0L[WSDH$B3^D5-=1,
MP]1\>HD,!7:[W1H92.46R0 J;Y4,-1A,PQ@\3?D(=?DTH?9>"R"ZH#&UB1^2
M849\66RZ5_QW8-_YM/*1L+63F^V4UC+JXO#^ON(X0 :%:7@'^XU: '3/^N(K
MKM<+G;9/@!S8QJ; _C2FG#BK'4B(8D2<'7I0*!!.?;.(@5$:AM%3ZFVH"XM
MO0V@ NIM %6@WH8:\*1A\#Q<;T.!VCJ"[%P+H$IBY[( ^]24^T8@PW@TS'A?
M6VE#)T6_2:UE4UD;A]:@'SU^T_RHDA0*Y0O3U&GT4"%@S)/47K8#0IR(A'M6
M[<S@( MG(+^J*(5!V^)I;'L)R'25ASU?0=8008EGL&(&M%@8M$XI26$ \#C^
M ,E)FL9V.0H@PPEEGOHH9NB)':"GDRLX&$0\W/4+VB#'&-O[XY".T)C%GMT6
M9B"*A2'J_:CA[0U8H%< WR#D5*9 ,BSVY\"M5ZY.-;[8=[D,+;$P+?WMVA0&
M["XCX4 O)&.ID_D$9"3VW42Q=Q=%F'1.+DUA+I)09\<"$G$GHPVH4,J0A]Z8
M81MV>-]X@K(4YJ(*%0(YS1,HQ,.<XMA>MH!"-0GX_#7LPT20&XXN2F&3YM<F
MM99-96T<0\->++Q-/,1PR*I8V^)@)('=5\ZHL[L#Z13G4V8G9$&A:D:)KW48
M]&%A]+$\RQ<+-9CEGF4Z@^K['.J!5 S;-Q1DD P+[AFSN$$>'D:>MYMJOMU\
M*NN\ZM-@ARX8A]@$X]@I586$JB\CA^A H;I@U+,.X 9W>!AW/BJB>_XR' \>
M'L6L'$ ?@9ESHP>@PXPDR&Z3D"ZFB0=9N>$??F39X*D%8!RJZV.)4_\%Z5*$
MG'4<I"."<.1KHH:#>+A.\.CR+SYIG>"DUK*IK(UC:+B+A[EK7(ERWNSUBA=1
MNZR;[J*3S2JZKQME6R=IP !/FKSB *LE<6ROF#) 1T:R<4P,KO$PKCE#@S4R
M/(,A +)(-&4.:(=_^^36\RUV6_G>G:EA"'0FB3Y0^:%035HSR*'[6*'6\BUJ
M!KGA1Q[.G7UEG678^LDQ@^Z3!>HLI_K5<<P,+_(#987_6)UE^$1.#N^D63WN
M4BO&E/GNY.4&6OGAK=I0DSQBQRG\"R?';=)J1 YD ]52$'NX0Q@T%@>R@5]1
M[1HV?6K )K66"0"V_=6NPJ"V"*/V5U2[ABV?'*XIK64"2H+ZJEV% 7?Q-^[W
M.;;:54#)28!" !V!)@! IQ\KPCR[H\*PNPCG,/]&M:MP4X\LM6]OO 54%R*U
ML\Z0BA+O\U*$X6EQ^+Z;;U+J*J \)Q)V??(MI!/,R>,",H(%\N2FA6%G$6;G
M;UCG*ES"QH(2YQ$@KHRP&-O+4L@:\=T$*PP1BS 1?Y,"5P'=ULR=*F] !@0H
M V3C (U=WWNB2SA#.DEIJYB4<R>UEDUE;1Q?0\/B4/;T:TI;M\;WGQ!%8N;D
M4@$9CK%PVI K$ZF3=+S<>U#<2C8/_0/WU*GJ,QZ>J;;[=/=0OYO^47;6YZ_1
MRVQX-)\Q,SPI\.>\4<-'&Y5RH4S&/^ANW0P/WQO>=/6Z?QS=?=UU]:I_N93Y
M7#9:H+Y?U(IMMV_T#^P>@7C]?U!+ P04    "  A@))6M2FZ9EX"  !+!0
M&@   'AL+W=O<FMS:&5E=',O<VAE970Q,C4N>&ULK53;3N,P$/V541:M0&+)
MC=N6-%)IBT "A%K*:A_=9-)8.':PG1;^?FTG1&55T#[L2SQCSSF9,_9,LA'R
M696(&EXKQM70*[6N![ZOLA(KHHY$C=R<%$)61!M7KGQ52R2Y U7,CX+@U*\(
MY5Z:N+T'F2:BT8QR?)"@FJHB\NT2F=@,O=![WYC15:GMAI\F-5GA'/6B?I#&
M\WN6G%;(%14<)!9#;Q0.QK&-=P%/%#=JRP:K9"G$LW5N\J$7V(208:8M S'+
M&L?(F"4R:;QTG%[_2PO<MM_9KYQVHV5)%(X%^T5S70Z]<P]R+$C#]$QLKK'3
M<V+Y,L&4^\*FBPT\R!JE1=6!3085Y>U*7KLZ; '"^!- U &B?P7$'<!5SF\S
M<[(F1),TD6(#TD8;-FNXVCBT44.YO<6YEN:4&IQ.KT8W,W@:W2ZF<#<=S1>S
MZ=WT_A%^P-R\E[QA"** @G+",TH8$*50*R \!T;)DC*J*2JHD*A&8@Y$0T&H
MA#5A#<+^!#6A3!T8O@EF1Q"'AQ %40#?OX6G)Q= .3R6HE&&3QW"W@<_\;71
M9[/TLT[+9:LE^D3+^/XW[+?,!SO0XZ_1B_D$]O?^ OJFG'U-H[ZFD6.*/V$:
MN2(-=@EH@<>[@;9C!ZHF&0X]TY(*Y1J]U H*+G;I^4]D'S3&O<;X*_;TEBIM
M[AM?&JK?0&'62/<4=HENF<X=DYTJZ_1G&)\%B;_>5M-&G6Y%A<=!$/=1;9K^
MUE.W8^:.R!7E"A@6!A<<G9UX(-O6;1TM:O?ZET*;7G)F::8=2AM@S@LA]+MC
M&ZJ?G^D?4$L#!!0    ( "& DE;D9\\G= (  -D%   :    >&PO=V]R:W-H
M965T<R]S:&5E=#$R-BYX;6RM5&U/VS 0_BNG#$T@;>2M=(.UD?JZ51H(T<(^
MF^326#AVL)T6_OUL)\T**FB3]J7QV?<\ON?J>P9;(1]4@:CAJ61<#;U"Z^K"
M]U5:8$G4J:B0FY-<R))H$\JUKRJ))'.@DOE1$/3]DE#N)0.W=RV3@:@UHQRO
M):BZ+(E\'B,3VZ$7>KN-&[HNM-WPDT%%UKA$?5M=2Q/Y'4M&2^2*"@X2\Z$W
M"B\F/9OO$NXH;M7>&JR2>R$>;+#(AEY@"T*&J;8,Q'PV.$'&+)$IX['E]+HK
M+7!_O6.?.^U&RSU1.!'L%\UT,?2^>I!A3FJF;\3V![9ZSBQ?*IARO[!M<P,/
MTEII4;9@4T%)>?,E3VT?]@!A_PU U *BUX#>&X"X!<1.:%.9DS4EFB0#*;8@
M;;9ALPO7&X<V:BBW_^)22W-*#4XGBZN[V7)U.;M:+6%Q!:/Y?/%S,5K-EO 9
M5N0)\+&F^AFT)%P1UWD%QU/4A#)U8G)NEU,X/CJ!(Z <5H6H%>&9&OC:U&9O
M\-.VCG%31_1&'6$$EX+K0L&,9YB])/"-J$Y9M%,VCMYEG&)Z"G'X":(@"@\4
M-/E[>/!..7'7Z-CQQ?_:Z$.]:JAZAZGL8%^HBJ0X],SD*I0;])*/'\)^\.V0
MSO]$]D)UKU/=>X\]^6Y\!,RT9E150A$&(C</98-*&R?0]LV0/*>,$HT''TW#
MWG?LUI V21C$Y]' W^PK/) 5G\?]+JLIW=^;DA+EVIF'@E347#?/JMOM_&GD
MQO+5_MCX5F,S?V@:T[LD<DW-A##,#65P^N7, ]D821-H4;E9O!?:3+9;%L9[
M4=H$<YX+H7>!O:!S\^0W4$L#!!0    ( "& DE8,AGXF' (  /8$   :
M>&PO=V]R:W-H965T<R]S:&5E=#$R-RYX;6RM5-]OVC 0_E<LKYI::<7Y 92R
M$&F MO5A*X)U?3;)0:PZ=F8;TOWWLYT042G=^K"7Y.Y\WW?WV3XGM51/N@ P
MZ+GD0L]P84PU)41G!914#V0%PJ[LI"JIL:[:$UTIH+D'E9Q$03 F)64"IXF/
MK52:R(/A3,!*(7TH2ZI^SX'+>H9#? JLV;XP+D#2I*)[V(!YJ%;*>J1CR5D)
M0C,ID(+=#'\*IXO8Y?N$GPQJ?68CIV0KY9-S[O(9#EQ#P"$SCH':WQ$6P+DC
MLFW\:CEQ5](!S^T3^V>OW6K94@T+R1]9;HH9GF"4PXX>N%G+^BNT>D:.+Y-<
M^R^JF]S1+4;901M9MF#;0<E$\Z?/[3Z< <+A*X"H!41O!<0MP.\<:3KSLI;4
MT#11LD;*95LV9_B]\6BKA@EWBANC["JS.)/.[]?K^\>[[U\VZ!IM"JD,,J!*
M=+D$0QG75S;\L%FBRXLK=(&80#\*>=!4Y#HAQM9W+"1K:\V;6M$KM9:0#5 <
M?D!1$$4]\,7;X>%+.+&J.^E1)SWR?/$_I?=):;##?JR;K:FN: 8S;(='@SH"
M3M^_"\?!QSYA_XGLA<RXDQG_C3WUAWKM#W4KE04SL>\]O(9F[&G<\!_3<#B,
M)^$X(<=S,3UYH]MH<A-T>4V?Y.Q6NA?A&U5[)C3BL+/(8' SPD@U4]8X1E;^
MHFZEL=?>FX5]F$"Y!+N^D]*<''?WNZ<N_0-02P,$%     @ (8"25HWI"FET
M P  :Q8   T   !X;"]S='EL97,N>&ULW5C1;M,P%/V5*&-HD]#2-BQM6%L)
M*DU" C1I>^!M<ANGM>0XP7%'NT?^A3<^@#<DO@3Q)?C::=)VOM78 UM)U<:^
MQ_?<<^V;Q&F_5$M.+V>4*F^1<5$._)E2Q:L@*"<SFI'R)"^HT$B:RXPHW973
MH"PD)4D)3AD/.JU6%&2$"7_8%_/L/%.E-\GG0@W\7FWR[.EM,O#;T4O?LW2C
M/*$#__KH^:=YKLZ>>?9\\.+@H'5]?+9M/S+ L1\X24_O07K2PGDUAE%';NJ?
M7Q'!-;!;<7>3UHP]U#36ZQ!SZSG<M/C&$SJ8<^Q.Y?>7;T@N#;(SF6[+3?SK
M^P^$N$%V$[?=Z9J5/&IZQCVHZF_83W/1E&'H6X/F)QGU;@@?^"/"V5@R\$I)
MQOC2FCM@F.0\EY[2]:\#ML%2WEJX;7MP:50\&1.Y-+%M!/L[KH9O :L>"&2<
MUP([OC4,^P51BDIQKCMFL#'>@;RJ?;4LM,*I),MVY]1O',Q)!QGG,J&R#M/V
M5Z9AG],4Y$@VG<%9Y44 H%)YIAL)(]-<$*-AY5$U-.V$<GX)]XV/Z0;W(EU;
M.5,0HFYJ0573TM@.\*^S6>YUVNA!O%[!;G+U9J[3$:8/A48O)$W9PO07:2T
M8V_C[*0H^/(U9U.149O\O0,.^V3EY\URR6YU-"B5B390Z7LW5"HV6;=\EJ2X
MH@NU*J=%BFON[*'F?SO/4RJH)'Q=M*[]ISS+#U8<=A]+LKFK; MV:JPV T]=
MY.D^B(SV0>1>U&1O'T3&>R"R^VAWS?N+W .)U2[X:8L,GV9!!M6.<FW;NK%I
MK:T>O!P,_ _PLL&;H-YXSKABHNK-6))0<6?OJND5&>LWZ0U^/3ZA*9ES=56#
M []IOZ<)FV=Q/>H")J(:U;3?07IZ([QZ,]&QF$CH@B:CJBNG8]/T=$-'K0YP
MV$;.S>%&,!^+N1' L#B8 LS'>F%Q_J=\>F@^%L.T]9Q(#_7IH3[6RX6,S >+
MX_:)]>'.-([#,(JP&1V-G I&V+Q%$7S=;)@V\,#B0*2_FVM\M?$*V5T'V)KN
MJA L4[P2L4SQN0;$/6_@$<?NU<;B@ >V"ECM0'QW'*@IMT\8PJIBVK K&$?B
M&$.@%MTU&D7([$3P<:\/=I6$81R[$<#<"L(00^!JQ!%, 6C D# TS\&MYU&P
M>DX%S=_+PS]02P,$%     @ (8"25I>*NQS     $P(   L   !?<F5L<R\N
M<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9
M>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:
M+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU
M1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*
MCMQC)8QQ8K3^-8+)#^Q^ %!+ P04    "  A@))669^I"^<(   B4P  #P
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
MYXW<QJG<N/1'"CJ^CI+U,A?5R\MM-*R&Y>USDDSIF)?.LVASVN+QM#WEE[\
M4$L#!!0    ( "& DE:%YZ[ =@,  'Y*   :    >&PO7W)E;',O=V]R:V)O
M;VLN>&UL+G)E;'/-VTM.&T$4A>&M("\@7;?>%0&C3)A&V8 %S4,!;+D[2K+[
M(#* <Y5!)JC_D=6V7#ZC3Y;=__G7^7&_/AR>E_N'XW+VZ^GQ>;G8W:_K\?,T
M+=?W\]-^^70XSL\OK]P>3D_[]>7R=#<=]]??]W?S%$.HT^G]&;O+\_=GGGW[
M?9S_Y\3#[>W#]?SE</WC:7Y>_W'P]/-P^K[<S_.Z._NV/]W-Z\5N^O7X]O0R
MO3[8IY>3=V=7-Q>[T]6-[::M!T49%+<?E&10VGY0ED%Y^T%%!I7M!U495+<?
MU&10VWY0ET%]^T%#!HWM!UE0&0-@DL,:H+4IUP;PVA1L XAM2K8!S#9%VP!J
MF[)M +=-X3: W*9T&\!N4[P-H'=4O2- [ZAZ1X#>T7W9!N@=5>\(T#NJWA&@
M=U2](T#OJ'I'@-Y1]8X O:/J'0%Z1]4[ O1.JG<"Z)U4[P30.ZG>":!W<C^6
M /1.JG<"Z)U4[P30.ZG>":!W4KT30.^D>B> WDGU3@"]L^J= 7IGU3L#],ZJ
M=P;HG57O#- [NQ^[ 7IGU3L#],ZJ=P;HG57O#- [J]X9H'=6O3- [Z)Z%X#>
M1?4N +V+ZET >A?5NP#T+JIW >A=W)^5 +V+ZET >A?5NP#T+JIW >A=5.\"
MT+NJWA6@=U6]*T#OJGI7@-Y5]:X O:OJ70%Z5]6[ O2N[F83@-Y5]:X O:OJ
M70%Z5]6[ O1NJG<#Z-U4[P;0NZG>#:!W4[T;0.^F>C> WDWU;@"]F^K= 'HW
M=[,@0.^F>C> WDWU;@"]N^K= 7IWU;L#].ZJ=P?HW57O#M"[J]X=H'=7O3M
M[ZYZ=X#>7?7N +V[N]D;H'=7O3M [Z%Z#X#>0_4> +V'ZCT >@_5>P#T'JKW
M .@]5.\!T'NHW@.@]U"]!T#OH7H/@-[#Q3H O2WX7 ?@MP47[ 2 X!9<LA,
MAEMPT4X *&[!93L!X+@%%^X$@.067+H3 )9;</%. &ANP>4[ >"Y!1?P!(+H
M/L!D%)@^P22([B-,1(7I,TQ$A^E#3$2)Z5-,1(OI8TQ$C>ES3$2/Z8-,1)'I
MDTQ"DVDNRC1"E6DNRS1"EVG19_4$T5V::80VTUR<:80ZTUR>:80^TUR@:81"
MTURB:1_::"[K[\=Y>5OT]]H-^$B]UY?WSF^?_WKY]TF/T"O7T_L9R^4?4$L#
M!!0    ( "& DE:%HW]XK@(  %%'   3    6T-O;G1E;G1?5'EP97-=+GAM
M;,W;S6Z;0!2&X5NQV$:&.0,,4,79M-VV6?0&J!G'R/R)F:3.W7=P?J16J=7(
ME?INC PSYQP8Z=E]U]\>)^M6Q[X;W";:>S]]2!*WW=N^=O$XV2$\V8US7_OP
M=[Y+IGI[J.]LHI4RR78<O!W\VB\UHIOK3W97WW=^]?D8;KMV'#;1;#L7K3X^
M+5QZ;:)ZFKIV6_OP/'D8FM^ZK)\[Q&'G:8W;MY.["@NBY,T.RY,_-WC>]_7!
MSG/;V-5M/?LO=1]6)<<N<?ZQLRX^7^*-&<?=KMW:9MS>]V%+[*;9UHW;6^O[
M+GXJ>G6^LP]?V#[]RL7]3V7.-0PK;^=Q<N'$9OO^=B]'LNQ>3Z&0G7U[_A5?
M.X;2%[^?74Z[L<U?]@Z?]\<X'T[GX9+3Y?)O_.L9O]9_YQP:,D<*F2.#S)%#
MYC"0.0K('"5DC@HRARC*(!11A4*J4$P5"JI"454HK K%5:' *A19-45639%5
M4V35%%DU159-D5539-44635%5DV1-:7(FE)D32FRIA194XJL*476E")K2I$U
MI<B:4F3-*+)F%%DSBJP91=:,(FM&D36CR)I19,THLF8467.*K#E%UIPB:TZ1
M-:?(FE-DS2FRYA19<XJL.4560Y'54&0U%%D-159#D=509#4460U%5D.1U5!D
M+2BR%A19"XJL!476@B)K09&UH,A:4&0M*+(6%%E+BJPE1=:2(FM)D;6DR%I2
M9"TILI8464N*K"5%UHHB:T61M:+(6E%DK2BR5A19*XJL%476BB)K19%5%(56
M411;15%P%471512%5U$47T51@!5%$584A5A1&&-!<2R,L9Q %B>1Q8ED<3)9
MG% 6)Y7%B65A<EF""68))IDEF&B68+)9@@EG"2:=)9AXEOS7?-;W<3S\X_:G
M:]S7[?#2/UF*NIN?4$L! A0#%     @ (8"25@=!36*!    L0   !
M         ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    "  A@))6
M.IF>[.X    K @  $0              @ &O    9&]C4')O<',O8V]R92YX
M;6Q02P$"% ,4    "  A@))6F5R<(Q &  "<)P  $P              @ ',
M 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( "& DE;D4$B8BP8
M #$>   8              " @0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX
M;6Q02P$"% ,4    "  A@))6F[4$@G$)   Y*@  &               @('.
M#@  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ (8"25F37
M(DIE @  D08  !@              ("!=1@  'AL+W=O<FMS:&5E=',O<VAE
M970S+GAM;%!+ 0(4 Q0    ( "& DE:; WSH"P<  *X>   8
M  " @1 ;  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    "  A
M@))6>]K( Z8$  !/$0  &               @(%1(@  >&PO=V]R:W-H965T
M<R]S:&5E=#4N>&UL4$L! A0#%     @ (8"25FVLQ2;N#@  57X  !@
M         ("!+2<  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0
M   ( "& DE8J#_&G)P,  &L*   8              " @5$V  !X;"]W;W)K
M<VAE971S+W-H965T-RYX;6Q02P$"% ,4    "  A@))6X_P4BH0.  "W3
M&               @(&N.0  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L!
M A0#%     @ (8"25CPJX0H- P    L  !@              ("!:$@  'AL
M+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( "& DE:7[Z:1,@D
M ,T6   9              " @:M+  !X;"]W;W)K<VAE971S+W-H965T,3 N
M>&UL4$L! A0#%     @ (8"25O>59+\]*   #H8  !D              ("!
M%%4  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    "  A@))6
M/9"XPY$$  "!#@  &0              @(&(?0  >&PO=V]R:W-H965T<R]S
M:&5E=#$R+GAM;%!+ 0(4 Q0    ( "& DE9DRR\X=0,  )X'   9
M      " @5""  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%
M  @ (8"25G5N--)' P  \@<  !D              ("!_(4  'AL+W=O<FMS
M:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    "  A@))6-9H4 \(#  #1"
M&0              @(%ZB0  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+
M 0(4 Q0    ( "& DE:Q:RZ!F@,  !()   9              " @7.-  !X
M;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ (8"25D=::/>$
M P  T D  !D              ("!1)$  'AL+W=O<FMS:&5E=',O<VAE970Q
M-RYX;6Q02P$"% ,4    "  A@))6((7X%+D,  !T*0  &0
M@('_E   >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( "&
MDE;#YC!F< 4  #$-   9              " @>^A  !X;"]W;W)K<VAE971S
M+W-H965T,3DN>&UL4$L! A0#%     @ (8"25C4J:<QP"0   1T  !D
M         ("!EJ<  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4
M    "  A@))6G8[1(FP'  !A%@  &0              @($]L0  >&PO=V]R
M:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( "& DE8FPLED"A   *DP
M   9              " @>"X  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL
M4$L! A0#%     @ (8"25B6++OK/ P  Z @  !D              ("!(<D
M 'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    "  A@))6U8UG
M5,@"  !^!@  &0              @($GS0  >&PO=V]R:W-H965T<R]S:&5E
M=#(T+GAM;%!+ 0(4 Q0    ( "& DE8C#UKHA 0  %(+   9
M  " @2;0  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @
M(8"25H^^N[\&!   , D  !D              ("!X=0  'AL+W=O<FMS:&5E
M=',O<VAE970R-BYX;6Q02P$"% ,4    "  A@))6[!^RP D4  #M00  &0
M            @($>V0  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4
M Q0    ( "& DE9+4 R6& 0  /T+   9              " @5[M  !X;"]W
M;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ (8"25G:$.['\!@
MEA4  !D              ("!K?$  'AL+W=O<FMS:&5E=',O<VAE970R.2YX
M;6Q02P$"% ,4    "  A@))6U'9"<M(?  #;AP  &0              @('@
M^   >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( "& DE:D
MBO=%N0\  &8Q   9              " @>D8 0!X;"]W;W)K<VAE971S+W-H
M965T,S$N>&UL4$L! A0#%     @ (8"25O&?'T%& @  < 4  !D
M     ("!V2@! 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4
M"  A@))62-F1J:T#  !H"   &0              @(%6*P$ >&PO=V]R:W-H
M965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( "& DE:6R!U7PP<  +L4   9
M              " @3HO 0!X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L!
M A0#%     @ (8"25N#S('.2 @  I 4  !D              ("!-#<! 'AL
M+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    "  A@))6\2%QM(,,
M  ".)P  &0              @('].0$ >&PO=V]R:W-H965T<R]S:&5E=#,V
M+GAM;%!+ 0(4 Q0    ( "& DE;43< XCU,  $\T 0 9              "
M@;=& 0!X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ (8"2
M5FTJ10A/!@  F14  !D              ("!?9H! 'AL+W=O<FMS:&5E=',O
M<VAE970S."YX;6Q02P$"% ,4    "  A@))6['):V:\$  "*$@  &0
M        @($#H0$ >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0
M   ( "& DE9U1;>(>@(  +L%   9              " @>FE 0!X;"]W;W)K
M<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ (8"25C:DG_"] @  A08
M !D              ("!FJ@! 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q0
M2P$"% ,4    "  A@))6>-&6F4$#  !3!P  &0              @(&.JP$
M>&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( "& DE9\$IM@
MJP(  &L&   9              " @0:O 0!X;"]W;W)K<VAE971S+W-H965T
M-#,N>&UL4$L! A0#%     @ (8"25@I^NUOA @  '@@  !D
M ("!Z+$! 'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    "  A
M@))6QA'=DRT$  #H#P  &0              @($ M0$ >&PO=V]R:W-H965T
M<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( "& DE:.Y\><#@,  $4'   9
M          " @62Y 0!X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#
M%     @ (8"25O@/\$^P P  :PD  !D              ("!J;P! 'AL+W=O
M<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    "  A@))6G&!>Q]$%  !R
M$P  &0              @(&0P $ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM
M;%!+ 0(4 Q0    ( "& DE:W@FJLFP0  'H-   9              " @9C&
M 0!X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ (8"25K9G
M6;/  @  /08  !D              ("!:LL! 'AL+W=O<FMS:&5E=',O<VAE
M970U,"YX;6Q02P$"% ,4    "  A@))6V7K0J,4)  !7(   &0
M    @(%AS@$ >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    (
M "& DE9:CYK!"00  .L+   9              " @5W8 0!X;"]W;W)K<VAE
M971S+W-H965T-3(N>&UL4$L! A0#%     @ (8"25K8:4;JK @  !P<  !D
M             ("!G=P! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"
M% ,4    "  A@))6)E;F@MH)   Z(   &0              @(%_WP$ >&PO
M=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( "& DE;2J$0SO@(
M %(&   9              " @9#I 0!X;"]W;W)K<VAE971S+W-H965T-34N
M>&UL4$L! A0#%     @ (8"25F/.XDT"!0  +QH  !D              ("!
MA>P! 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    "  A@))6
M4$1+Z/H"   !"0  &0              @(&^\0$ >&PO=V]R:W-H965T<R]S
M:&5E=#4W+GAM;%!+ 0(4 Q0    ( "& DE9_8E35]@0  %@E   9
M      " @>_T 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%
M  @ (8"25@?+TRWE @  #0L  !D              ("!'/H! 'AL+W=O<FMS
M:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    "  A@))6W>$$F0H#  #D"
M&0              @($X_0$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+
M 0(4 Q0    ( "& DE8^@[+\M (  /4'   9              " @7D  @!X
M;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#%     @ (8"25O:>N:93
M!   '!0  !D              ("!9 ," 'AL+W=O<FMS:&5E=',O<VAE970V
M,BYX;6Q02P$"% ,4    "  A@))6EAV>U@8$  !2%   &0
M@('N!P( >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( "&
MDE8[)>CO;@,  )P*   9              " @2L, @!X;"]W;W)K<VAE971S
M+W-H965T-C0N>&UL4$L! A0#%     @ (8"25CO_#.?- @  LP<  !D
M         ("!T \" 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4
M    "  A@))6G=F9@4D$  "5%   &0              @('4$@( >&PO=V]R
M:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    ( "& DE9:A[DC5PD  'Q?
M   9              " @507 @!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL
M4$L! A0#%     @ (8"25C4,,5   P  /@T  !D              ("!XB "
M 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"% ,4    "  A@))6=(X,
M:#$#  #I#0  &0              @($9) ( >&PO=V]R:W-H965T<R]S:&5E
M=#8Y+GAM;%!+ 0(4 Q0    ( "& DE93*)QCS 8  #DL   9
M  " @8$G @!X;"]W;W)K<VAE971S+W-H965T-S N>&UL4$L! A0#%     @
M(8"25LD$A-!X P  7 P  !D              ("!A"X" 'AL+W=O<FMS:&5E
M=',O<VAE970W,2YX;6Q02P$"% ,4    "  A@))6%\RI+(\#  !I#   &0
M            @($S,@( >&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4
M Q0    ( "& DE8_[M )1@4  $ A   9              " @?DU @!X;"]W
M;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%     @ (8"25O<>NAHQ!
M,!,  !D              ("!=CL" 'AL+W=O<FMS:&5E=',O<VAE970W-"YX
M;6Q02P$"% ,4    "  A@))6@#6.;]D$  #=&P  &0              @('>
M/P( >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( "& DE:O
M*"BI=P(  $X%   9              " @>Y$ @!X;"]W;W)K<VAE971S+W-H
M965T-S8N>&UL4$L! A0#%     @ (8"25OG(27%"!   )A@  !D
M     ("!G$<" 'AL+W=O<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4
M"  A@))6^*%\<Q$$   2%@  &0              @($53 ( >&PO=V]R:W-H
M965T<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( "& DE8XMK-130,  /<-   9
M              " @5U0 @!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L!
M A0#%     @ (8"25E*TH^@9 P  : D  !D              ("!X5," 'AL
M+W=O<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4    "  A@))6)K&6$*<#
M   7#@  &0              @($Q5P( >&PO=V]R:W-H965T<R]S:&5E=#@Q
M+GAM;%!+ 0(4 Q0    ( "& DE9=XO,HSP8    X   9              "
M@0]; @!X;"]W;W)K<VAE971S+W-H965T.#(N>&UL4$L! A0#%     @ (8"2
M5A_)?'_S#   P:,  !D              ("!%6(" 'AL+W=O<FMS:&5E=',O
M<VAE970X,RYX;6Q02P$"% ,4    "  A@))6MC+2SU(#  #2"P  &0
M        @($_;P( >&PO=V]R:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0
M   ( "& DE9V[^-"R (  ',(   9              " @<AR @!X;"]W;W)K
M<VAE971S+W-H965T.#4N>&UL4$L! A0#%     @ (8"25@+&$-@L P  ]PD
M !D              ("!QW4" 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q0
M2P$"% ,4    "  A@))6EVK8&9P"  #]!P  &0              @($J>0(
M>&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;%!+ 0(4 Q0    ( "& DE:S/SL.
M>P(  +0&   9              " @?U[ @!X;"]W;W)K<VAE971S+W-H965T
M.#@N>&UL4$L! A0#%     @ (8"25DRI/4QZ @  TP8  !D
M ("!KWX" 'AL+W=O<FMS:&5E=',O<VAE970X.2YX;6Q02P$"% ,4    "  A
M@))6_*OSU%("  #E!0  &0              @(%@@0( >&PO=V]R:W-H965T
M<R]S:&5E=#DP+GAM;%!+ 0(4 Q0    ( "& DE8O O\EI (  "\&   9
M          " @>F# @!X;"]W;W)K<VAE971S+W-H965T.3$N>&UL4$L! A0#
M%     @ (8"25J&N;OYU @  L08  !D              ("!Q(8" 'AL+W=O
M<FMS:&5E=',O<VAE970Y,BYX;6Q02P$"% ,4    "  A@))6(LZ_D$8"   S
M!0  &0              @(%PB0( >&PO=V]R:W-H965T<R]S:&5E=#DS+GAM
M;%!+ 0(4 Q0    ( "& DE8@J?.1; ,  +,-   9              " @>V+
M @!X;"]W;W)K<VAE971S+W-H965T.30N>&UL4$L! A0#%     @ (8"25GM8
M#R'5.P  #  % !D              ("!D(\" 'AL+W=O<FMS:&5E=',O<VAE
M970Y-2YX;6Q02P$"% ,4    "  A@))6(!,$PXT"  #'!@  &0
M    @(&<RP( >&PO=V]R:W-H965T<R]S:&5E=#DV+GAM;%!+ 0(4 Q0    (
M "& DE9%;F_Q\P,  %41   9              " @6#. @!X;"]W;W)K<VAE
M971S+W-H965T.3<N>&UL4$L! A0#%     @ (8"25@LA.,4H @  !P4  !D
M             ("!BM(" 'AL+W=O<FMS:&5E=',O<VAE970Y."YX;6Q02P$"
M% ,4    "  A@))6S76RT!<#  "D"0  &0              @('IU ( >&PO
M=V]R:W-H965T<R]S:&5E=#DY+GAM;%!+ 0(4 Q0    ( "& DE:_DV8[00(
M -($   :              " @3?8 @!X;"]W;W)K<VAE971S+W-H965T,3 P
M+GAM;%!+ 0(4 Q0    ( "& DE:!J>^0Y 4  -X<   :              "
M@;#: @!X;"]W;W)K<VAE971S+W-H965T,3 Q+GAM;%!+ 0(4 Q0    ( "&
MDE97[5!BR0D  (]5   :              " @<S@ @!X;"]W;W)K<VAE971S
M+W-H965T,3 R+GAM;%!+ 0(4 Q0    ( "& DE8=B^*/X @  '%)   :
M          " @<WJ @!X;"]W;W)K<VAE971S+W-H965T,3 S+GAM;%!+ 0(4
M Q0    ( "& DE9R9HXV8 <  "HN   :              " @>7S @!X;"]W
M;W)K<VAE971S+W-H965T,3 T+GAM;%!+ 0(4 Q0    ( "& DE:,9^T=9P8
M $,C   :              " @7W[ @!X;"]W;W)K<VAE971S+W-H965T,3 U
M+GAM;%!+ 0(4 Q0    ( "& DE8@K!,,40,  &T-   :              "
M@1P" P!X;"]W;W)K<VAE971S+W-H965T,3 V+GAM;%!+ 0(4 Q0    ( "&
MDE970M8]F@0  $ 2   :              " @:4% P!X;"]W;W)K<VAE971S
M+W-H965T,3 W+GAM;%!+ 0(4 Q0    ( "& DE;J]S*4SB<  'DD P :
M          " @7<* P!X;"]W;W)K<VAE971S+W-H965T,3 X+GAM;%!+ 0(4
M Q0    ( "& DE;Y^L>Z$@,  %H*   :              " @7TR P!X;"]W
M;W)K<VAE971S+W-H965T,3 Y+GAM;%!+ 0(4 Q0    ( "& DE:TNSPA^B4
M (!V P :              " @<<U P!X;"]W;W)K<VAE971S+W-H965T,3$P
M+GAM;%!+ 0(4 Q0    ( "& DE;:AP^!(0(  * $   :              "
M@?E; P!X;"]W;W)K<VAE971S+W-H965T,3$Q+GAM;%!+ 0(4 Q0    ( "&
MDE8#9&(WNP4  $\=   :              " @5)> P!X;"]W;W)K<VAE971S
M+W-H965T,3$R+GAM;%!+ 0(4 Q0    ( "& DE8W0([7P P  #)]   :
M          " @45D P!X;"]W;W)K<VAE971S+W-H965T,3$S+GAM;%!+ 0(4
M Q0    ( "& DE9N::9@"P<  . P   :              " @3UQ P!X;"]W
M;W)K<VAE971S+W-H965T,3$T+GAM;%!+ 0(4 Q0    ( "& DE9E<60Y#P0
M ,H3   :              " @8!X P!X;"]W;W)K<VAE971S+W-H965T,3$U
M+GAM;%!+ 0(4 Q0    ( "& DE9AS#9H004  (T<   :              "
M@<=\ P!X;"]W;W)K<VAE971S+W-H965T,3$V+GAM;%!+ 0(4 Q0    ( "&
MDE:?6E2?OPD  (%?   :              " @4"" P!X;"]W;W)K<VAE971S
M+W-H965T,3$W+GAM;%!+ 0(4 Q0    ( "& DE8SY@&)$0(  /8$   :
M          " @3>, P!X;"]W;W)K<VAE971S+W-H965T,3$X+GAM;%!+ 0(4
M Q0    ( "& DE9?P!N#DP(  /T%   :              " @8". P!X;"]W
M;W)K<VAE971S+W-H965T,3$Y+GAM;%!+ 0(4 Q0    ( "& DE8&53UP=P@
M $ K   :              " @4N1 P!X;"]W;W)K<VAE971S+W-H965T,3(P
M+GAM;%!+ 0(4 Q0    ( "& DE9Q(?WB_P(  /0*   :              "
M@?J9 P!X;"]W;W)K<VAE971S+W-H965T,3(Q+GAM;%!+ 0(4 Q0    ( "&
MDE:&[\G(*@@  -TJ   :              " @3&= P!X;"]W;W)K<VAE971S
M+W-H965T,3(R+GAM;%!+ 0(4 Q0    ( "& DE;%>'=2P ,  -D-   :
M          " @9.E P!X;"]W;W)K<VAE971S+W-H965T,3(S+GAM;%!+ 0(4
M Q0    ( "& DE8_]U*D=PT   Y1   :              " @8NI P!X;"]W
M;W)K<VAE971S+W-H965T,3(T+GAM;%!+ 0(4 Q0    ( "& DE:U*;IF7@(
M $L%   :              " @3JW P!X;"]W;W)K<VAE971S+W-H965T,3(U
M+GAM;%!+ 0(4 Q0    ( "& DE;D9\\G= (  -D%   :              "
M@="Y P!X;"]W;W)K<VAE971S+W-H965T,3(V+GAM;%!+ 0(4 Q0    ( "&
MDE8,AGXF' (  /8$   :              " @7R\ P!X;"]W;W)K<VAE971S
M+W-H965T,3(W+GAM;%!+ 0(4 Q0    ( "& DE:-Z0II= ,  &L6   -
M          "  ="^ P!X;"]S='EL97,N>&UL4$L! A0#%     @ (8"25I>*
MNQS     $P(   L              ( !;\(# %]R96QS+RYR96QS4$L! A0#
M%     @ (8"25EF?J0OG"   (E,   \              ( !6,,# 'AL+W=O
M<FMB;V]K+GAM;%!+ 0(4 Q0    ( "& DE:%YZ[ =@,  'Y*   :
M      "  6S, P!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0
M   ( "& DE:%HW]XK@(  %%'   3              "  1K0 P!;0V]N=&5N
B=%]4>7!E<UTN>&UL4$L%!@    "' (< 1"4  /G2 P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>151
<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>152
<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>153
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>671</ContextCount>
  <ElementCount>644</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>240</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>16</UnitCount>
  <MyReports>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities</Role>
      <ShortName>ORGANIZATION AND PRINCIPAL ACTIVITIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses</Role>
      <ShortName>ALLOWANCE FOR CREDIT LOSSES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10401 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10501 - Disclosure - PROJECT ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssets</Role>
      <ShortName>PROJECT ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10701 - Disclosure - SOLAR POWER SYSTEMS, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>10801 - Disclosure - INTANGIBLE ASSETS, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet</Role>
      <ShortName>INTANGIBLE ASSETS, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>10901 - Disclosure - FAIR VALUE MEASUREMENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurement</Role>
      <ShortName>FAIR VALUE MEASUREMENT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11001 - Disclosure - VARIABLE INTEREST ENTITIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntities</Role>
      <ShortName>VARIABLE INTEREST ENTITIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11101 - Disclosure - INVESTMENTS IN AFFILIATES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates</Role>
      <ShortName>INVESTMENTS IN AFFILIATES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11201 - Disclosure - LEASE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLease</Role>
      <ShortName>LEASE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11301 - Disclosure - BORROWINGS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowings</Role>
      <ShortName>BORROWINGS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11401 - Disclosure - SHORT-TERM NOTES PAYABLE</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable</Role>
      <ShortName>SHORT-TERM NOTES PAYABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11501 - Disclosure - ACCRUED WARRANTY COSTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts</Role>
      <ShortName>ACCRUED WARRANTY COSTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>11601 - Disclosure - RESTRICTED NET ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets</Role>
      <ShortName>RESTRICTED NET ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>11701 - Disclosure - CONVERTIBLE NOTES</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureConvertibleNotes</Role>
      <ShortName>CONVERTIBLE NOTES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>11801 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>11901 - Disclosure - EARNINGS PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShare</Role>
      <ShortName>EARNINGS PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions</Role>
      <ShortName>RELATED PARTY BALANCES AND TRANSACTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>12101 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>12201 - Disclosure - SEGMENT INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformation</Role>
      <ShortName>SEGMENT INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>12301 - Disclosure - MAJOR CUSTOMERS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureMajorCustomers</Role>
      <ShortName>MAJOR CUSTOMERS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>12401 - Disclosure - EMPLOYEE BENEFIT PLANS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans</Role>
      <ShortName>EMPLOYEE BENEFIT PLANS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>12501 - Disclosure - SHARE-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensation</Role>
      <ShortName>SHARE-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>12601 - Disclosure - SUBSEQUENT EVENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSubsequentEvent</Role>
      <ShortName>SUBSEQUENT EVENT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>12701 - Disclosure - Additional Information - Financial Statement Schedule I</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI</Role>
      <ShortName>Additional Information - Financial Statement Schedule I</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables</Role>
      <ShortName>ALLOWANCE FOR CREDIT LOSSES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>30403 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInventories</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>30503 - Disclosure - PROJECT ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssetsTables</Role>
      <ShortName>PROJECT ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureProjectAssets</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables</Role>
      <ShortName>INTANGIBLE ASSETS, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables</Role>
      <ShortName>FAIR VALUE MEASUREMENT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureFairValueMeasurement</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables</Role>
      <ShortName>VARIABLE INTEREST ENTITIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureVariableInterestEntities</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables</Role>
      <ShortName>INVESTMENTS IN AFFILIATES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>31203 - Disclosure - LEASE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTables</Role>
      <ShortName>LEASE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureLease</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>31303 - Disclosure - BORROWINGS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsTables</Role>
      <ShortName>BORROWINGS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureBorrowings</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables</Role>
      <ShortName>ACCRUED WARRANTY COSTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>31803 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>31903 - Disclosure - EARNINGS PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables</Role>
      <ShortName>EARNINGS PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEarningsPerShare</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>32203 - Disclosure - SEGMENT INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>SEGMENT INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables</Role>
      <ShortName>SHARE-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureShareBasedCompensation</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails</Role>
      <ShortName>ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails</Role>
      <ShortName>ALLOWANCE FOR CREDIT LOSSES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>40401 - Disclosure - INVENTORIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventoriesDetails</Role>
      <ShortName>INVENTORIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInventoriesTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>40501 - Disclosure - PROJECT ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails</Role>
      <ShortName>PROJECT ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureProjectAssetsTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails</Role>
      <ShortName>INTANGIBLE ASSETS, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Interest rate swap (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>40904 - Disclosure - FAIR VALUE MEASUREMENT - Marketable securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Marketable securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>40905 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Carrying value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails</Role>
      <ShortName>VARIABLE INTEREST ENTITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES - Other investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>41201 - Disclosure - LEASE - Lease expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails</Role>
      <ShortName>LEASE - Lease expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>41202 - Disclosure - LEASE - Supplement balance sheet information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails</Role>
      <ShortName>LEASE - Supplement balance sheet information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>41203 - Disclosure - LEASE - Cash flow (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails</Role>
      <ShortName>LEASE - Cash flow (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>41204 - Disclosure - LEASE - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails</Role>
      <ShortName>LEASE - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>41205 - Disclosure - LEASE - Operating leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Operating leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>41206 - Disclosure - LEASE - Operating leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Operating leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>41207 - Disclosure - LEASE - Finance leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Finance leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>41208 - Disclosure - LEASE - Finance leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Finance leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>41209 - Disclosure - LEASE - Total leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Total leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>41210 - Disclosure - LEASE - Total leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Total leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>41211 - Disclosure - LEASE - Total leases - Summary (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails</Role>
      <ShortName>LEASE - Total leases - Summary (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>41301 - Disclosure - BORROWINGS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsDetails</Role>
      <ShortName>BORROWINGS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureBorrowingsTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>41302 - Disclosure - BORROWINGS - Long term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails</Role>
      <ShortName>BORROWINGS - Long term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>41303 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails</Role>
      <ShortName>BORROWINGS - Long term narrative and interest expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails</Role>
      <ShortName>SHORT-TERM NOTES PAYABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails</Role>
      <ShortName>ACCRUED WARRANTY COSTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>41601 - Disclosure - RESTRICTED NET ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails</Role>
      <ShortName>RESTRICTED NET ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets</ParentRole>
      <Position>100</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>41701 - Disclosure - CONVERTIBLE NOTES (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails</Role>
      <ShortName>CONVERTIBLE NOTES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureConvertibleNotes</ParentRole>
      <Position>101</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails</Role>
      <ShortName>INCOME TAXES - Provision for income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails</Role>
      <ShortName>INCOME TAXES - Domestic federal statutory tax rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>INCOME TAXES - Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>41804 - Disclosure - INCOME TAXES - Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails</Role>
      <ShortName>INCOME TAXES - Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails</Role>
      <ShortName>INCOME TAXES - Movement of the valuation allowance (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>41901 - Disclosure - EARNINGS PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails</Role>
      <ShortName>EARNINGS PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables</ParentRole>
      <Position>107</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails</Role>
      <ShortName>RELATED PARTY BALANCES AND TRANSACTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions</ParentRole>
      <Position>108</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES - Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>110</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails</Role>
      <ShortName>SEGMENT INFORMATION (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>111</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>42202 - Disclosure - SEGMENT INFORMATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails</Role>
      <ShortName>SEGMENT INFORMATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>112</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails</Role>
      <ShortName>SEGMENT INFORMATION - Different geographic locations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>113</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails</Role>
      <ShortName>SEGMENT INFORMATION - Each product or service (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>114</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails</Role>
      <ShortName>EMPLOYEE BENEFIT PLANS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans</ParentRole>
      <Position>115</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails</Role>
      <ShortName>SHARE-BASED COMPENSATION - Options to Employees (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>116</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails</Role>
      <ShortName>SHARE-BASED COMPENSATION - RSUs to Employees (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>117</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>42601 - Disclosure - SUBSEQUENT EVENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails</Role>
      <ShortName>SUBSEQUENT EVENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSubsequentEvent</ParentRole>
      <Position>118</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>42701 - Disclosure - Financial Statement Schedule I (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails</Role>
      <ShortName>Financial Statement Schedule I (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>119</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>120</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>121</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>122</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>123</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>124</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>9940901 - Disclosure - FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>125</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>9941102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>126</Position>
    </Report>
    <Report instance="csiq-20221231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>9941302 - Disclosure - BORROWINGS - Short term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails</Role>
      <ShortName>BORROWINGS - Short term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>127</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept DueFromRelatedPartiesCurrent in us-gaap/2022 used in 5 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 161, 208, 224</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept DueFromRelatedPartiesNoncurrent in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 161, 208</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept DueToRelatedPartiesCurrent in us-gaap/2022 used in 4 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 161, 224</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept AccountingStandardsUpdate202004Member in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 186</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept LondonInterbankOfferedRateLIBORMember in us-gaap/2022 used in 1 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 186</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept RevenueFromRelatedParties in us-gaap/2022 used in 41 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. csiq-20221231x20f.htm 209</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 22 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:CommonStockSharesIssued, us-gaap:CommonStockSharesOutstanding, us-gaap:EquityMethodInvestmentOwnershipPercentage, us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage -  csiq-20221231x20f.htm 9</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 5 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies, us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList -  csiq-20221231x20f.htm 9</Log>
  </Logs>
  <InputFiles>
    <File doctype="20-F" original="csiq-20221231x20f.htm">csiq-20221231x20f.htm</File>
    <File>csiq-20221231.xsd</File>
    <File>csiq-20221231_cal.xml</File>
    <File>csiq-20221231_def.xml</File>
    <File>csiq-20221231_lab.xml</File>
    <File>csiq-20221231_pre.xml</File>
    <File>csiq-20221231xex12d1.htm</File>
    <File>csiq-20221231xex12d2.htm</File>
    <File>csiq-20221231xex13d1.htm</File>
    <File>csiq-20221231xex13d2.htm</File>
    <File>csiq-20221231xex15d1.htm</File>
    <File>csiq-20221231xex15d2.htm</File>
    <File>csiq-20221231xex1d1.htm</File>
    <File>csiq-20221231xex2d1.htm</File>
    <File>csiq-20221231xex2d2.htm</File>
    <File>csiq-20221231xex8d1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1803">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="41">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>156
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "csiq-20221231x20f.htm": {
   "axisCustom": 0,
   "axisStandard": 45,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 1803,
    "http://xbrl.sec.gov/dei/2022": 41
   },
   "contextCount": 671,
   "dts": {
    "calculationLink": {
     "local": [
      "csiq-20221231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "csiq-20221231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "csiq-20221231x20f.htm"
     ]
    },
    "labelLink": {
     "local": [
      "csiq-20221231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "csiq-20221231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "csiq-20221231.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/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 1102,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 30,
    "http://xbrl.sec.gov/dei/2022": 4,
    "total": 34
   },
   "keyCustom": 171,
   "keyStandard": 473,
   "memberCustom": 129,
   "memberStandard": 99,
   "nsprefix": "csiq",
   "nsuri": "http://www.canadiansolar.com/20221231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R100": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - RESTRICTED NET ASSETS (Details)",
     "menuCat": "Details",
     "order": "100",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails",
     "shortName": "RESTRICTED NET ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R101": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41701 - Disclosure - CONVERTIBLE NOTES (Details)",
     "menuCat": "Details",
     "order": "101",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
     "shortName": "CONVERTIBLE NOTES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R102": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)",
     "menuCat": "Details",
     "order": "102",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
     "shortName": "INCOME TAXES - Provision for income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R103": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "menuCat": "Details",
     "order": "103",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
     "shortName": "INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R104": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "menuCat": "Details",
     "order": "104",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R105": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41804 - Disclosure - INCOME TAXES - Reconciliation (Details)",
     "menuCat": "Details",
     "order": "105",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
     "shortName": "INCOME TAXES - Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R106": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)",
     "menuCat": "Details",
     "order": "106",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails",
     "shortName": "INCOME TAXES - Movement of the valuation allowance (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_40uYLZ12dUGOEO51ByAiPA",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R107": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41901 - Disclosure - EARNINGS PER SHARE (Details)",
     "menuCat": "Details",
     "order": "107",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
     "shortName": "EARNINGS PER SHARE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R108": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DueFromRelatedPartiesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "menuCat": "Details",
     "order": "108",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_dei_LegalEntityAxis_csiq_KoreanInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_lTNxmIcDc0eLo7Io5oetDw",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:MinorityInterestOwnershipPercentageByParent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R109": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "menuCat": "Details",
     "order": "109",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_dSpuWyVmXESVEc13H7K_Vw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R110": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "menuCat": "Details",
     "order": "110",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_8cogIKekPUmobnRIGw4wVg",
      "decimals": "4",
      "first": true,
      "lang": null,
      "name": "csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R111": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)",
     "menuCat": "Details",
     "order": "111",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
     "shortName": "SEGMENT INFORMATION (Narrative) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R112": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_segment_d5Rum0XaJEayqj34jyOisg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42202 - Disclosure - SEGMENT INFORMATION (Details)",
     "menuCat": "Details",
     "order": "112",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
     "shortName": "SEGMENT INFORMATION (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_HO3dJeuVd0ecOKZnBakiRQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R113": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)",
     "menuCat": "Details",
     "order": "113",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
     "shortName": "SEGMENT INFORMATION - Different geographic locations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R114": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)",
     "menuCat": "Details",
     "order": "114",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
     "shortName": "SEGMENT INFORMATION - Each product or service (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2LIJo_NSmkS6-FeO6asPJA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AssetImpairmentCharges",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R115": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)",
     "menuCat": "Details",
     "order": "115",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
     "shortName": "EMPLOYEE BENEFIT PLANS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R116": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "menuCat": "Details",
     "order": "116",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_9_30_2010_qTjThEWixU6FPy83JsT70w",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug",
      "xsiNil": "false"
     }
    },
    "R117": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "menuCat": "Details",
     "order": "117",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R118": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42601 - Disclosure - SUBSEQUENT EVENT (Details)",
     "menuCat": "Details",
     "order": "118",
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
     "shortName": "SUBSEQUENT EVENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R119": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42701 - Disclosure - Financial Statement Schedule I (Details)",
     "menuCat": "Details",
     "order": "119",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
     "shortName": "Financial Statement Schedule I (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "lang": null,
      "name": "csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R120": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "menuCat": "Details",
     "order": "120",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R121": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "menuCat": "Details",
     "order": "121",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yffwb9bgA0qQnrkApfwIVg",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g",
      "xsiNil": "false"
     }
    },
    "R122": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "menuCat": "Details",
     "order": "122",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R123": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "menuCat": "Details",
     "order": "123",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1DG5BomB-0qIZhCN22_TPA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R124": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "menuCat": "Details",
     "order": "124",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_yBA4zac4W0apMxlF0IflGQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R125": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "9940901 - Disclosure - FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details)",
     "menuCat": "Details",
     "order": "125",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Schedule of financial assets and liabilities measured at fair value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R126": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2021_To_12_31_2021_39JwLB5NskS3Z9M51L1xnw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "9941102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "menuCat": "Details",
     "order": "126",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R127": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "9941302 - Disclosure - BORROWINGS - Short term (Details)",
     "menuCat": "Details",
     "order": "127",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
     "shortName": "BORROWINGS - Short term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - INVENTORIES",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.canadiansolar.com/role/DisclosureInventories",
     "shortName": "INVENTORIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - PROJECT ASSETS",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssets",
     "shortName": "PROJECT ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - SOLAR POWER SYSTEMS, NET",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet",
     "shortName": "SOLAR POWER SYSTEMS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - INTANGIBLE ASSETS, NET",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet",
     "shortName": "INTANGIBLE ASSETS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - FAIR VALUE MEASUREMENT",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement",
     "shortName": "FAIR VALUE MEASUREMENT",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - VARIABLE INTEREST ENTITIES",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities",
     "shortName": "VARIABLE INTEREST ENTITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ValueAddedTaxReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - INVESTMENTS IN AFFILIATES",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates",
     "shortName": "INVESTMENTS IN AFFILIATES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - LEASE",
     "menuCat": "Notes",
     "order": "21",
     "role": "http://www.canadiansolar.com/role/DisclosureLease",
     "shortName": "LEASE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - BORROWINGS",
     "menuCat": "Notes",
     "order": "22",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowings",
     "shortName": "BORROWINGS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - SHORT-TERM NOTES PAYABLE",
     "menuCat": "Notes",
     "order": "23",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable",
     "shortName": "SHORT-TERM NOTES PAYABLE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - ACCRUED WARRANTY COSTS",
     "menuCat": "Notes",
     "order": "24",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts",
     "shortName": "ACCRUED WARRANTY COSTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - RESTRICTED NET ASSETS",
     "menuCat": "Notes",
     "order": "25",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets",
     "shortName": "RESTRICTED NET ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11701 - Disclosure - CONVERTIBLE NOTES",
     "menuCat": "Notes",
     "order": "26",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotes",
     "shortName": "CONVERTIBLE NOTES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11801 - Disclosure - INCOME TAXES",
     "menuCat": "Notes",
     "order": "27",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxes",
     "shortName": "INCOME TAXES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11901 - Disclosure - EARNINGS PER SHARE",
     "menuCat": "Notes",
     "order": "28",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShare",
     "shortName": "EARNINGS PER SHARE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS",
     "menuCat": "Notes",
     "order": "29",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "Unit_Divide_USD_shares_D5XTxw16YUWRbkTB1hJU6g",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12101 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "menuCat": "Notes",
     "order": "30",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12201 - Disclosure - SEGMENT INFORMATION",
     "menuCat": "Notes",
     "order": "31",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformation",
     "shortName": "SEGMENT INFORMATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12301 - Disclosure - MAJOR CUSTOMERS",
     "menuCat": "Notes",
     "order": "32",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomers",
     "shortName": "MAJOR CUSTOMERS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12401 - Disclosure - EMPLOYEE BENEFIT PLANS",
     "menuCat": "Notes",
     "order": "33",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans",
     "shortName": "EMPLOYEE BENEFIT PLANS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12501 - Disclosure - SHARE-BASED COMPENSATION",
     "menuCat": "Notes",
     "order": "34",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation",
     "shortName": "SHARE-BASED COMPENSATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12601 - Disclosure - SUBSEQUENT EVENT",
     "menuCat": "Notes",
     "order": "35",
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEvent",
     "shortName": "SUBSEQUENT EVENT",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12701 - Disclosure - Additional Information - Financial Statement Schedule I",
     "menuCat": "Notes",
     "order": "36",
     "role": "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI",
     "shortName": "Additional Information - Financial Statement Schedule I",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "menuCat": "Policies",
     "order": "37",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "menuCat": "Tables",
     "order": "38",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "menuCat": "Tables",
     "order": "39",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:SellingAndMarketingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - INVENTORIES (Tables)",
     "menuCat": "Tables",
     "order": "40",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesTables",
     "shortName": "INVENTORIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - PROJECT ASSETS (Tables)",
     "menuCat": "Tables",
     "order": "41",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables",
     "shortName": "PROJECT ASSETS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "menuCat": "Tables",
     "order": "42",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)",
     "menuCat": "Tables",
     "order": "43",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables",
     "shortName": "SOLAR POWER SYSTEMS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)",
     "menuCat": "Tables",
     "order": "44",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables",
     "shortName": "INTANGIBLE ASSETS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)",
     "menuCat": "Tables",
     "order": "45",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables",
     "shortName": "FAIR VALUE MEASUREMENT (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)",
     "menuCat": "Tables",
     "order": "46",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables",
     "shortName": "VARIABLE INTEREST ENTITIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)",
     "menuCat": "Tables",
     "order": "47",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables",
     "shortName": "INVESTMENTS IN AFFILIATES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - LEASE (Tables)",
     "menuCat": "Tables",
     "order": "48",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTables",
     "shortName": "LEASE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - BORROWINGS (Tables)",
     "menuCat": "Tables",
     "order": "49",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsTables",
     "shortName": "BORROWINGS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)",
     "menuCat": "Tables",
     "order": "50",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables",
     "shortName": "ACCRUED WARRANTY COSTS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31803 - Disclosure - INCOME TAXES (Tables)",
     "menuCat": "Tables",
     "order": "51",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables",
     "shortName": "INCOME TAXES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31903 - Disclosure - EARNINGS PER SHARE (Tables)",
     "menuCat": "Tables",
     "order": "52",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "menuCat": "Tables",
     "order": "53",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_fWDbnshPfkiZM2YDcrTPrw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32203 - Disclosure - SEGMENT INFORMATION (Tables)",
     "menuCat": "Tables",
     "order": "54",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables",
     "shortName": "SEGMENT INFORMATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)",
     "menuCat": "Tables",
     "order": "55",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables",
     "shortName": "SHARE-BASED COMPENSATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:SharePurchaseProceedsFromThirdPartyInvestors",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ConsolidationPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GuaranteeObligationsMaximumExposure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ConsolidationPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_1OhM4xXD00qqSDf5XYadeg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GuaranteeObligationsMaximumExposure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_kH_rQUHwhEeJveNHia3XkA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_rl9QS8jdyEitgH-0kUGUKw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_T6V2_Ds1p06ByyoQdO1ItA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairmentOfInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:AssetRetirementObligationsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AssetRetirementObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "menuCat": "Details",
     "order": "61",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "menuCat": "Details",
     "order": "62",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfElectricityRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_o0IX1meMEke3jS9fIILFvg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "menuCat": "Details",
     "order": "63",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_247PiAp0Dk-V1QHhgbkQSA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnbilledReceivablesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "menuCat": "Details",
     "order": "64",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ContractLiabilitiesOtherCurrentLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "menuCat": "Details",
     "order": "65",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_0Mi09qqkYE2_g51uC4_0Qw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:SellingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "menuCat": "Details",
     "order": "66",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "menuCat": "Details",
     "order": "67",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_VTTxF9XA0kikeT4LMsRLhQ",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "menuCat": "Details",
     "order": "68",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_nTbR9xLPK0e_7XFspXEclw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40213 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "menuCat": "Details",
     "order": "69",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_6_30_2023_srt_StatementScenarioAxis_srt_ScenarioForecastMember_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate202004Member_suaZpF3p8Ui21dmFf_HEmw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "link:footnote",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "menuCat": "Statements",
     "order": "7",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "link:footnote",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bnAM_PVgdEq3jTOmxWrlHg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_32kewKLOOEKuWkQiEQR1Ug",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)",
     "menuCat": "Details",
     "order": "70",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_4-BDcixNmUGhqVrlTm3JmQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - INVENTORIES (Details)",
     "menuCat": "Details",
     "order": "71",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
     "shortName": "INVENTORIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - PROJECT ASSETS (Details)",
     "menuCat": "Details",
     "order": "72",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
     "shortName": "PROJECT ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "menuCat": "Details",
     "order": "73",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:SolarPowerSystemsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)",
     "menuCat": "Details",
     "order": "74",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
     "shortName": "SOLAR POWER SYSTEMS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:SolarPowerSystemsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)",
     "menuCat": "Details",
     "order": "75",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
     "shortName": "INTANGIBLE ASSETS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)",
     "menuCat": "Details",
     "order": "76",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
     "shortName": "FAIR VALUE MEASUREMENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_7_31_2020_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_XDnv8mlB6Ee57Qya7b293A",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "menuCat": "Details",
     "order": "77",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LGg9JSu1z0evmJAxuXlwMw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "menuCat": "Details",
     "order": "78",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2020_o9VP__g8xkmX3sRg_gbcfA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_CNY_2E3kXVxMhkSVEwo0-IHjaA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40904 - Disclosure - FAIR VALUE MEASUREMENT - Marketable securities (Details)",
     "menuCat": "Details",
     "order": "79",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Marketable securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:EquitySecuritiesFVNINoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "menuCat": "Statements",
     "order": "8",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:NonCashOperatingLeaseExpenses",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetImpairmentCharges",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40905 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "menuCat": "Details",
     "order": "80",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ConvertibleLongTermNotesPayable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)",
     "menuCat": "Details",
     "order": "81",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
     "shortName": "VARIABLE INTEREST ENTITIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_NE3GthGZpkekICSpymbNqw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)",
     "menuCat": "Details",
     "order": "82",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
     "shortName": "INVESTMENTS IN AFFILIATES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rJt0xof5NUaPBhn2DPL5Eg",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity",
      "reportCount": 1,
      "unitRef": "Unit_Standard_director_iRWmFI1_q0mvVc5-b_YDJA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "menuCat": "Details",
     "order": "83",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_3_5_2021_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember__04d94lhVEOKxcxbPEnr5Q",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:SharePrice",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_JPY_shares_ELqJJHbgG0SEDH3ZjRog4g",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - LEASE - Lease expense (Details)",
     "menuCat": "Details",
     "order": "84",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
     "shortName": "LEASE - Lease expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41202 - Disclosure - LEASE - Supplement balance sheet information (Details)",
     "menuCat": "Details",
     "order": "85",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
     "shortName": "LEASE - Supplement balance sheet information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41203 - Disclosure - LEASE - Cash flow (Details)",
     "menuCat": "Details",
     "order": "86",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails",
     "shortName": "LEASE - Cash flow (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41204 - Disclosure - LEASE - Additional information (Details)",
     "menuCat": "Details",
     "order": "87",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails",
     "shortName": "LEASE - Additional information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41205 - Disclosure - LEASE - Operating leases - Maturities (Details)",
     "menuCat": "Details",
     "order": "88",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails",
     "shortName": "LEASE - Operating leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41206 - Disclosure - LEASE - Operating leases - Gross difference (Details)",
     "menuCat": "Details",
     "order": "89",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Operating leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "menuCat": "Statements",
     "order": "9",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41207 - Disclosure - LEASE - Finance leases - Maturities (Details)",
     "menuCat": "Details",
     "order": "90",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails",
     "shortName": "LEASE - Finance leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41208 - Disclosure - LEASE - Finance leases - Gross difference (Details)",
     "menuCat": "Details",
     "order": "91",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Finance leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41209 - Disclosure - LEASE - Total leases - Maturities (Details)",
     "menuCat": "Details",
     "order": "92",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails",
     "shortName": "LEASE - Total leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41210 - Disclosure - LEASE - Total leases - Gross difference (Details)",
     "menuCat": "Details",
     "order": "93",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Total leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:LesseeLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41211 - Disclosure - LEASE - Total leases - Summary (Details)",
     "menuCat": "Details",
     "order": "94",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
     "shortName": "LEASE - Total leases - Summary (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ShortTermBorrowingsOnProjectAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - BORROWINGS (Details)",
     "menuCat": "Details",
     "order": "95",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
     "shortName": "BORROWINGS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ShortTermBorrowingsOnProjectAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41302 - Disclosure - BORROWINGS - Long term (Details)",
     "menuCat": "Details",
     "order": "96",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
     "shortName": "BORROWINGS - Long term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R97": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2022_To_12_31_2022_7h2byuCGrk-R3HnXQRqKVg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:InterestCostsCapitalizedProjectAssets",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41303 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)",
     "menuCat": "Details",
     "order": "97",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
     "shortName": "BORROWINGS - Long term narrative and interest expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfInterestExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "Duration_1_1_2020_To_12_31_2020_0iVaCVo8kEeBuSaD0MpKDg",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:InterestCostsCapitalizedPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    },
    "R98": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2022_7dmUmgTzrUC3v2Y-chJwQw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ShortTermNotesPayable",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)",
     "menuCat": "Details",
     "order": "98",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
     "shortName": "SHORT-TERM NOTES PAYABLE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R99": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2021_mlq5kqtIaEK0OBQU4Lpw3Q",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)",
     "menuCat": "Details",
     "order": "99",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
     "shortName": "ACCRUED WARRANTY COSTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20221231x20f.htm",
      "contextRef": "As_Of_12_31_2019_3FbqBkt0TUyNAoxbFgmI_A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_2lu8k73ymkOFKz1wL-vRFA",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 240,
   "tag": {
    "country_AE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.A.E"
       }
      }
     },
     "localname": "AE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_AR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Argentina"
       }
      }
     },
     "localname": "AR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_AU": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Australia"
       }
      }
     },
     "localname": "AU",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_BR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Brazil"
       }
      }
     },
     "localname": "BR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CL": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHILE",
        "terseLabel": "Chile"
       }
      }
     },
     "localname": "CL",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CZ": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Czech"
       }
      }
     },
     "localname": "CZ",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_DE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Germany"
       }
      }
     },
     "localname": "DE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ES": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spain"
       }
      }
     },
     "localname": "ES",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_FR": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "France"
       }
      }
     },
     "localname": "FR",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_GB": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Britain",
        "verboseLabel": "United Kingdom"
       }
      }
     },
     "localname": "GB",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_HK": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hong Kong",
        "terseLabel": "Hong Kong"
       }
      }
     },
     "localname": "HK",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_IE": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "IRELAND",
        "terseLabel": "Ireland"
       }
      }
     },
     "localname": "IE",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_IN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "India"
       }
      }
     },
     "localname": "IN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_JP": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Japan"
       }
      }
     },
     "localname": "JP",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_MX": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mexico"
       }
      }
     },
     "localname": "MX",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_NL": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Netherlands"
       }
      }
     },
     "localname": "NL",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_PK": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pakistan"
       }
      }
     },
     "localname": "PK",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_RO": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ROMANIA",
        "terseLabel": "Romania"
       }
      }
     },
     "localname": "RO",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_SG": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Singapore"
       }
      }
     },
     "localname": "SG",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TH": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thailand"
       }
      }
     },
     "localname": "TH",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TW": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "TAIWAN",
        "terseLabel": "Taiwan"
       }
      }
     },
     "localname": "TW",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_VN": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vietnam"
       }
      }
     },
     "localname": "VN",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ZA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "South Africa"
       }
      }
     },
     "localname": "ZA",
     "nsuri": "http://xbrl.sec.gov/country/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_SolarPowerSystems",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Solar Power Systems",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdditionalAmountDrawnOfUnderBorrowing": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of additional amount drawn of under borrowing.",
        "label": "Additional Amount Drawn Of Under Borrowing",
        "terseLabel": "Additional amount drawn of under borrowing"
       }
      }
     },
     "localname": "AdditionalAmountDrawnOfUnderBorrowing",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesOnInventoryPurchasesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.",
        "label": "Advances on Inventory Purchases, Non Current",
        "verboseLabel": "Advances to suppliers, net"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchasesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesToSuppliersAndOtherReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to\nAdvances to Suppliers and Other Receivable .",
        "label": "Advances to Suppliers and Other Receivable"
       }
      }
     },
     "localname": "AdvancesToSuppliersAndOtherReceivableMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AdvancesToSuppliersPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advances to suppliers.",
        "label": "Advances to Suppliers [Policy Text Block]",
        "terseLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "AdvancesToSuppliersPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AllowanceForAdvancesToSuppliersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the valuation allowance for advances to suppliers that are expected to be uncollectible.",
        "label": "Allowances for advances to suppliers"
       }
      }
     },
     "localname": "AllowanceForAdvancesToSuppliersMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AllowanceForOtherReceivablesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the valuation allowance for other receivables that are expected to be uncollectible.",
        "label": "Allowances for other receivables"
       }
      }
     },
     "localname": "AllowanceForOtherReceivablesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the geographic area of America, in which the entity operates.",
        "label": "The Americas"
       }
      }
     },
     "localname": "AmericaMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AmountOfAvailableCommitmentCancelled": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of available commitment cancelled.",
        "label": "Amount of Available Commitment Cancelled",
        "terseLabel": "Amount of available commitment cancelled"
       }
      }
     },
     "localname": "AmountOfAvailableCommitmentCancelled",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AmountOfDevelopmentLoan": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of development loan.",
        "label": "Amount Of Development Loan",
        "terseLabel": "Amount of development loan"
       }
      }
     },
     "localname": "AmountOfDevelopmentLoan",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AmountOfPerformanceBasedEnergyIncentives": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of performance based energy incentives recognized in revenue.",
        "label": "Amount of performance based energy incentives",
        "terseLabel": "Amount of performance based energy incentives"
       }
      }
     },
     "localname": "AmountOfPerformanceBasedEnergyIncentives",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Calendar Year from Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Three Years Prior to Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AssetManagementServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to asset management service.",
        "label": "Asset management service"
       }
      }
     },
     "localname": "AssetManagementServiceMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AssetsAcquisitionPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for assets acquisition.",
        "label": "Assets Acquisition [Policy Text Block]",
        "terseLabel": "Assets acquisition"
       }
      }
     },
     "localname": "AssetsAcquisitionPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of interests in solar power plants sold during the year.",
        "label": "Assets Held-for-sale, Number of Solar Power Plants Sold",
        "terseLabel": "Number of solar power plants sold"
       }
      }
     },
     "localname": "AssetsHeldForSaleNumberOfSolarPowerPlantsSold",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Azuma Kofuji Daiichi Hatsudensho G.K. [Member]",
        "label": "Azuma Kofuji Daiichi Hatsudensho G.K."
       }
      }
     },
     "localname": "AzumaKofujiDaiichiHatsudenshoG.k.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BankBorrowingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to borrowings from bank.",
        "label": "Bank borrowings"
       }
      }
     },
     "localname": "BankBorrowingsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BatteryStorageProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to battery storage products.",
        "label": "Battery storage products"
       }
      }
     },
     "localname": "BatteryStorageProductsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BifacialModuleAndDoubleGlassModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents the information pertaining to Bifacial Module and Double Glass Module.",
        "label": "Bifacial module and double glass module"
       }
      }
     },
     "localname": "BifacialModuleAndDoubleGlassModuleMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BrazilianSubsidiariesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Brazilian subsidiaries.",
        "label": "Brazilian subsidiaries"
       }
      }
     },
     "localname": "BrazilianSubsidiariesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianInfrastructureFundMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to a Canadian infrastructure fund.",
        "label": "Canadian Infrastructure Fund [Member]",
        "terseLabel": "Canadian infrastructure fund"
       }
      }
     },
     "localname": "CanadianInfrastructureFundMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.",
        "label": "Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd."
       }
      }
     },
     "localname": "CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEMEAGmbHMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar EMEA GmbH.",
        "label": "Canadian Solar EMEA GmbH"
       }
      }
     },
     "localname": "CanadianSolarEMEAGmbHMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEmeaCapitalMarketsS.a.uMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar EMEA Capital Markets S.A.U.",
        "label": "Canadian Solar EMEA Capital Markets S.A.U"
       }
      }
     },
     "localname": "CanadianSolarEmeaCapitalMarketsS.a.uMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEmployeesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Employees [Member].",
        "label": "Canadian Solar Employees"
       }
      }
     },
     "localname": "CanadianSolarEmployeesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingSingaporePte.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Holding Singapore Pte. Ltd.",
        "label": "Canadian Solar Energy Holding Singapore Pte. Ltd."
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingSingaporePte.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Canadian Solar Inc.",
        "label": "Canadian Solar Inc. [Member]",
        "terseLabel": "Canadian Solar Inc"
       }
      }
     },
     "localname": "CanadianSolarInc.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInfrastructureFundIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian solar infrastructure fund, Inc.",
        "label": "Canadian Solar Infrastructure Fund, Inc",
        "terseLabel": "Canadian Solar Infrastructure Fund, Inc."
       }
      }
     },
     "localname": "CanadianSolarInfrastructureFundIncMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInternationalLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Ltd.",
        "label": "HKSI",
        "verboseLabel": "Canadian Solar International Ltd."
       }
      }
     },
     "localname": "CanadianSolarInternationalLtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarJapanKKMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Japan K.K.",
        "label": "Canadian Solar Japan K.K."
       }
      }
     },
     "localname": "CanadianSolarJapanKKMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingThailandCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.",
        "label": "Canadian Solar Manufacturing (Thailand) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarManufacturingThailandCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar.",
        "label": "Canadian Solar"
       }
      }
     },
     "localname": "CanadianSolarMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarProjectKKMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Project K.K.",
        "label": "Canadian Solar Project K.K."
       }
      }
     },
     "localname": "CanadianSolarProjectKKMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSolutionsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Solutions Inc.",
        "label": "Canadian Solar Solutions Inc."
       }
      }
     },
     "localname": "CanadianSolarSolutionsIncMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSpainSociedadLimitadaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining toCanadian Solar Spain, Sociedad Limitada [Member]",
        "label": "Canadian Solar Spain, Sociedad Limitada"
       }
      }
     },
     "localname": "CanadianSolarSpainSociedadLimitadaMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSsesUsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar SSES (US) Inc",
        "label": "Canadian Solar SSES (US) Inc"
       }
      }
     },
     "localname": "CanadianSolarSsesUsIncMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.",
        "label": "Canadian Solar Sunenergy (Baotou) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSunenergyBaotouCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergyJiaxingCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Sunenergy (Jiaxing) Co. Ltd",
        "label": "Canadian Solar Sunenergy (Jiaxing) Co. Ltd"
       }
      }
     },
     "localname": "CanadianSolarSunenergyJiaxingCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUSAIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar (USA) Inc.",
        "label": "Canadian Solar (USA) Inc."
       }
      }
     },
     "localname": "CanadianSolarUSAIncMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CertainSolarModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to certain solar module.",
        "label": "Certain solar module"
       }
      }
     },
     "localname": "CertainSolarModuleMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to China energy/EPC (including electricity sales).",
        "label": "China Energy or Engineering, Procurement and Construction (includes Electricity Sales)"
       }
      }
     },
     "localname": "ChinaEnergyOrEngineeringProcurementAndConstructionIncludesElectricitySalesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChineseCommercialBanksMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the Chinese Commercial Banks.",
        "label": "Chinese Commercial Banks"
       }
      }
     },
     "localname": "ChineseCommercialBanksMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChineseInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Chinese Investors.",
        "label": "Chinese Investor [Member]",
        "terseLabel": "Chinese investor"
       }
      }
     },
     "localname": "ChineseInvestorMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ContractLiabilitiesOtherCurrentLiabilities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other current liabilities relating to contract liabilities.",
        "label": "Contract Liabilities, Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "ContractLiabilitiesOtherCurrentLiabilities",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ConvertibleNotesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "xbrltype": "stringItemType"
    },
    "csiq_ConvertibleNotesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.",
        "label": "Convertible Notes Disclosure Text Block",
        "terseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_CsiCellsYanchengCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Cells (Yancheng) Co., Ltd.",
        "label": "CSI Cells (Yancheng) Co., Ltd."
       }
      }
     },
     "localname": "CsiCellsYanchengCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar segment.",
        "label": "CSI Solar Segment"
       }
      }
     },
     "localname": "CsiSolarSegmentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument Convertible Option Period For Additional Issuance",
        "terseLabel": "Period of option for additional issuance"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.",
        "label": "Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events",
        "terseLabel": "Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtInstrumentInterestRateFloatingPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual floating interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Floating Percentage",
        "terseLabel": "Floating interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateFloatingPercentage",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtSecuredByPropertyPlantAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the borrowings secured by property, plant and equipment.",
        "label": "Borrowings secured by property, plant and equipment"
       }
      }
     },
     "localname": "DebtSecuredByPropertyPlantAndEquipmentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DecreaseOfNetAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The decrease of net assets after tax equity transactions.",
        "label": "Decrease of Net Assets",
        "terseLabel": "Net assets derecognized"
       }
      }
     },
     "localname": "DecreaseOfNetAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsFutureDeductibleExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.",
        "label": "Deferred Tax Assets, Future Deductible Expenses",
        "terseLabel": "Future deductible expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsFutureDeductibleExpenses",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsInterestLimitation": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.",
        "label": "Deferred Tax Assets, Interest Limitation",
        "terseLabel": "Interest limitation"
       }
      }
     },
     "localname": "DeferredTaxAssetsInterestLimitation",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.",
        "label": "Deferred Tax Assets Related To Sale Of Project Assets",
        "terseLabel": "Government subsidies"
       }
      }
     },
     "localname": "DeferredTaxAssetsRelatedToSaleOfProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxLiabilitiesInsuranceRecoverable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.",
        "label": "Deferred Tax Liabilities Insurance Recoverable",
        "terseLabel": "Insurance recoverable"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesInsuranceRecoverable",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution Amount",
        "terseLabel": "Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAmount",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Housing Funds",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for housing funds"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Medical Insurance Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for medical insurance benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Other Statutory Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Unemployment Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for unemployment benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DerecognitionOfCommodityHedgeAndInterestRateSwap": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of derecognition of commodity hedge and interest rate swap.",
        "label": "Derecognition of Commodity Hedge and Interest Rate Swap",
        "terseLabel": "Derecognition of interest rate swap"
       }
      }
     },
     "localname": "DerecognitionOfCommodityHedgeAndInterestRateSwap",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DerivativesAssetsCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives assets.",
        "label": "Derivative assets - current"
       }
      }
     },
     "localname": "DerivativesAssetsCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DerivativesLiabilitiesCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives liabilities.",
        "label": "Derivative liabilities - current"
       }
      }
     },
     "localname": "DerivativesLiabilitiesCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The \"statutory\" tax rate is the regular tax rate if there are alternative tax systems.",
        "label": "Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate",
        "terseLabel": "Federal and provincial income tax rate (as a percent)",
        "verboseLabel": "Combined federal and provincial income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to true-up adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Effect of True-up",
        "terseLabel": "Effect of true-up (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationEffectOfTrueUp",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.",
        "label": "Effective Income Tax Rate Reconciliation, Permanent Difference, Percent",
        "terseLabel": "Effect of permanent difference (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EighthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Eighth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Eighth Administrative Review of Solar One [Member]",
        "terseLabel": "Eighth administrative review of Solar 1"
       }
      }
     },
     "localname": "EighthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EighthAdministrativeReviewOfSolarTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to ninth and tenth administrative review of solar 2.",
        "label": "Eighth Administrative Review of Solar Two [Member]",
        "terseLabel": "Eighth administrative review of the Solar 2"
       }
      }
     },
     "localname": "EighthAdministrativeReviewOfSolarTwoMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EightyPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 80% initial power capacity.",
        "label": "80% initial power capacity"
       }
      }
     },
     "localname": "EightyPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EliminationsAndReconcilingItemsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to eliminations and reconciling items.",
        "label": "Elimination and unallocated items"
       }
      }
     },
     "localname": "EliminationsAndReconcilingItemsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options",
        "terseLabel": "Total compensation cost at the date of grant"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityIncomeLossFromSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.",
        "label": "Equity Income (Loss) from Subsidiaries",
        "negatedTerseLabel": "Equity in earnings of subsidiaries",
        "terseLabel": "Equity in earnings of subsidiaries"
       }
      }
     },
     "localname": "EquityIncomeLossFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityMethodInvestmentOwnershipPercentageSold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment Ownership Percentage Sold",
        "terseLabel": "Interest sold (in percent)"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentageSold",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_FifthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Fifth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Fifth administrative review of Solar 1"
       }
      }
     },
     "localname": "FifthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FinancingFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to financing facility.",
        "label": "Financing facility"
       }
      }
     },
     "localname": "FinancingFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FinancingLiabilitiesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.",
        "label": "Financing Liabilities Non Current",
        "terseLabel": "Financing liabilities"
       }
      }
     },
     "localname": "FinancingLiabilitiesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FinishedGoodsModules": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of finished goods includes modules.",
        "label": "Finished Goods, Modules",
        "terseLabel": "Amount of finished goods includes modules"
       }
      }
     },
     "localname": "FinishedGoodsModules",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FirstAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to first administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "First administrative review of Solar 1"
       }
      }
     },
     "localname": "FirstAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ForeignCurrencyRiskPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.",
        "label": "Foreign Currency Risk [Policy Text Block]",
        "terseLabel": "Foreign currency risk"
       }
      }
     },
     "localname": "ForeignCurrencyRiskPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_FourJapaneseSubsidiariesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Four Japanese Subsidiaries member\n.",
        "label": "Four Japanese Subsidiaries"
       }
      }
     },
     "localname": "FourJapaneseSubsidiariesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FourthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Fourth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Fourth administrative review of Solar 1"
       }
      }
     },
     "localname": "FourthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA I Renewable Energy S.A.",
        "label": "Francisco SA I Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA II Renewable Energy S.A.",
        "label": "Francisco SA II Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaIiiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Francisco SA III Renewable Energy S.A.",
        "label": "Francisco SA III Renewable Energy S.A."
       }
      }
     },
     "localname": "FranciscoSaIiiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FranciscoSaSolarHoldingS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Francisco Sa Solar Holding S.A.",
        "label": "Francisco Sa Solar Holding S.A."
       }
      }
     },
     "localname": "FranciscoSaSolarHoldingS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of solar power systems and other investments.",
        "label": "Gain (Loss) on disposal of solar power systems and other investments",
        "negatedLabel": "Gain on disposal of solar power systems"
       }
      }
     },
     "localname": "GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_GlobalEnergySegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to th global energy segment.",
        "label": "Global Energy Segment"
       }
      }
     },
     "localname": "GlobalEnergySegmentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_GovernmentGrantsCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Current portion of government grants.",
        "label": "Government Grants, Current",
        "terseLabel": "Government grants, current"
       }
      }
     },
     "localname": "GovernmentGrantsCurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_GovernmentGrantsNonCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Current portion of government grants.",
        "label": "Government Grants, Non Current",
        "terseLabel": "Government grants, non current"
       }
      }
     },
     "localname": "GovernmentGrantsNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Horus Solar S.A. De Capital Variable (\"Horus\") and Recursos Solares PV De Mxico II S.A. De Capital Variable (\"Recursos\") [Member]",
        "label": "Horus Solar S.A. De Capital Variable (\"Horus\") and Recursos Solares PV De Mxico II S.A. De Capital Variable (\"Recursos\")",
        "terseLabel": "Horus and Recursos"
       }
      }
     },
     "localname": "HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_HorusSolarS.a.DeCapitalVariableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Horus Solar S.A. De Capital Variable.",
        "label": "Horus Solar S.A. De Capital Variable"
       }
      }
     },
     "localname": "HorusSolarS.a.DeCapitalVariableMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_IncomeTaxAdditionalDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Additional Disclosure [Abstract]",
        "terseLabel": "Additional disclosure"
       }
      }
     },
     "localname": "IncomeTaxAdditionalDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Holiday [Abstract]",
        "terseLabel": "Aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "IncomeTaxHolidayAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Basic",
        "terseLabel": "Per share effect - basic (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Diluted",
        "terseLabel": "Per share effect - diluted (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxesForeignCorporateTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the corporate income tax rate in foreign jurisdiction.",
        "label": "Income Taxes Foreign Corporate Tax Rate",
        "terseLabel": "Income tax rate (as a percent)"
       }
      }
     },
     "localname": "IncomeTaxesForeignCorporateTaxRate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_IncomeTaxesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "verboseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxesLineItems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures pertaining to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "localname": "IncomeTaxesTable",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncreaseDecreaseInAdvanceToSuppliers": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 25.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in advances to suppliers.",
        "label": "Increase (Decrease) in Advance to Suppliers",
        "negatedLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "IncreaseDecreaseInAdvanceToSuppliers",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInDepreciationExpense": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of increase Decrease in Depreciation Expense\n.",
        "label": "Increase Decrease in Depreciation Expense",
        "terseLabel": "Increase or decrease in depreciation expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepreciationExpense",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 35.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.",
        "label": "Increase (Decrease) in Liability for Uncertainty in Income Taxes",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 26.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.",
        "label": "Increase (Decrease) in Project Assets",
        "negatedLabel": "Project assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInValueAddedTaxReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.",
        "label": "Increase (Decrease) in Value Added Tax Receivable",
        "negatedLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "IncreaseDecreaseInValueAddedTaxReceivable",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InsuranceClaimsOrWeatherRelatedProjectDamages": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of (insurance claims) or weather related project damages.",
        "label": "Insurance Claims or Weather Related Project Damages",
        "terseLabel": "(Insurance claims on) weather-related project damages"
       }
      }
     },
     "localname": "InsuranceClaimsOrWeatherRelatedProjectDamages",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InsurancePolicyTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the term of the insurance policy over which the insurance premium will be amortized.",
        "label": "Insurance Policy Term",
        "terseLabel": "Term of insurance policy over which the insurance premium will be amortized"
       }
      }
     },
     "localname": "InsurancePolicyTerm",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_InsurancePremiumUnamortizedAmountNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the unamortized carrying amount of insurance premium.",
        "label": "Insurance Premium Unamortized Amount Noncurrent",
        "terseLabel": "Unamortized carrying amount of insurance premium"
       }
      }
     },
     "localname": "InsurancePremiumUnamortizedAmountNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedProjectAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Project Assets",
        "terseLabel": "Interest capitalized - project assets"
       }
      }
     },
     "localname": "InterestCostsCapitalizedProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Property, Plant and Equipment",
        "terseLabel": "Interest capitalized - property, plant, and equipment"
       }
      }
     },
     "localname": "InterestCostsCapitalizedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedSolarPowerSystemNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest costs capitalized for solar power systems disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Solar Power System Net",
        "terseLabel": "Interest capitalized - solar power systems, net"
       }
      }
     },
     "localname": "InterestCostsCapitalizedSolarPowerSystemNet",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InvestmentInAffiliates": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in affiliates.",
        "label": "Investments in Affiliates.",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "InvestmentInAffiliates",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InvestmentInSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in subsidiaries.",
        "label": "Investment In Subsidiaries",
        "terseLabel": "Investment in subsidiaries"
       }
      }
     },
     "localname": "InvestmentInSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_Jaiba3RenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Jaiba 3 Renewable Energy S.A.",
        "label": "Jaiba 3 Renewable Energy S.A."
       }
      }
     },
     "localname": "Jaiba3RenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_Jaiba4RenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to member Jaiba 4 Renewable Energy S.A.",
        "label": "Jaiba 4 Renewable Energy S.A."
       }
      }
     },
     "localname": "Jaiba4RenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_Jaiba9RenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Jaiba 9 Renewable Energy S.A.",
        "label": "Jaiba 9 Renewable Energy S.A."
       }
      }
     },
     "localname": "Jaiba9RenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_JaibaSolarHoldingS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Jaiba Solar Holding S.A.",
        "label": "Jaiba Solar Holding S.A."
       }
      }
     },
     "localname": "JaibaSolarHoldingS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_JushengSuzhouSolarTechCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to JuSheng (Suzhou) Solar Tech Co., Ltd.",
        "label": "JuSheng (Suzhou) Solar Tech Co., Ltd."
       }
      }
     },
     "localname": "JushengSuzhouSolarTechCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_KoreanInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Korean Investors.",
        "label": "Korean Investor [Member]",
        "terseLabel": "Korean investor"
       }
      }
     },
     "localname": "KoreanInvestorMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LandUseRightPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.",
        "label": "Land Use Right [Policy Text Block]",
        "terseLabel": "Land use rights"
       }
      }
     },
     "localname": "LandUseRightPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_LandUseRightsNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of land use rights.",
        "label": "Land Use Rights, Net",
        "terseLabel": "Land use rights, net"
       }
      }
     },
     "localname": "LandUseRightsNet",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LavraSolarHoldingS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Lavras Solar Holding S.A.",
        "label": "Lavras Solar Holding S.A."
       }
      }
     },
     "localname": "LavraSolarHoldingS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasISolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras I Solar Renewable Energy S.A.",
        "label": "Lavras I Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasISolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIiSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras II Solar Renewable Energy S.A.",
        "label": "Lavras II Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIiSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIiiSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras III Solar Renewable Energy S.A.",
        "label": "Lavras III Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIiiSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasIvSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras IV Solar Renewable Energy S.A.",
        "label": "Lavras IV Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasIvSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasSolarHoldingS.aMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Lavras Solar Holding S.A",
        "label": "Lavras Solar Holding S.A"
       }
      }
     },
     "localname": "LavrasSolarHoldingS.aMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LavrasVSolarRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Lavras V Solar Renewable Energy S.A.",
        "label": "Lavras V Solar Renewable Energy S.A."
       }
      }
     },
     "localname": "LavrasVSolarRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leading institutional investors and strategic partners.",
        "label": "Third-Party Investors"
       }
      }
     },
     "localname": "LeadingInstitutionalInvestorsAndStrategicPartnersMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of components of leases that are recognized on the Balance Sheets.",
        "label": "Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]",
        "terseLabel": "Schedule of other supplemental information"
       }
      }
     },
     "localname": "LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_LeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability",
        "label": "Lease Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "LeaseLiability",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Current",
        "label": "Lease Liability, Current",
        "terseLabel": "Short-term"
       }
      }
     },
     "localname": "LeaseLiabilityCurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Noncurrent",
        "label": "Lease Liability, Noncurrent",
        "terseLabel": "Long-term"
       }
      }
     },
     "localname": "LeaseLiabilityNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDue": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due",
        "label": "Lessee, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDue",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due after Year Five",
        "label": "Lessee, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Next Twelve Months",
        "label": "Lessee, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Five",
        "label": "Lessee, Liability, Payments, Due Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFive",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Four",
        "label": "Lessee, Liability, Payments, Due Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFour",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Three",
        "label": "Lessee, Liability, Payments, Due Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearThree",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Two",
        "label": "Lessee, Liability, Payments, Due Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearTwo",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityUndiscountedExcessAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Undiscounted Excess Amount",
        "label": "Lessee, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeLiabilityUndiscountedExcessAmount",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular information relating to operating leases as of balance sheet.",
        "label": "Lessee, Operating Lease, Supplement Balance Sheet Information [Table Text Block]",
        "terseLabel": "Schedule of supplement balance sheet information"
       }
      }
     },
     "localname": "LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_LoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to loan facility.",
        "label": "Loan Facility [Member]",
        "terseLabel": "Loan facility"
       }
      }
     },
     "localname": "LoanFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_LongTermBorrowingsOnProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermNotesAndLoans",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount represents long term borrowings associated with certain solar power projects.",
        "label": "Long Term Borrowings on Project Assets",
        "terseLabel": "Long-term borrowings related to project assets"
       }
      }
     },
     "localname": "LongTermBorrowingsOnProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable on project assets, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long Term Debt On Project Assets, Maturities Repayments Of Principal In Next Twelve Months",
        "terseLabel": "Future principal repayment of long-term borrowings on project assets - current"
       }
      }
     },
     "localname": "LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the cash deposit rate for anti-dumping duty on CSPV cells imported from China on or after a specified date.",
        "label": "Loss Contingency Cash Deposit Rate Anti Dumping Duty on CSPV Cells Imported from China On or After Specific Date",
        "terseLabel": "Cash deposit rate for anti-dumping duty on CSPV cells imported from China (as a percent)"
       }
      }
     },
     "localname": "LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the cash deposit rate for countervailing duty on CSPV cells imported from China on or after a specified date.",
        "label": "Loss Contingency Cash Deposit Rate Countervailing Duty on CSPV Cells Imported from China On or After Specific Date",
        "terseLabel": "Cash deposit rate for countervailing duty on CSPV cells imported from China (as a percent)"
       }
      }
     },
     "localname": "LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the duty rate for anti-dumping duty on CSPV cells imported from Taiwan on or after a specified date.",
        "label": "Loss Contingency Duty Rate Anti Dumping Duty on CSPV Cells Imported from Taiwan On or After Specific Date",
        "terseLabel": "Duty rate for anti-dumping duty on CSPV cells imported from Taiwan (as a percent)"
       }
      }
     },
     "localname": "LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member pertaining to Luoyang Jiwa New Material Technology Co., Ltd.",
        "label": "Luoyang Jiwa New Material Technology Co., Ltd [Member]"
       }
      }
     },
     "localname": "LuoyangJiwaNewMaterialTechnologyCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MajorCustomersDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "xbrltype": "stringItemType"
    },
    "csiq_MajorCustomersDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.",
        "label": "Major Customers Disclosure [Text Block]",
        "terseLabel": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_MaterialAndWorkmanShipMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to material and workmanship.",
        "label": "Material and workmanship"
       }
      }
     },
     "localname": "MaterialAndWorkmanShipMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the maximum useful life of project to be transferred to an offtaker.",
        "label": "Maximum Useful Life of Projects to be Transferred to an Offtaker",
        "terseLabel": "Maximum useful life of transferred to an offtaker"
       }
      }
     },
     "localname": "MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_MezzanineLoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to mezzanine loan facility.",
        "label": "Mezzanine loan facility"
       }
      }
     },
     "localname": "MezzanineLoanFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.",
        "label": "Minimum Appropriation of after Tax Profit to General Reserve Required Percentage",
        "terseLabel": "Minimum percentage of the profit after tax to be appropriated to the general reserve"
       }
      }
     },
     "localname": "MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net loss on disposal of property, plant and equipment included in other operating expense.",
        "label": "Net Loss Disposal Property Plant Equipment Other Operating Expense",
        "terseLabel": "Net (gain) loss on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NinetySevenPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 97% of initial capacity.",
        "label": "97 % initial power capacity"
       }
      }
     },
     "localname": "NinetySevenPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NinetyThreeInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to 93% of initial capacity.",
        "label": "93% initial power capacity"
       }
      }
     },
     "localname": "NinetyThreeInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NinthAndTenthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to ninth and tenth administrative review of solar 1.",
        "label": "Ninth and Tenth Administrative Review of Solar One [Member]",
        "terseLabel": "Ninth and tenth administrative review of solar 1"
       }
      }
     },
     "localname": "NinthAndTenthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonBindingLineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a non-binding contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Non-binding bank credit facilities"
       }
      }
     },
     "localname": "NonBindingLineOfCreditMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonCashOperatingLeaseExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of non-cash operating lease expenses.",
        "label": "Non-cash Operating lease expenses",
        "terseLabel": "Non-cash operating lease expenses"
       }
      }
     },
     "localname": "NonCashOperatingLeaseExpenses",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NumberOfBoardMembers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of board members.",
        "label": "Number of Board Members",
        "terseLabel": "Total board members"
       }
      }
     },
     "localname": "NumberOfBoardMembers",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of board members designated by the acquired entity.",
        "label": "Number of Board Members Designated by the Acquired Entity",
        "terseLabel": "Board members designated"
       }
      }
     },
     "localname": "NumberOfBoardMembersDesignatedByTheAcquiredEntity",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of board of investment certificates for tax exemption.",
        "label": "Number of Board of Investment Certificates, Tax Exemption",
        "terseLabel": "Number of Board of Investment certificates for tax exemption"
       }
      }
     },
     "localname": "NumberOfBoardOfInvestmentCertificatesTaxExemption",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfOtherParticipatingFinancialInstitutions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of participating financial institutions.",
        "label": "Number of Other Participating Financial Institutions",
        "terseLabel": "Number of participating financial institutions"
       }
      }
     },
     "localname": "NumberOfOtherParticipatingFinancialInstitutions",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfUnitsPurchased": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of units purchased during period.",
        "label": "Number of Units Purchased"
       }
      }
     },
     "localname": "NumberOfUnitsPurchased",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "csiq_OMServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to O &amp; M service.",
        "label": "O &amp; M Service"
       }
      }
     },
     "localname": "OMServiceMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OmAndAssetManagementServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to O&amp;M and asset management services.",
        "label": "O&amp;M and asset management services"
       }
      }
     },
     "localname": "OmAndAssetManagementServicesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease right of use assets excluding land use rights.",
        "label": "Operating Lease Right of use Asset Excluding Land Use Rights",
        "verboseLabel": "Operating lease ROU assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetExcludingLandUseRights",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OperatingLossCarryforwardsSubjectToExpiration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.",
        "label": "Operating Loss Carryforwards Subject to Expiration",
        "terseLabel": "Accumulated net operating losses subject to expiration between 2021 and 2040"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsSubjectToExpiration",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount represents De-recognition of commodity hedge and interest rate swap",
        "label": "Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap",
        "terseLabel": "De-recognition of interest rate swap, net of tax of nil for the year ended December 31, 2020",
        "verboseLabel": "De-recognition of derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 6.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).",
        "label": "Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Interest Rate Swap Net of Tax",
        "terseLabel": "Gain (loss) on interest rate swap, net of tax of nil, $20 and $239 for the years ended December 31, 2020, 2021 and 2022, respectively"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherCountriesAmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other countries in America.",
        "label": "Other Countries America [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAmericaMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesAsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other regions in Asia.",
        "label": "Other Countries Asia [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAsiaMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesEuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other countries in Europe.",
        "label": "Other Countries Europe [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesEuropeMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCsiSolarProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the other CSI Solar products.",
        "label": "Other Csi Solar Products [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCsiSolarProductsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherEquityMethodInvesteesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the other equity method investees.",
        "label": "Other Equity Method Investees [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherEquityMethodInvesteesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherGlobalEnergyProductsIncludesElectricitySalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other global energy products (includes electricity sales).",
        "label": "Other Global Energy Products (includes Electricity Sales) [Member]",
        "terseLabel": "Others (includes electricity sales)"
       }
      }
     },
     "localname": "OtherGlobalEnergyProductsIncludesElectricitySalesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherJurisdictionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other jurisdictions where the entity has operations.",
        "label": "Other"
       }
      }
     },
     "localname": "OtherJurisdictionsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherNoncurrentAssetsAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.",
        "label": "Other Noncurrent Assets Adjustment",
        "terseLabel": "Downward adjustment of other non-current assets"
       }
      }
     },
     "localname": "OtherNoncurrentAssetsAdjustment",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Other Operating Income (Expense), Policy [Policy Text Block]",
        "terseLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpensePolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_OtherPayablesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other payables.",
        "label": "Other payables"
       }
      }
     },
     "localname": "OtherPayablesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PaymentsForFinancingCashFlowsFromFinanceLease": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of finance lease payments during the year.",
        "label": "Payments for Financing Cash Flows from Finance Lease",
        "terseLabel": "Financing cash outflows from finance lease"
       }
      }
     },
     "localname": "PaymentsForFinancingCashFlowsFromFinanceLease",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsForProceedsFromLoansToSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount paid or received by the reporting entity associated with the loans to subsidiaries.",
        "label": "Payments for (Proceeds from) Loans to Subsidiaries",
        "negatedLabel": "Funding of loans to subsidiaries"
       }
      }
     },
     "localname": "PaymentsForProceedsFromLoansToSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireAffiliates": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payments to acquire affiliates.",
        "label": "Payments to Acquire Affiliates",
        "negatedLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "PaymentsToAcquireAffiliates",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments To Acquire Property Plant And Equipment And Intangible Assets",
        "negatedLabel": "Purchase of property, plant and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.",
        "label": "Payments to Acquire Solar Power Systems",
        "negatedLabel": "Purchase of solar power systems"
       }
      }
     },
     "localname": "PaymentsToAcquireSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Payments to Acquire Subsidiaries.",
        "label": "Payments to Acquire Subsidiaries",
        "negatedTerseLabel": "Investments in subsidiaries"
       }
      }
     },
     "localname": "PaymentsToAcquireSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PercentageOfDiscountOnIssueOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of discount on issue of shares.",
        "label": "Percentage of Discount on Issue of Shares",
        "terseLabel": "Percentage of discount on issue of shares"
       }
      }
     },
     "localname": "PercentageOfDiscountOnIssueOfShares",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Accounts Receivable",
        "terseLabel": "Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedAccountsReceivable",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Inventory",
        "terseLabel": "Carrying value of inventories that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedInventory",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedLandUseRights": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Land Use Rights",
        "terseLabel": "Carrying value of land use rights that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedLandUseRights",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedProjectAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of project assets which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Project Assets",
        "terseLabel": "Carrying value of project assets that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Property, Plant and Equipment",
        "terseLabel": "Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Restricted Cash",
        "terseLabel": "Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedRestrictedCash",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsSolarPowerSystems": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets, Solar Power Systems",
        "terseLabel": "Carrying value of solar power systems that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedEquityNotSeparatelyReported": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Equity, Not Separately Reported",
        "terseLabel": "Carrying value of equity that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedEquityNotSeparatelyReported",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PreferentialWithholdingTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the preferential withholding tax rate.",
        "label": "Preferential Withholding Tax Rate",
        "terseLabel": "Preferential withholding tax rate (as a percent)"
       }
      }
     },
     "localname": "PreferentialWithholdingTaxRate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_PremiumDiscountOnIssueOfShares": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of premium or discount on issue of shares.",
        "label": "Premium (Discount) on Issue of Shares",
        "terseLabel": "Premium on transaction issue of shares"
       }
      }
     },
     "localname": "PremiumDiscountOnIssueOfShares",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromConvertibleDebtAdditionalIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Additional Issuance",
        "terseLabel": "Proceeds from additional issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromConvertibleDebtInitialIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Initial Issuance",
        "terseLabel": "Proceeds from initial issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtInitialIssuance",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Proceeds from long term borrowings.",
        "label": "Proceeds from Issuance of Long-term Debt Other than Convertible Debt",
        "terseLabel": "Proceeds from long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromLoansFromSubsidiaries": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with loans from subsidiaries.",
        "label": "Proceeds From Loans from Subsidiaries",
        "terseLabel": "Funding of loans from a subsidiary"
       }
      }
     },
     "localname": "ProceedsFromLoansFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromPaymentsToMinorityShareHolder": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents to Proceeds From Payments To Minority Share holder.",
        "label": "Proceeds From Payments To Minority Share holder",
        "terseLabel": "Repayment to non-controlling interests"
       }
      }
     },
     "localname": "ProceedsFromPaymentsToMinorityShareHolder",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromRepaymentOfThirdPartyFinancingLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from (Repayments of) financing liabilities of third parties.",
        "label": "Proceeds from (Repayment Of) third party financing liabilities",
        "terseLabel": "Proceeds from (repayment of) third party financing liabilities"
       }
      }
     },
     "localname": "ProceedsFromRepaymentOfThirdPartyFinancingLiabilities",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the proceeds from the sale or disposal of solar power systems.",
        "label": "Proceeds from Sale or Disposal of Solar Power Systems",
        "terseLabel": "Proceeds from disposal of solar power systems"
       }
      }
     },
     "localname": "ProceedsFromSaleOrDisposalOfSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromSubscriptionAdvances": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash inflow from subscription advances.",
        "label": "Proceeds from Subscription Advances",
        "verboseLabel": "Proceeds from subscription of employee stock ownership plan"
       }
      }
     },
     "localname": "ProceedsFromSubscriptionAdvances",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProductWarrantyAccrualRateForSalesOfSolarModules": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.",
        "label": "Product Warranty Accrual Rate for Sales of Solar Modules",
        "terseLabel": "Warranty accrual rate for sales of solar modules as a percentage of revenue"
       }
      }
     },
     "localname": "ProductWarrantyAccrualRateForSalesOfSolarModules",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets.",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "xbrltype": "stringItemType"
    },
    "csiq_ProjectAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information relating to project assets.",
        "label": "Project Assets Disclosure [Text Block]",
        "terseLabel": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ProjectAssetsImpairmentCharge": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the impairment charges and write-off for investments in solar power projects.",
        "label": "Project Assets Impairment Charge",
        "terseLabel": "Impairment loss of project assets",
        "verboseLabel": "Project assets impairment"
       }
      }
     },
     "localname": "ProjectAssetsImpairmentCharge",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLand": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets Plants and Land",
        "totalLabel": "Total project assets"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLand",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 1.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of capitalized development costs related to investments in solar power projects.",
        "label": "Project Assets, Plants And Land Capitalized, Development Costs",
        "terseLabel": "Project assets - Development cost, including project acquisition and land cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 2.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of capitalized EPC and other cost related to investments in solar power projects.",
        "label": "Project Assets Plants and Land Capitalized EPC and Other Cost",
        "terseLabel": "Project assets - EPC and other construction cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.",
        "label": "Project assets, Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandNonCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.",
        "label": "Project assets, Non Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Non-current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandNonCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining project asset costs.",
        "label": "Project Assets [Policy Text Block]",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssetsPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_PropertyAndEquipmentPurchaseCommitmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase arrangement in which the entity has agreed to expend funds to procure property and equipment.",
        "label": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyAndEquipmentPurchaseCommitmentMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.",
        "label": "Property Plant and Equipment Excluding Construction in Progress Net",
        "totalLabel": "Property, plant and equipment, excluding construction in process, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.",
        "label": "Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Provision for withholding income tax on dividend"
       }
      }
     },
     "localname": "ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PurchaseOfUnitsPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of units purchased.",
        "label": "Purchase Of Units Percentage",
        "terseLabel": "Percent of units purchased"
       }
      }
     },
     "localname": "PurchaseOfUnitsPercentage",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ReCrimsonHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RE Crimson Holdings LLC.",
        "label": "RE Crimson Holdings LLC"
       }
      }
     },
     "localname": "ReCrimsonHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecurrentEnergyGroupInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy Group Inc. (formerly, Canadian Solar Energy Acquisition Co.).",
        "label": "Recurrent Energy Group Inc."
       }
      }
     },
     "localname": "RecurrentEnergyGroupInc.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Recursos Solares PV De Mxico II S.A. De Capital Variable.",
        "label": "Recourses Solares PV De Mexico II S.A. De Capital Variable"
       }
      }
     },
     "localname": "RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RepaymentOfLoanFromSubsidiaries": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with repayment of loans from subsidiaries.",
        "label": "Repayment of Loan From Subsidiaries",
        "negatedLabel": "Repayment of loan from subsidiary"
       }
      }
     },
     "localname": "RepaymentOfLoanFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ResidentialBatteryStorageMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to residential battery storage.",
        "label": "Residential Battery Storage [Member]",
        "terseLabel": "Residential battery storage"
       }
      }
     },
     "localname": "ResidentialBatteryStorageMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset disposed through early termination of operating leases in non-cash transaction",
        "label": "Right Of Use Assets Disposed Through Early Termination Of Operating Leases In Non-Cash Transaction",
        "terseLabel": "ROU assets disposed through early termination of operating leases in non-cash transaction"
       }
      }
     },
     "localname": "RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SaleLeasebackTransactionProceedsFinancingActivities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow received by a seller-lessee in a sale-leaseback recognized in financing activities.",
        "label": "Sale Leaseback Transaction, Proceeds, Financing Activities",
        "terseLabel": "Proceeds from sales-leaseback arrangement"
       }
      }
     },
     "localname": "SaleLeasebackTransactionProceedsFinancingActivities",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SalesRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Net revenues:"
       }
      }
     },
     "localname": "SalesRevenueAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_SalgueiroIRenewableEnergyS.aMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro I Renewable Energy S.A",
        "label": "Salgueiro I Renewable Energy S.A"
       }
      }
     },
     "localname": "SalgueiroIRenewableEnergyS.aMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalgueiroIiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro II Renewable Energy S.A.",
        "label": "Salgueiro II Renewable Energy S.A."
       }
      }
     },
     "localname": "SalgueiroIiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalgueiroIiiRenewableEnergyS.a.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro III Renewable Energy S.A.",
        "label": "Salgueiro III Renewable Energy S.A."
       }
      }
     },
     "localname": "SalgueiroIiiRenewableEnergyS.a.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalgueiroSolarHoldingS.aMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Salgueiro Solar Holding S.A.",
        "label": "Salgueiro Solar Holding S.A"
       }
      }
     },
     "localname": "SalgueiroSolarHoldingS.aMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.",
        "label": "Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of intangible assets"
       }
      }
     },
     "localname": "ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfEffectiveInterestRatesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of average effective interest rates on borrowings.",
        "label": "Schedule Of Effective Interest Rates [Table Text Block]",
        "terseLabel": "Schedule of weighted average effective interest rates on borrowings"
       }
      }
     },
     "localname": "ScheduleOfEffectiveInterestRatesTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfElectricityRevenueTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of Schedule of Electricity Revenue",
        "label": "Schedule of Electricity Revenue [Table Text Block]",
        "terseLabel": "Schedule of company's electricity revenue"
       }
      }
     },
     "localname": "ScheduleOfElectricityRevenueTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfInterestExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of interest expenses related to borrowings.",
        "label": "Schedule of Interest Expense [Table Text Block]",
        "terseLabel": "Schedule of interest incurred"
       }
      }
     },
     "localname": "ScheduleOfInterestExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Schedule of Other Operating Income (Expense) [Table Text Block]",
        "terseLabel": "Summary of the Company's other operating income, net"
       }
      }
     },
     "localname": "ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major suppliers, if prepayments with a single supplier amount to 10 percent or more of entity prepayments, including the disclosure of that fact, the total amount of prepayments from each such supplier.",
        "label": "Schedule of Prepayments by Major Suppliers [Table Text Block]",
        "terseLabel": "Schedule of gross prepayments made to individual suppliers in excess of 10% of total advances to suppliers"
       }
      }
     },
     "localname": "ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfProjectAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of components of project assets.",
        "label": "Schedule of Project Assets [Table Text Block]",
        "terseLabel": "Schedule of project assets"
       }
      }
     },
     "localname": "ScheduleOfProjectAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of property, plant and equipment.",
        "label": "Schedule of Property Plant and Equipment Components [Table Text Block]",
        "terseLabel": "Schedule of property, plant and equipment, net"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Schedule of Property Plant and Equipment Useful Life [Table Text Block]",
        "terseLabel": "Schedule of expected useful lives of property and equipment"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of solar power systems.",
        "label": "Schedule of Solar Power Systems Components [Table Text Block]",
        "terseLabel": "Schedule of solar power systems, net"
       }
      }
     },
     "localname": "ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SecondAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Second administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Second administrative review of Solar 1"
       }
      }
     },
     "localname": "SecondAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SecuredShortTermDebt": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the carrying amount of short-term borrowings secured by assets.",
        "label": "Secured Short Term Debt",
        "terseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "SecuredShortTermDebt",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SeriesOfIndividuallyImmaterialCountriesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregation and reporting of combined amounts of individually immaterial countries.",
        "label": "Series Of Individually Immaterial Countries [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "SeriesOfIndividuallyImmaterialCountriesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ServiceRevenueFromRelatedParty": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Service Revenue from Related Party",
        "terseLabel": "Revenue from providing development services"
       }
      }
     },
     "localname": "ServiceRevenueFromRelatedParty",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SeventhAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Seventh administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Seventh administrative review of Solar 1"
       }
      }
     },
     "localname": "SeventhAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SeventhAdministrativeReviewOfSolarTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to seventh administrative review of Solar 2.",
        "label": "Seventh Administrative Review Of Solar Two [Member]",
        "terseLabel": "Seventh administrative review of Solar 2"
       }
      }
     },
     "localname": "SeventhAdministrativeReviewOfSolarTwoMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Grants after Expiration of Specified Date",
        "terseLabel": "Number of shares to be granted after expiration"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the expiry term of share options from the date of grant, granted under the share incentive plan.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term",
        "terseLabel": "Expiry term of share options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SharePurchaseProceedsFromThirdPartyInvestors": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-controlling interest portion attributable to proceeds received from third-party investors for share purchases.",
        "label": "Share Purchase Proceeds From Third Party Investors",
        "terseLabel": "Proceeds from share purchases of third-party investors"
       }
      }
     },
     "localname": "SharePurchaseProceedsFromThirdPartyInvestors",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.",
        "label": "Shippings and Handling Cost, Policy [Policy Text Block]",
        "terseLabel": "Shipping and handling"
       }
      }
     },
     "localname": "ShippingsAndHandlingCostPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ShortTermBorrowingsOnProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount represents short term borrowings associated with certain solar power projects.",
        "label": "Short Term Borrowings on Project Assets",
        "terseLabel": "Short-term borrowings related to project assets"
       }
      }
     },
     "localname": "ShortTermBorrowingsOnProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShortTermNotePayableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents of Short term note payable.",
        "label": "Short Term Note Payable"
       }
      }
     },
     "localname": "ShortTermNotePayableMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ShortTermNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings classified s short term notes payable.",
        "label": "Short term notes payable",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "ShortTermNotesPayable",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShortTermNotesPayableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.",
        "label": "Short Term Notes Payable [Text Block]",
        "terseLabel": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "ShortTermNotesPayableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SixthAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Solar 1.",
        "label": "Sixth administrative review of Solar 1"
       }
      }
     },
     "localname": "SixthAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarModulesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar modules.",
        "label": "Solar modules"
       }
      }
     },
     "localname": "SolarModulesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Ten Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 10 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Twenty Five Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 25 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Ten Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Twenty Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 1.",
        "label": "Solar 1"
       }
      }
     },
     "localname": "SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerProjectsByEpcServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar power projects by EPC services.",
        "label": "Solar power projects by EPC services"
       }
      }
     },
     "localname": "SolarPowerProjectsByEpcServicesMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerProjectsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar power projects  the product of the entity.",
        "label": "Solar and battery storage power projects"
       }
      }
     },
     "localname": "SolarPowerProjectsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerSystemCommitmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Solar power system commitments.",
        "label": "Solar power system"
       }
      }
     },
     "localname": "SolarPowerSystemCommitmentsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.",
        "label": "Solar Power Systems.",
        "terseLabel": "Solar power systems, net",
        "totalLabel": "Solar power systems, net"
       }
      }
     },
     "localname": "SolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsAbstract",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "xbrltype": "stringItemType"
    },
    "csiq_SolarPowerSystemsGross": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": 2.0,
       "parentTag": "csiq_SolarPowerSystems",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.",
        "label": "Solar Power Systems, Gross",
        "terseLabel": "Solar power systems, gross"
       }
      }
     },
     "localname": "SolarPowerSystemsGross",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.",
        "label": "Solar Power Systems, Policy [Policy Text Block]",
        "terseLabel": "Solar power systems"
       }
      }
     },
     "localname": "SolarPowerSystemsPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarPowerSystemsReclassifiedToProjectAssets": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of solar power systems reclassified to project assets.",
        "label": "Solar Power Systems Reclassified To Project Assets",
        "terseLabel": "Reclassification of solar power systems to project assets"
       }
      }
     },
     "localname": "SolarPowerSystemsReclassifiedToProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.",
        "label": "Solar Power Systems [Text Block]",
        "terseLabel": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarProjectMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to solar project",
        "label": "Solar Project [Member]",
        "terseLabel": "Solar project"
       }
      }
     },
     "localname": "SolarProjectMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarSystemKitsProductMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar system kits, the product of the entity.",
        "label": "Solar system kits"
       }
      }
     },
     "localname": "SolarSystemKitsProductMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 2.",
        "label": "Solar 2"
       }
      }
     },
     "localname": "SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SonoranWestSolarHoldings2LlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Sonoran West Solar Holdings 2, LLC.",
        "label": "Sonoran West Solar Holdings 2, LLC"
       }
      }
     },
     "localname": "SonoranWestSolarHoldings2LlcMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SonoranWestSolarHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Sonoran West Solar Holdings, LLC.",
        "label": "Sonoran West Solar Holdings, LLC"
       }
      }
     },
     "localname": "SonoranWestSolarHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StandardProductWarrantyExtensionPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The extended period of time over which the entity guarantees against defects.",
        "label": "Standard Product Warranty, Extension Period",
        "terseLabel": "Standard product warranty, extension period"
       }
      }
     },
     "localname": "StandardProductWarrantyExtensionPeriod",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_StandardProductWarrantyPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the period of time over which the entity guarantees against defects in materials and workmanship.",
        "label": "Standard Product Warranty Period",
        "terseLabel": "Guarantee of solar modules for defects in materials and engineering design, installation and construction"
       }
      }
     },
     "localname": "StandardProductWarrantyPeriod",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_StandardSolarModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Standard Solar module.",
        "label": "Standard solar modules"
       }
      }
     },
     "localname": "StandardSolarModuleMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StockOptionsAndRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the share options and restricted share units.",
        "label": "Share options and RSUs"
       }
      }
     },
     "localname": "StockOptionsAndRestrictedStockUnitsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SubscriptionAdvances": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of subscription advances were fully received and recorded as other payables on the consolidated balance sheets.",
        "label": "Subscription Advances",
        "terseLabel": "Subscription advances"
       }
      }
     },
     "localname": "SubscriptionAdvances",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SunmexRenovablesS.a.DeC.v.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Sunmex Renovables, S.A. De C.V.",
        "label": "Sunmex Renovables, S.A. De C.V."
       }
      }
     },
     "localname": "SunmexRenovablesS.a.DeC.v.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd member.",
        "label": "Suntop Finco Pty Ltd. and Gunnedah Finco Pty Ltd"
       }
      }
     },
     "localname": "SuntopFincoPtyLtd.AndGunnedahFincoPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierBMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier B.",
        "label": "Supplier B"
       }
      }
     },
     "localname": "SupplierBMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier C.",
        "label": "Supplier C"
       }
      }
     },
     "localname": "SupplierCMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SupplierMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier A.",
        "label": "Supplier A"
       }
      }
     },
     "localname": "SupplierMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouFinancialLeasingCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Suzhou Financial Leasing Co., Ltd.",
        "label": "Suzhou Financial Leasing Co., Ltd. [Member]",
        "terseLabel": "Suzhou Financial Leasing Co., Ltd."
       }
      }
     },
     "localname": "SuzhouFinancialLeasingCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouIsilverMaterialsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou iSilver Materials Co.",
        "label": "Suzhou iSilver Materials Co"
       }
      }
     },
     "localname": "SuzhouIsilverMaterialsMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouKzoneEquipmentTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.",
        "label": "Suzhou Kzone Equipment Technology Co., Ltd"
       }
      }
     },
     "localname": "SuzhouKzoneEquipmentTechnologyMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the information pertaining to Suzhou Zhuosheng Venture Investment Fund, LLP.",
        "label": "Suzhou Zhuosheng Venture Investment Fund, LLP [Member]",
        "terseLabel": "Suzhou Zhuosheng Venture Investment Fund, LLP"
       }
      }
     },
     "localname": "SuzhouZhuoshengVentureInvestmentFundLlpMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_TermLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to a Represents the information pertaining to term loan.",
        "label": "Term loan"
       }
      }
     },
     "localname": "TermLoanMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ThirdAdministrativeReviewOfSolarOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Third administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Third administrative review of Solar 1"
       }
      }
     },
     "localname": "ThirdAdministrativeReviewOfSolarOneMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.",
        "label": "Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries"
       }
      }
     },
     "localname": "ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_TotalAmountOfMatures": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of total amount of matures.",
        "label": "Total Amount Of Matures",
        "terseLabel": "Amount of matures"
       }
      }
     },
     "localname": "TotalAmountOfMatures",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_Tranche1LoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to tranche 1 loan facility.",
        "label": "Tranche 1 Loan Facility [Member]",
        "terseLabel": "Tranche 1"
       }
      }
     },
     "localname": "Tranche1LoanFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_Tranche2LoanFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to tranche 2 loan facility.",
        "label": "Tranche 2 Loan Facility [Member]",
        "terseLabel": "Tranche 2"
       }
      }
     },
     "localname": "Tranche2LoanFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_UnrealizedGainLossFromSalesToInvestees": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount of unrealized gain, (loss) from sales to investees.",
        "label": "Unrealized Gain, (Loss) from Sales to Investees",
        "negatedLabel": "Unrealized gain (loss) from sales to affiliates"
       }
      }
     },
     "localname": "UnrealizedGainLossFromSalesToInvestees",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_UnrecognizedTaxStatueOfLimitationsExpirations": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents adjustments related to status of limitations expirations.",
        "label": "Unrecognized Tax statue of limitations expirations",
        "terseLabel": "Statue of limitations expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxStatueOfLimitationsExpirations",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_UnusualOrInfrequentItemPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire policy related to unusual and/or infrequent items.",
        "label": "Unusual Or Infrequent Item [Policy Text Block]",
        "terseLabel": "Risks and uncertainties related to the COVID-19 pandemic"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_UtilityScaleBatteryStorageMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Utility-scale battery storage.",
        "label": "Utility Scale Battery Storage [Member]",
        "terseLabel": "Utility-scale battery storage"
       }
      }
     },
     "localname": "UtilityScaleBatteryStorageMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.",
        "label": "Valuation Allowances and Reserves Charged to Cost and Expense and Recoveries Net",
        "terseLabel": "Provision for credit losses, net",
        "verboseLabel": "Reversals"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ValuationAllowancesAndReservesForeignExchangeEffect": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the foreign exchange effects in a given period to allowances or reserves.",
        "label": "Valuation Allowances and Reserves Foreign Exchange Effect",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesForeignExchangeEffect",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the withholding tax rate on dividends distributed by foreign investment entities.",
        "label": "Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)"
       }
      }
     },
     "localname": "WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_WorkingCapitalFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to working capital facility.",
        "label": "Working Capital Facility"
       }
      }
     },
     "localname": "WorkingCapitalFacilityMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Yancheng Jiwa New Material Technology Co., Ltd.",
        "label": "Yancheng Jiwa New Material Technology Co., Ltd"
       }
      }
     },
     "localname": "YanchengJiwaNewMaterialTechnologyCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20221231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AddressTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types.",
        "label": "Address Type [Domain]"
       }
      }
     },
     "localname": "AddressTypeDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r886",
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r886",
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r886",
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_BusinessContactMember": {
     "auth_ref": [
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business contact for the entity",
        "label": "Business Contact"
       }
      }
     },
     "localname": "BusinessContactMember",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_ContactPersonnelName": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of contact personnel",
        "label": "Contact Personnel Name"
       }
      }
     },
     "localname": "ContactPersonnelName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r887"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r886",
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r882"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r887"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r889"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country",
        "terseLabel": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table.",
        "label": "Entity Addresses, Address Type [Axis]"
       }
      }
     },
     "localname": "EntityAddressesAddressTypeAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r890"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r884"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r891"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r886",
      "r887",
      "r888"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r883"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r885"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_AffiliatedEntityMember": {
     "auth_ref": [
      "r830",
      "r951",
      "r998",
      "r999",
      "r1000"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Affiliated Entity [Member]",
        "terseLabel": "Various affiliates"
       }
      }
     },
     "localname": "AffiliatedEntityMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_AsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia and other regions"
       }
      }
     },
     "localname": "AsiaMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ChiefExecutiveOfficerMember": {
     "auth_ref": [
      "r927"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dr. Shawn Qu"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract",
     "nsuri": "http://fasb.org/srt/2022",
     "xbrltype": "stringItemType"
    },
    "srt_CondensedFinancialStatementsCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements, Captions [Line Items]",
        "terseLabel": "Condensed Financial Statements"
       }
      }
     },
     "localname": "CondensedFinancialStatementsCaptionsLineItems",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesAxis": {
     "auth_ref": [
      "r344",
      "r664",
      "r665",
      "r668",
      "r669",
      "r757",
      "r830",
      "r940",
      "r943",
      "r944"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesDomain": {
     "auth_ref": [
      "r344",
      "r664",
      "r665",
      "r668",
      "r669",
      "r757",
      "r830",
      "r940",
      "r943",
      "r944"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r344",
      "r399",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r417",
      "r421",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r507",
      "r509",
      "r511",
      "r512",
      "r941",
      "r942"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r344",
      "r399",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r417",
      "r421",
      "r501",
      "r502",
      "r503",
      "r504",
      "r506",
      "r507",
      "r509",
      "r511",
      "r512",
      "r941",
      "r942"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r341",
      "r342",
      "r517",
      "r543",
      "r840",
      "r842"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_LitigationCaseAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "localname": "LitigationCaseAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_LitigationCaseTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Domain]"
       }
      }
     },
     "localname": "LitigationCaseTypeDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r497",
      "r498",
      "r499",
      "r500",
      "r574",
      "r764",
      "r798",
      "r831",
      "r832",
      "r857",
      "r867",
      "r881",
      "r945",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r497",
      "r498",
      "r499",
      "r500",
      "r574",
      "r764",
      "r798",
      "r831",
      "r832",
      "r857",
      "r867",
      "r881",
      "r945",
      "r1003",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ParentCompanyMember": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Company"
       }
      }
     },
     "localname": "ParentCompanyMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r423",
      "r767",
      "r858",
      "r879",
      "r936",
      "r937",
      "r949",
      "r1011"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r423",
      "r767",
      "r858",
      "r879",
      "r936",
      "r937",
      "r949",
      "r1011"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r497",
      "r498",
      "r499",
      "r500",
      "r561",
      "r574",
      "r607",
      "r608",
      "r609",
      "r760",
      "r764",
      "r798",
      "r831",
      "r832",
      "r857",
      "r867",
      "r881",
      "r932",
      "r945",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r497",
      "r498",
      "r499",
      "r500",
      "r561",
      "r574",
      "r607",
      "r608",
      "r609",
      "r760",
      "r764",
      "r798",
      "r831",
      "r832",
      "r857",
      "r867",
      "r881",
      "r932",
      "r945",
      "r1004",
      "r1005",
      "r1006",
      "r1007",
      "r1008"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ReportableLegalEntitiesMember": {
     "auth_ref": [
      "r344",
      "r940",
      "r943",
      "r944"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reportable Legal Entities [Member]",
        "terseLabel": "Reportable legal entities"
       }
      }
     },
     "localname": "ReportableLegalEntitiesMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r341",
      "r342",
      "r517",
      "r543",
      "r841",
      "r842"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r575",
      "r924"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r366",
      "r575",
      "r893",
      "r924"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario, Unspecified [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfCondensedFinancialStatementsTable": {
     "auth_ref": [
      "r344",
      "r894"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements [Table]"
       }
      }
     },
     "localname": "ScheduleOfCondensedFinancialStatementsTable",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r437"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r424",
      "r425",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r859",
      "r880",
      "r949"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r424",
      "r425",
      "r813",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r859",
      "r880",
      "r949"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r366",
      "r575",
      "r893",
      "r895",
      "r924"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SubsidiariesMember": {
     "auth_ref": [
      "r951",
      "r998",
      "r999",
      "r1000"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CSI Solar Co"
       }
      }
     },
     "localname": "SubsidiariesMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r345",
      "r346",
      "r347",
      "r348",
      "r349"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate202004Member": {
     "auth_ref": [
      "r745"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accounting Standards Update 2020-04 Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.",
        "label": "Accounting Standards Update 2020-04 [Member]"
       }
      }
     },
     "localname": "AccountingStandardsUpdate202004Member",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableOtherCurrent": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Accounts Payable, Other, Current",
        "verboseLabel": "Other payables"
       }
      }
     },
     "localname": "AccountsPayableOtherCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "auth_ref": [
      "r0",
      "r20"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableTradeCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r929"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of allowances for credit losses"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r302",
      "r429",
      "r430",
      "r835"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Receivable, gross"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r429",
      "r430"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable trade",
        "totalLabel": "Receivable, Net",
        "verboseLabel": "Accounts receivable trade, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccretionExpense": {
     "auth_ref": [
      "r851",
      "r933"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.",
        "label": "Fair Value Assumptions, Exercise Price",
        "verboseLabel": "Accretion of convertible notes"
       }
      }
     },
     "localname": "AccretionExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r124",
      "r296"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r39",
      "r40",
      "r41",
      "r304",
      "r792",
      "r806",
      "r810"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r38",
      "r41",
      "r194",
      "r750",
      "r801",
      "r802",
      "r903",
      "r904",
      "r905",
      "r921",
      "r922",
      "r923"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r617",
      "r618",
      "r619",
      "r921",
      "r922",
      "r923",
      "r990"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r354",
      "r355",
      "r356",
      "r357",
      "r366",
      "r432",
      "r433",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r617",
      "r618",
      "r619",
      "r644",
      "r645",
      "r646",
      "r647",
      "r660",
      "r661",
      "r662",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r714",
      "r715",
      "r720",
      "r721",
      "r722",
      "r723",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r769",
      "r770",
      "r771",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by amendment to accounting standards.",
        "label": "Accounting Standards Update [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to net income:",
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r161",
      "r162",
      "r578"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdvancesOnInventoryPurchases": {
     "auth_ref": [
      "r901"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.",
        "label": "Advances to suppliers",
        "netLabel": "Advances to suppliers",
        "verboseLabel": "Advances to suppliers, net"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchases",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r612"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense",
        "verboseLabel": "Total recognized compensation cost"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r916",
      "r917",
      "r918",
      "r919",
      "r920"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Allowances for accounts receivable"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r102",
      "r929"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "terseLabel": "Schedule of allowances"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForCreditLossesTextBlock": {
     "auth_ref": [
      "r104"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for allowance for credit losses.",
        "label": "Allowance for Credit Losses [Text Block]",
        "terseLabel": "ALLOWANCE FOR CREDIT LOSSES"
       }
      }
     },
     "localname": "AllowanceForCreditLossesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r305",
      "r431",
      "r449",
      "r452",
      "r454"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r305",
      "r431",
      "r449"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "negatedLabel": "Allowance for credit losses",
        "periodEndLabel": "Closing balance",
        "periodStartLabel": "Beginning of the year",
        "terseLabel": "Accounts receivable trade, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r46",
      "r536",
      "r718",
      "r911"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of financing costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r71",
      "r113",
      "r118"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [
      "r337"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.",
        "label": "Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution",
        "verboseLabel": "Restricted net assets"
       }
      }
     },
     "localname": "AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r380"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share, total"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r71",
      "r121"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Asset Impairment Charges",
        "terseLabel": "Impairment charges for property, plant and equipment",
        "verboseLabel": "Impairment loss of property, plant and equipment"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetPledgedAsCollateralWithoutRightMember": {
     "auth_ref": [
      "r664",
      "r761",
      "r763"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset pledged as collateral for which secured party (transferee) does not have right to sell or repledge by contract or custom.",
        "label": "Asset Pledged as Collateral without Right [Member]"
       }
      }
     },
     "localname": "AssetPledgedAsCollateralWithoutRightMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetRetirementObligation": {
     "auth_ref": [
      "r488",
      "r489"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.",
        "label": "Asset Retirement Obligation",
        "terseLabel": "Asset retirement obligation"
       }
      }
     },
     "localname": "AssetRetirementObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetRetirementObligationsPolicy": {
     "auth_ref": [
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.",
        "label": "Asset Retirement Obligations, Policy [Policy Text Block]",
        "terseLabel": "Assets retirement obligation"
       }
      }
     },
     "localname": "AssetRetirementObligationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AssetUnderConstructionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset in process of being built.",
        "label": "Solar power systems under construction"
       }
      }
     },
     "localname": "AssetUnderConstructionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r244",
      "r265",
      "r299",
      "r338",
      "r407",
      "r413",
      "r419",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r664",
      "r668",
      "r691",
      "r878",
      "r941",
      "r942",
      "r1001"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets",
        "totalLabel": "TOTAL ASSETS"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r290",
      "r308",
      "r338",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r664",
      "r668",
      "r691",
      "r878",
      "r941",
      "r942",
      "r1001"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Fair Value Disclosure [Abstract]",
        "terseLabel": "Assets:"
       }
      }
     },
     "localname": "AssetsFairValueDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r209",
      "r212"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Buildings"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r181",
      "r182",
      "r183"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Business Combination, Consideration Transferred",
        "verboseLabel": "Aggregate consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "auth_ref": [
      "r181",
      "r182"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination.",
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "verboseLabel": "Equity fair value of consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r178"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business combination"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r76",
      "r77",
      "r78"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Property, plant and equipment costs included in other payables"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis": {
     "auth_ref": [
      "r237",
      "r238",
      "r239"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by project.",
        "label": "Project [Axis]"
       }
      }
     },
     "localname": "CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r811",
      "r812",
      "r878",
      "r897"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash"
       }
      }
     },
     "localname": "Cash",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r73",
      "r293",
      "r833"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r74",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r68",
      "r73",
      "r79"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the year",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the year",
        "totalLabel": "Total cash and cash equivalents, and restricted cash shown in the statements of cash flows"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r68",
      "r228"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowHedgingMember": {
     "auth_ref": [
      "r206"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.",
        "label": "Cash flow hedge"
       }
      }
     },
     "localname": "CashFlowHedgingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "auth_ref": [
      "r85",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of change in accounting estimate.",
        "label": "Change in Accounting Estimate by Type [Axis]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "auth_ref": [
      "r85",
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities.",
        "label": "Change in Accounting Estimate, Type [Domain]"
       }
      }
     },
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r29",
      "r253",
      "r274"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies.",
        "terseLabel": "Commitments and contingencies (Note 21)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r128",
      "r494",
      "r495",
      "r816",
      "r939"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r137",
      "r817"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Commitments and Contingencies, Policy [Policy Text Block]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommodityContractMember": {
     "auth_ref": [
      "r865",
      "r876"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument whose primary underlying risk is tied to commodity prices.",
        "label": "Commodity hedge",
        "terseLabel": "Commodity hedge"
       }
      }
     },
     "localname": "CommodityContractMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r921",
      "r922",
      "r990"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Shares"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common share, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r10"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "terseLabel": "Common shares, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r10",
      "r147"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common shares, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r10",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively",
        "verboseLabel": "Common shares - no par value: unlimited authorized shares, 64,022,678 and 64,506,055 shares issued and outstanding at December 31, 2021 and 2022, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]",
        "terseLabel": "Principal components of deferred income tax assets"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Total income tax expense"
       }
      }
     },
     "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r42",
      "r316",
      "r318",
      "r327",
      "r788",
      "r795"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r187",
      "r188",
      "r202",
      "r316",
      "r318",
      "r326",
      "r787",
      "r794"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest",
        "terseLabel": "Less: comprehensive income attributable to non-controlling interests"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r186",
      "r202",
      "r316",
      "r318",
      "r325",
      "r786",
      "r793"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for comprehensive income.",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "terseLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r871",
      "r930",
      "r931"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.",
        "label": "Computer software"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r88",
      "r89",
      "r224",
      "r225",
      "r427",
      "r815",
      "r1012"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r261",
      "r391"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r86",
      "r88",
      "r89",
      "r90",
      "r224",
      "r226",
      "r815"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r88",
      "r89",
      "r224",
      "r225",
      "r427",
      "r815"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock": {
     "auth_ref": [
      "r287",
      "r344",
      "r894"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.",
        "label": "Condensed Financial Information of Parent Company Only Disclosure [Text Block]",
        "terseLabel": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r191",
      "r843"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Basis of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r123"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in process"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r948"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Schedule of contract assets and contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r545",
      "r546",
      "r558"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "terseLabel": "Contract liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r545",
      "r546",
      "r558"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract With Customer Liability, Current",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r559"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized from beginning balance of contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtMember": {
     "auth_ref": [
      "r143",
      "r514",
      "r515",
      "r526",
      "r527",
      "r528",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "Convertible Debt"
       }
      }
     },
     "localname": "ConvertibleDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleLongTermNotesPayable": {
     "auth_ref": [
      "r27"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Noncurrent",
        "terseLabel": "Convertible notes"
       }
      }
     },
     "localname": "ConvertibleLongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayable": {
     "auth_ref": [
      "r5",
      "r247",
      "r267",
      "r278"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of a written promise to pay a note, initially due after one year or beyond the operating cycle if longer, which can be exchanged for a specified amount of one or more securities (typically common stock), at the option of the issuer or the holder.",
        "label": "Convertible Notes Payable",
        "terseLabel": "Convertible notes"
       }
      }
     },
     "localname": "ConvertibleNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "auth_ref": [
      "r23"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Current",
        "verboseLabel": "Carrying value of convertible notes"
       }
      }
     },
     "localname": "ConvertibleNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r50",
      "r767"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSoldAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold [Abstract]",
        "verboseLabel": "Cost of revenues:"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostsAndExpensesRelatedParty": {
     "auth_ref": [
      "r51"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Costs of sales and operating expenses for the period incurred from transactions with related parties.",
        "label": "Costs and Expenses, Related Party",
        "terseLabel": "Purchase cost incurred from related party"
       }
      }
     },
     "localname": "CostsAndExpensesRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "auth_ref": [
      "r446",
      "r447",
      "r448",
      "r450",
      "r451",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status.",
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r176",
      "r641",
      "r651",
      "r914"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current tax expense (benefit)"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current tax"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtCurrent": {
     "auth_ref": [
      "r301"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of debt and lease obligation, classified as current.",
        "label": "Debt, Current",
        "totalLabel": "Subtotal for short-term borrowings"
       }
      }
     },
     "localname": "DebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r146",
      "r336",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r530",
      "r537",
      "r538",
      "r540"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowings"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAnnualPrincipalPayment": {
     "auth_ref": [
      "r5"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the total principal payments made during the annual reporting period.",
        "label": "Debt Instrument, Annual Principal Payment",
        "verboseLabel": "Conversion rate initial principal amount"
       }
      }
     },
     "localname": "DebtInstrumentAnnualPrincipalPayment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r3",
      "r4",
      "r5",
      "r245",
      "r247",
      "r263",
      "r344",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r520",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r719",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r912"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r144",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "verboseLabel": "Conversion price (in dollars per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "auth_ref": [
      "r26",
      "r148",
      "r149",
      "r151",
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.",
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "verboseLabel": "Conversion rate"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.",
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Sales price of common stock as percentage of conversion price for redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r231",
      "r233",
      "r514",
      "r719",
      "r853",
      "r854"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Amount of loan facility"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r25",
      "r231",
      "r542",
      "r719"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r25",
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "BORROWINGS",
        "verboseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r27",
      "r344",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r520",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r719",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r912"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r27",
      "r148",
      "r150",
      "r151",
      "r152",
      "r230",
      "r231",
      "r233",
      "r259",
      "r344",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r520",
      "r526",
      "r527",
      "r528",
      "r529",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r539",
      "r719",
      "r852",
      "r853",
      "r854",
      "r855",
      "r856",
      "r912"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Term of facility (in years)"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r230",
      "r233",
      "r946"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Debt Instrument, Unamortized Discount",
        "terseLabel": "Debt instrument unamortized cost"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.",
        "label": "Debt, Long-term and Short-term, Combined Amount",
        "terseLabel": "Outstanding balance",
        "totalLabel": "Total",
        "verboseLabel": "Debt"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Long-term and Short-term, Combined Amount [Abstract]",
        "terseLabel": "BANK BORROWINGS"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r232"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Deferred Finance Costs, Gross",
        "terseLabel": "Unamortized issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "auth_ref": [
      "r232",
      "r946"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Net",
        "terseLabel": "Debt issuance cost"
       }
      }
     },
     "localname": "DeferredFinanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r626",
      "r627"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets",
        "verboseLabel": "Deferred tax assets, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r71",
      "r176",
      "r642",
      "r650",
      "r651",
      "r914"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred tax expense (benefit)"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred tax"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r7",
      "r8",
      "r246",
      "r262",
      "r636"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "totalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r626",
      "r627"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "negatedLabel": "Deferred tax liabilities",
        "terseLabel": "Deferred tax liabilities",
        "verboseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.",
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r637"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets, gross"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsGrossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory write-down"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r982"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r982"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets, net of valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating losses carry-forward"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "terseLabel": "Depreciation and impairment difference of property, plant and equipment and solar power systems"
       }
      }
     },
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "terseLabel": "Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.",
        "label": "Deferred Tax Assets, Unrealized Currency Losses",
        "terseLabel": "Unrealized foreign exchange loss and capital loss"
       }
      }
     },
     "localname": "DeferredTaxAssetsUnrealizedCurrencyLosses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r638"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "periodEndLabel": "End of the year",
        "periodStartLabel": "Beginning of the year"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Analysis as:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDerivatives": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from derivatives.",
        "label": "Deferred Tax Liabilities, Derivatives",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Depreciation difference of property, plant and equipment"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains": {
     "auth_ref": [
      "r173",
      "r983"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.",
        "label": "Deferred Tax Liabilities, Unrealized Currency Transaction Gains",
        "verboseLabel": "Unrealized foreign exchange gain"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r658"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.",
        "label": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Unrecognized deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r573"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Defined Contribution Plan, Cost Recognized",
        "terseLabel": "Defined contributions schemes expense"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employer's contribution (as a percent)"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r71",
      "r122"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r71",
      "r402"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetsCurrent": {
     "auth_ref": [
      "r309"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset, Current",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DerivativeAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r34",
      "r35",
      "r36",
      "r219"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.",
        "label": "Derivative Asset, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives asset"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r34",
      "r35",
      "r36",
      "r219"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives liability"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r210",
      "r211",
      "r215",
      "r217",
      "r842"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "auth_ref": [
      "r207",
      "r210",
      "r215"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of hedging relationship.",
        "label": "Hedging Relationship [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "auth_ref": [
      "r207",
      "r210",
      "r215",
      "r217",
      "r220",
      "r221",
      "r671"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "terseLabel": "Effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": {
     "auth_ref": [
      "r214",
      "r989"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.",
        "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives"
       }
      }
     },
     "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilitiesCurrent": {
     "auth_ref": [
      "r309"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability, Current",
        "terseLabel": "Derivative liabilities"
       }
      }
     },
     "localname": "DerivativeLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeNotionalAmount": {
     "auth_ref": [
      "r987",
      "r988"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payment on derivative.",
        "label": "Derivative, Notional Amount",
        "terseLabel": "Total notional amounts"
       }
      }
     },
     "localname": "DerivativeNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Effect of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "DerivativesFairValueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "auth_ref": [
      "r204",
      "r205",
      "r207",
      "r208",
      "r218",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.",
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivatives instruments and hedging activity"
       }
      }
     },
     "localname": "DerivativesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Designated as hedging instruments"
       }
      }
     },
     "localname": "DesignatedAsHedgingInstrumentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Technical know-how"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.",
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities",
        "terseLabel": "Dilutive effect of convertible notes"
       }
      }
     },
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Revenue recognition:"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r557",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863",
      "r864"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r949"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of disaggregation of revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r581",
      "r613",
      "r614",
      "r616",
      "r621",
      "r868"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Country [Member]",
        "terseLabel": "Canada"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r303",
      "r503",
      "r504",
      "r505",
      "r511",
      "r512",
      "r513",
      "r754",
      "r836",
      "r915"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).",
        "label": "Due from Related Parties, Current",
        "positiveLabel": "Amounts due from subsidiaries",
        "terseLabel": "Amounts due from related parties",
        "verboseLabel": "Amount due from related parties, current"
       }
      }
     },
     "localname": "DueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueFromRelatedPartiesNoncurrent": {
     "auth_ref": [
      "r294",
      "r503",
      "r504",
      "r505",
      "r511",
      "r512",
      "r513",
      "r754",
      "r915"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date, which are usually due after one year (or one business cycle).",
        "label": "Due from Related Parties, Noncurrent",
        "terseLabel": "Amount due from related parties",
        "verboseLabel": "Amount due from related parties, Non current"
       }
      }
     },
     "localname": "DueFromRelatedPartiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r20",
      "r503",
      "r504",
      "r505",
      "r511",
      "r512",
      "r513",
      "r754",
      "r915"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties",
        "verboseLabel": "Amounts due to subsidiaries"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r328",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r367",
      "r370",
      "r377",
      "r378",
      "r379",
      "r383",
      "r682",
      "r683",
      "r789",
      "r796",
      "r847"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Earnings per share - basic",
        "verboseLabel": "Basic earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r328",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r370",
      "r377",
      "r378",
      "r379",
      "r383",
      "r682",
      "r683",
      "r789",
      "r796",
      "r847"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Earnings per share - diluted",
        "verboseLabel": "Diluted earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r83",
      "r84"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r380",
      "r381",
      "r382",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r992"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "terseLabel": "Effect of exchange rate changes"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r629"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Actual income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r979",
      "r984"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r652",
      "r979"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Effect of change in tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r979",
      "r984"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Effect of different tax rate on earnings in other jurisdictions (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "auth_ref": [
      "r979",
      "r984"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "terseLabel": "Unrecognized tax provision (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "auth_ref": [
      "r979",
      "r984"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "verboseLabel": "Federal Investment Tax Credit (as a percentage)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays": {
     "auth_ref": [
      "r979",
      "r984"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Holiday, Percent",
        "negatedLabel": "Effect of tax holiday (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxHolidays",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ElectricGenerationEquipmentMember": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used for the primary purpose of generating electricity to be distributed to the consumer.",
        "label": "Solar power systems"
       }
      }
     },
     "localname": "ElectricGenerationEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ElectricityMember": {
     "auth_ref": [
      "r950"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generation, transmission and distribution of electric energy.",
        "label": "Electricity"
       }
      }
     },
     "localname": "ElectricityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r615"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Gross unrecognized share-based compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r615"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period of recognition of compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r978"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "terseLabel": "Total unrecognized share-based compensation costs"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenues generated from each product"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r147",
      "r284",
      "r320",
      "r321",
      "r322",
      "r350",
      "r351",
      "r352",
      "r355",
      "r363",
      "r365",
      "r387",
      "r443",
      "r544",
      "r617",
      "r618",
      "r619",
      "r646",
      "r647",
      "r681",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r750",
      "r801",
      "r802",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r107"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage",
        "verboseLabel": "Ownership Percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r906",
      "r907",
      "r911"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Equity Method Investment, Realized Gain (Loss) on Disposal",
        "negatedLabel": "Gain on disposal of investments in affiliates",
        "terseLabel": "Gain on sale of interest in affiliates",
        "verboseLabel": "Gain on disposal of investment in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r106",
      "r408",
      "r898"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Method Investments",
        "terseLabel": "Investments in affiliates",
        "verboseLabel": "Carrying Value"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "auth_ref": [
      "r439"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r67",
      "r108",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Method Investments, Policy [Policy Text Block]",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "auth_ref": [
      "r110"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Schedule of investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquitySecuritiesFVNINoncurrent": {
     "auth_ref": [
      "r690"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as noncurrent.",
        "label": "Equity Securities, FV-NI, Noncurrent",
        "terseLabel": "Amount of shares carried at fair value"
       }
      }
     },
     "localname": "EquitySecuritiesFVNINoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquitySecuritiesFvNiCurrentAndNoncurrent": {
     "auth_ref": [
      "r300",
      "r690"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).",
        "label": "Equity Securities, FV-NI",
        "terseLabel": "Listed equity securities"
       }
      }
     },
     "localname": "EquitySecuritiesFvNiCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementScheduleOfFinancialAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGain": {
     "auth_ref": [
      "r436"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized gain on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).",
        "label": "Equity Securities, FV-NI, Unrealized Gain",
        "terseLabel": "Unrealized gains"
       }
      }
     },
     "localname": "EquitySecuritiesFvNiUnrealizedGain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedLoss": {
     "auth_ref": [
      "r436"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized loss on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).",
        "label": "Equity Securities, FV-NI, Unrealized Loss",
        "terseLabel": "Unrealized losses"
       }
      }
     },
     "localname": "EquitySecuritiesFvNiUnrealizedLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtinguishmentOfDebtAxis": {
     "auth_ref": [
      "r145"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to the debt extinguished including the amount of gain (loss), the income tax effect on the gain (loss), and the amount of gain (loss), net or the related income tax, by debt instrument.",
        "label": "Extinguishment of Debt [Axis]"
       }
      }
     },
     "localname": "ExtinguishmentOfDebtAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ExtinguishmentOfDebtTypeDomain": {
     "auth_ref": [
      "r145"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of debt extinguished.",
        "label": "Extinguishment of Debt, Type [Domain]"
       }
      }
     },
     "localname": "ExtinguishmentOfDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r685",
      "r686",
      "r689"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r688"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "auth_ref": [
      "r687"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.",
        "label": "Gain (Loss) on Derivative Instruments, Net, Pretax",
        "negatedLabel": "Loss (gain) on change in fair value of derivatives, net",
        "negatedTerseLabel": "Loss (gain) on change in fair value of derivatives",
        "positiveLabel": "Gain (loss) on change in fair value of derivatives, net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives, net"
       }
      }
     },
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r222",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair value of financial instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r209",
      "r213",
      "r220"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]"
       }
      }
     },
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r727",
      "r733",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r729",
      "r736"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Finance Lease, Interest Payment on Liability",
        "negatedLabel": "Operating cash outflows from finance lease"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r725",
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total Finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease, Liability, Current",
        "verboseLabel": "Finance lease liabilities, current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r726"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability.",
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease, Liability, Noncurrent",
        "verboseLabel": "Finance lease liabilities, noncurrent"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r726"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability.",
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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).",
        "label": "Finance Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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).",
        "label": "Finance Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finance Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList": {
     "auth_ref": [
      "r726"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of financial position that includes finance lease liability.",
        "label": "Finance Lease, Liability, Statement of Financial Position [Extensible Enumeration]"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r728",
      "r736"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Repayments of finance lease obligation"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r727",
      "r733",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of ROU assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r739",
      "r877"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average of lease discount rate - finance lease"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r738",
      "r877"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average of remaining lease term - finance leases (in years)"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FinancialGuaranteeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An agreement (contract) that requires the guarantor to make payments to the guaranteed party based on another entity's failure to pay specified obligations, such as debt, to a lender.",
        "label": "Financial Guarantee"
       }
      }
     },
     "localname": "FinancialGuaranteeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Amortization period"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r297",
      "r483"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r119"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r481",
      "r482",
      "r483",
      "r484",
      "r768",
      "r772"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Expected amortization expense of intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r117",
      "r772"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "INTANGIBLE ASSETS, NET",
        "verboseLabel": "Intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r114",
      "r116"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r117",
      "r768"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Total intangible assets, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r700",
      "r702",
      "r704",
      "r705"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign exchange gain (loss), net"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r713"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.",
        "label": "Foreign exchange forward contracts",
        "terseLabel": "Foreign exchange forward contracts"
       }
      }
     },
     "localname": "ForeignExchangeForwardMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignExchangeOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An option that allows the holder to buy (if call) or sell (if put) an underlying currency at a fixed exercise rate, expressed as an exchange, during a specified period (an American option) or at a specified date (a European option).",
        "label": "Foreign exchange option contracts",
        "terseLabel": "Foreign exchange option contracts"
       }
      }
     },
     "localname": "ForeignExchangeOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture, fixtures and equipment"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Gain Contingencies [Line Items]",
        "terseLabel": "Principal accounting policies:"
       }
      }
     },
     "localname": "GainContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainContingenciesTable": {
     "auth_ref": [
      "r938"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sets forth the existing conditions, situations, or sets of circumstances involving uncertainties as of the balance sheet date (or before issuance of the financial statements) that might result in a gain, typically reflecting care to avoid misleading implications as to the likelihood of realization, and previously disclosed contingent gains that were recognized as income in the period.",
        "label": "Gain Contingencies [Table]"
       }
      }
     },
     "localname": "GainContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainLossOnInvestments": {
     "auth_ref": [
      "r54",
      "r105",
      "r892"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) on investment.",
        "label": "Gain (Loss) on Investments",
        "terseLabel": "Investment income (loss), net",
        "verboseLabel": "Investment (loss) gain"
       }
      }
     },
     "localname": "GainLossOnInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfDerivatives": {
     "auth_ref": [
      "r71",
      "r257"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 36.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.",
        "label": "Gain (Loss) on Sale of Derivatives",
        "negatedLabel": "Net settlement of derivatives",
        "negatedTerseLabel": "Net settlement of derivatives"
       }
      }
     },
     "localname": "GainLossOnSaleOfDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss (gain) on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee": {
     "auth_ref": [
      "r785",
      "r906",
      "r907",
      "r911",
      "r1010"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries or equity method investee.",
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary or Equity Method Investee",
        "terseLabel": "Disposal of subsidiaries"
       }
      }
     },
     "localname": "GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "auth_ref": [
      "r115"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.",
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrantMember": {
     "auth_ref": [
      "r950"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award of money not required to be repaid.",
        "label": "Government grants"
       }
      }
     },
     "localname": "GrantMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GranteeStatusAxis": {
     "auth_ref": [
      "r577",
      "r579",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by status of recipient to whom award is granted.",
        "label": "Grantee Status [Axis]"
       }
      }
     },
     "localname": "GranteeStatusAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GranteeStatusDomain": {
     "auth_ref": [
      "r577",
      "r579",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Status of recipient to whom award is granted.",
        "label": "Grantee Status [Domain]"
       }
      }
     },
     "localname": "GranteeStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r49",
      "r338",
      "r407",
      "r412",
      "r418",
      "r421",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r691",
      "r849",
      "r941"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "auth_ref": [
      "r133"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by nature of guarantee.",
        "label": "Guarantor Obligations, Nature [Axis]"
       }
      }
     },
     "localname": "GuaranteeObligationsByNatureAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GuaranteeObligationsMaximumExposure": {
     "auth_ref": [
      "r132"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum potential amount of future payments (undiscounted) the guarantor could be required to make under the guarantee or each group of similar guarantees before reduction for potential recoveries under recourse or collateralization provisions.",
        "label": "Guarantor Obligations, Maximum Exposure, Undiscounted",
        "terseLabel": "Guarantor obligations, maximum exposure"
       }
      }
     },
     "localname": "GuaranteeObligationsMaximumExposure",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "auth_ref": [
      "r131"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees.",
        "label": "Guarantor Obligations, Nature [Domain]"
       }
      }
     },
     "localname": "GuaranteeObligationsNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r207",
      "r671"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingRelationshipDomain": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nature or intent of a hedge.",
        "label": "Hedging Relationship [Domain]"
       }
      }
     },
     "localname": "HedgingRelationshipDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IPOMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First sale of stock by a private company to the public.",
        "label": "Initial public offer"
       }
      }
     },
     "localname": "IPOMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairmentOfInvestments": {
     "auth_ref": [
      "r435"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.",
        "label": "Other than Temporary Impairment Losses, Investments",
        "terseLabel": "Impairment charges on investments",
        "verboseLabel": "Impairment loss of investments in affiliates"
       }
      }
     },
     "localname": "ImpairmentOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r120",
      "r126"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r44",
      "r241",
      "r256",
      "r276",
      "r407",
      "r412",
      "r418",
      "r421",
      "r790",
      "r849"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before income taxes and equity in earnings of affiliates"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]",
        "terseLabel": "Income (loss) before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r407",
      "r412",
      "r418",
      "r421",
      "r849"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before income taxes and equity in earnings of subsidiaries",
        "totalLabel": "Income before income taxes and equity in earnings of affiliates"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r45",
      "r71",
      "r106",
      "r255",
      "r275",
      "r404"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).",
        "label": "Income (Loss) from Equity Method Investments",
        "negatedTerseLabel": "Equity in earnings of affiliates",
        "terseLabel": "Equity in earnings of affiliates"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r486",
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r491"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r166"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income taxes:"
       }
      }
     },
     "localname": "IncomeTaxContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.",
        "label": "Income Tax Contingency [Table]"
       }
      }
     },
     "localname": "IncomeTaxContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r339",
      "r630",
      "r634",
      "r640",
      "r648",
      "r653",
      "r655",
      "r656",
      "r659"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r340",
      "r364",
      "r365",
      "r405",
      "r628",
      "r649",
      "r654",
      "r797"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax benefit (expense)",
        "negatedTerseLabel": "Income tax benefit (expense)",
        "totalLabel": "Total income tax expense (benefit)"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxHolidayAggregateDollarAmount": {
     "auth_ref": [
      "r653"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.",
        "label": "Income Tax Holiday, Aggregate Dollar Amount",
        "terseLabel": "The aggregate amount (in dollars)"
       }
      }
     },
     "localname": "IncomeTaxHolidayAggregateDollarAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r319",
      "r624",
      "r625",
      "r634",
      "r635",
      "r639",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r75"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid, net of tax refund"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 29.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Payable, Trade",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable trade"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r910"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r765",
      "r910"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 33.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Customer Advances",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due from Related Parties, Current",
        "negatedLabel": "Amounts due from related parties",
        "negatedTerseLabel": "Amounts due from subsidiaries"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 31.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInNotesPayableCurrent": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 30.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.",
        "label": "Increase (Decrease) in Notes Payable, Current",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r910",
      "r995"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayable": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 32.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Increase (Decrease) in Other Accounts Payable",
        "terseLabel": "Other payables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "auth_ref": [
      "r910"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current liabilities classified as other.",
        "label": "Increase (Decrease) in Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r910"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 28.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other non-current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 34.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 27.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities": {
     "auth_ref": [
      "r374",
      "r375",
      "r379"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities",
        "terseLabel": "Dilutive effects of share number from convertible notes"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToConversionOfDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r371",
      "r372",
      "r373",
      "r379",
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Diluted effects of share number from share options and RSUs"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InsuranceSettlementsReceivableNoncurrent": {
     "auth_ref": [
      "r899"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.",
        "label": "Insurance Settlements Receivable, Noncurrent",
        "terseLabel": "Insurance receivable"
       }
      }
     },
     "localname": "InsuranceSettlementsReceivableNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCapitalizationPolicyPolicyTextBlock": {
     "auth_ref": [
      "r229"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for interest capitalization.",
        "label": "Interest Capitalization, Policy [Policy Text Block]",
        "terseLabel": "Interest capitalization"
       }
      }
     },
     "localname": "InterestCapitalizationPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCostsIncurred": {
     "auth_ref": [
      "r717"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total interest costs incurred during the period and either capitalized or charged against earnings.",
        "label": "Interest Costs Incurred",
        "terseLabel": "Total interest incurred"
       }
      }
     },
     "localname": "InterestCostsIncurred",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestCostsIncurredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Costs Incurred [Abstract]",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestCostsIncurredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r232",
      "r258",
      "r323",
      "r401",
      "r716"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "auth_ref": [
      "r56",
      "r535",
      "r855",
      "r856"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.",
        "label": "Interest Expense, Debt, Excluding Amortization",
        "verboseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseDebtExcludingAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r330",
      "r334",
      "r335"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Net",
        "terseLabel": "Interest paid (net of amounts capitalized)",
        "verboseLabel": "Interest paid (net of amounts capitalized)"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrent": {
     "auth_ref": [
      "r23"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Interest Payable, Current",
        "terseLabel": "Interest not paid recorded in other payables"
       }
      }
     },
     "localname": "InterestPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r875"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest rate swap",
        "terseLabel": "Interest rate swap"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r111",
      "r837"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r307",
      "r834",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net, Items Net of Reserve Alternative [Abstract]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryNetItemsNetOfReserveAlternativeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r292",
      "r306",
      "r385",
      "r468",
      "r470",
      "r471",
      "r766",
      "r844"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r111",
      "r839"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r111",
      "r838"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r469"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Write-down of inventories",
        "verboseLabel": "Inventory written down"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r53",
      "r400"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r950"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land",
        "verboseLabel": "Freehold land"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r740",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Abstract]",
        "verboseLabel": "Finance lease cost:"
       }
      }
     },
     "localname": "LeaseCostAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r996"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of leases"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASE"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r732"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r731"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r997"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of lease maturities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r741"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": {
     "auth_ref": [
      "r993"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Remaining Lease Term",
        "verboseLabel": "Remaining term of the rights"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRemainingLeaseTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r994"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r742"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "LEASE"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLease"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r22",
      "r338",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r665",
      "r668",
      "r669",
      "r691",
      "r848",
      "r941",
      "r1001",
      "r1002"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "TOTAL LIABILITIES"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r15",
      "r250",
      "r272",
      "r878",
      "r913",
      "r928",
      "r991"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND EQUITY",
        "verboseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r24",
      "r291",
      "r338",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r665",
      "r668",
      "r669",
      "r691",
      "r878",
      "r941",
      "r1001",
      "r1002"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.",
        "label": "Liability for Uncertain Tax Positions, Noncurrent",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r5",
      "r247",
      "r263"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit Facility, Amount Outstanding",
        "terseLabel": "Outstanding balance"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r21",
      "r912"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r21",
      "r912"
     ],
     "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.",
        "label": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "verboseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Available amount of credit facilities"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Credit facility"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LoansAndLeasesReceivableRelatedParties": {
     "auth_ref": [
      "r234",
      "r254"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an unclassified balance sheet, reflects the carrying amount of unpaid loan amounts due from related parties at the balance sheet date.",
        "label": "Loans and Leases Receivable, Related Parties",
        "terseLabel": "Shareholder loans due from related parties"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r100"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.",
        "label": "Long-lived Assets by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region"
       }
      }
     },
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r5",
      "r247",
      "r268",
      "r527",
      "r541",
      "r853",
      "r854"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Long-term Debt",
        "totalLabel": "Total",
        "verboseLabel": "Long-term borrowings"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtByMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Future principal repayment on the long-term borrowings loans"
       }
      }
     },
     "localname": "LongTermDebtByMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": {
     "auth_ref": [
      "r141",
      "r344",
      "r947"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r141",
      "r344",
      "r532"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "auth_ref": [
      "r141",
      "r344",
      "r532"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five",
        "terseLabel": "2027"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r141",
      "r344",
      "r532"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r141",
      "r344",
      "r532"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r141",
      "r344",
      "r532"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt arrangement having an initial term longer than one year or beyond the normal operating cycle, if longer.",
        "label": "Long-term borrowings"
       }
      }
     },
     "localname": "LongTermDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermDebtWeightedAverageInterestRateOverTime": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average interest rate of long-term debt outstanding calculated over time.",
        "label": "Long-term Debt, Weighted Average Interest Rate, over Time",
        "terseLabel": "Average interest rate on long-term borrowings (as a percent)"
       }
      }
     },
     "localname": "LongTermDebtWeightedAverageInterestRateOverTime",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LongTermNotesAndLoans": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.",
        "label": "Notes and Loans, Noncurrent",
        "terseLabel": "Long-term borrowings",
        "totalLabel": "Subtotal for long-term borrowings"
       }
      }
     },
     "localname": "LongTermNotesAndLoans",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.",
        "label": "Long-term Purchase Commitment [Table Text Block]",
        "terseLabel": "Schedule of payment for commitments"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r27"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r27",
      "r142"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Loss Contingencies [Line Items]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r129",
      "r130",
      "r496",
      "r497",
      "r498",
      "r934",
      "r935"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "auth_ref": [
      "r496",
      "r893"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss contingency liability.",
        "label": "Loss Contingency Accrual",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "LossContingencyAccrualAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r33",
      "r249",
      "r271",
      "r338",
      "r438",
      "r501",
      "r504",
      "r505",
      "r506",
      "r512",
      "r513",
      "r691"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "auth_ref": [
      "r153",
      "r189",
      "r190"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).",
        "label": "Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests",
        "negatedLabel": "Acquisition of non-controlling interest's ownership"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.",
        "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners",
        "terseLabel": "Ownership percentage by non-controlling owners"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.",
        "label": "Noncontrolling Interest, Ownership Percentage by Parent",
        "terseLabel": "Noncontrolling interest ownership percentage"
       }
      }
     },
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "Movement of allowances"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r388",
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r333"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r333"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "terseLabel": "Net cash used in investing activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r68",
      "r69",
      "r72"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r192",
      "r201",
      "r315",
      "r317",
      "r364",
      "r365",
      "r905"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Less: net income attributable to non-controlling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.",
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - diluted"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r358",
      "r359",
      "r360",
      "r361",
      "r367",
      "r368",
      "r376",
      "r379",
      "r407",
      "r412",
      "r418",
      "r421",
      "r849"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - basic",
        "totalLabel": "Net income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]",
        "terseLabel": "Recently issued accounting pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r81",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r360",
      "r366",
      "r383",
      "r432",
      "r433",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r617",
      "r618",
      "r619",
      "r644",
      "r645",
      "r646",
      "r647",
      "r660",
      "r661",
      "r662",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r714",
      "r715",
      "r720",
      "r721",
      "r722",
      "r723",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r769",
      "r770",
      "r771",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently issued accounting pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental schedule of non-cash activities:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest": {
     "auth_ref": [
      "r154",
      "r189",
      "r193"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest.",
        "label": "Noncontrolling Interest, Increase from Sale of Parent Equity Interest",
        "terseLabel": "Proceeds from non-controlling interests"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "auth_ref": [
      "r154",
      "r189",
      "r193"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.",
        "label": "Noncontrolling Interest, Increase from Subsidiary Equity Issuance",
        "verboseLabel": "Transfer of equity interest in subsidiaries to non-controlling shareholders"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r184",
      "r544",
      "r921",
      "r922",
      "r923"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Non-Controlling Interests"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r425"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Lived Assets",
        "terseLabel": "Total long-lived assets"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Not designated as hedging instruments"
       }
      }
     },
     "localname": "NondesignatedMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expense)",
        "verboseLabel": "Other income (expenses), net:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NonrecourseMember": {
     "auth_ref": [
      "r665",
      "r669"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability for which creditor does not have recourse to debtor but rather has recourse only to property used for collateral in transaction or other specific property.",
        "label": "Non-recourse"
       }
      }
     },
     "localname": "NonrecourseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NotesPayableAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "NotesPayableAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r926"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of principal reportable business segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "terseLabel": "Total operating expenses",
        "totalLabel": "Total operating expense"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r407",
      "r412",
      "r418",
      "r421",
      "r849"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Income from operations",
        "totalLabel": "Income from operations",
        "verboseLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r734",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating fixed lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList": {
     "auth_ref": [
      "r743"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates line item in statement of comprehensive income that includes operating lease income.",
        "label": "Operating Lease, Lease Income, Statement of Income or Comprehensive Income [Extensible Enumeration]"
       }
      }
     },
     "localname": "OperatingLeaseIncomeComprehensiveIncomeExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_OperatingLeaseLeaseIncome": {
     "auth_ref": [
      "r386",
      "r743",
      "r744"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease income from lease payments and variable lease payments paid and payable to lessor. Includes, but is not limited to, variable lease payments not included in measurement of lease receivable.",
        "label": "Operating Lease, Lease Income",
        "terseLabel": "Operating lease income"
       }
      }
     },
     "localname": "OperatingLeaseLeaseIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]",
        "terseLabel": "Operating leases, gross difference"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of operating leases",
        "verboseLabel": "Year Ending December 31:"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "totalLabel": "Total operating lease liabilities",
        "verboseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r725"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r730",
      "r736"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating cash outflows from operating lease"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r724"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use assets",
        "totalLabel": "Total operating lease ROU assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r739",
      "r877"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average of lease discount rate - operating lease"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r738",
      "r877"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average of remaining lease term - operating leases (in years)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r172"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Accumulated net operating losses"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies 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.",
        "label": "Operating segment"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r80",
      "r82",
      "r94",
      "r203"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.",
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r243",
      "r264",
      "r298"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r298"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other non-current assets",
        "terseLabel": "Other non-current assets",
        "verboseLabel": "Other non-current assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherBorrowings": {
     "auth_ref": [
      "r251"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.",
        "label": "Other Borrowings",
        "terseLabel": "Borrowings"
       }
      }
     },
     "localname": "OtherBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r37",
      "r39",
      "r701",
      "r703",
      "r706"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax, before 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.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Other comprehensive income (loss) (net of tax of nil)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax": {
     "auth_ref": [
      "r312",
      "r313"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.",
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Gain on changes in fair value of available-for-sale debt securities, net of tax of nil, nil and $487 for the years ended December 31, 2020, 2021 and 2022, respectively",
        "verboseLabel": "Fair value change of available-for-sale debt securities"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "auth_ref": [
      "r310",
      "r314"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax",
        "terseLabel": "Fair value change on derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax": {
     "auth_ref": [
      "r311",
      "r314",
      "r670",
      "r672"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before adjustments, of gain (loss) from increase (decrease) in value of excluded component of derivative designated and qualifying as hedge. Adjustments include, but are not limited to, reclassifications for sale and settlement, and amounts recognized under systematic and rational method.",
        "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), before Adjustments, after Tax",
        "terseLabel": "Share of gain on changes in fair value of derivatives of affiliate, net of tax of nil for the year ended December 31, 2022",
        "verboseLabel": "Share of fair value change on derivatives of affiliates"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income, Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other current liabilities.",
        "label": "Other current liabilities.",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r252"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Other Liabilities",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r23",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other current liabilities",
        "terseLabel": "Other current liabilities",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r28"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other non-current liabilities",
        "terseLabel": "Other non-current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLongTermDebt": {
     "auth_ref": [
      "r5",
      "r247",
      "r268"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermNotesAndLoans",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of long-term debt classified as other.",
        "label": "Other Long-Term Debt",
        "terseLabel": "Other long-term borrowings"
       }
      }
     },
     "localname": "OtherLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent assets.",
        "label": "Other non-current assets."
       }
      }
     },
     "localname": "OtherNoncurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other noncurrent liabilities"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 37.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.",
        "label": "Other Operating Income (Expense), Net",
        "negatedLabel": "Other operating income, net",
        "negatedTerseLabel": "Other operating income, net",
        "negatedTotalLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherShortTermBorrowings": {
     "auth_ref": [
      "r19"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.",
        "label": "Other Short-term Borrowings",
        "terseLabel": "Other short-term borrowings"
       }
      }
     },
     "localname": "OtherShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.",
        "label": "Earnings Attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "ParentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Payments for repurchase of common shares",
        "negatedTerseLabel": "Payments for repurchase of common shares"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r66"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "terseLabel": "Commissions and offering expenses"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of or advances to an 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.",
        "label": "Payments to Acquire Equity Method Investments",
        "negatedLabel": "Investments in affiliates",
        "terseLabel": "Subscription amount"
       }
      }
     },
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Noncontrolling Interests",
        "negatedTerseLabel": "Acquisition of non-controlling interests"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r561",
      "r562",
      "r563",
      "r564",
      "r566",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r576",
      "r866"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for retirement benefits.",
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance shares"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PledgedStatusAxis": {
     "auth_ref": [
      "r664",
      "r872"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by pledged or not pledged status of asset owned by entity.",
        "label": "Pledged Status [Axis]"
       }
      }
     },
     "localname": "PledgedStatusAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PledgedStatusDomain": {
     "auth_ref": [
      "r664",
      "r872"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pledged or not pledged status of asset owned by entity.",
        "label": "Pledged Status [Domain]"
       }
      }
     },
     "localname": "PledgedStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r902"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and other current assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.",
        "label": "Prepaid Expenses And Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r896"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Reclassification, Comparability Adjustment [Policy Text Block]",
        "terseLabel": "Reclassification"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.",
        "label": "Private placement"
       }
      }
     },
     "localname": "PrivatePlacementMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds from Convertible Debt",
        "terseLabel": "Net proceeds from issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital": {
     "auth_ref": [
      "r332",
      "r908"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.",
        "label": "Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital",
        "terseLabel": "Return of capital from affiliates"
       }
      }
     },
     "localname": "ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r61"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from issuance of common stock",
        "verboseLabel": "Net proceeds from issuance of common shares"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "auth_ref": [
      "r909"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.",
        "label": "Proceeds from Issuance of Debt",
        "terseLabel": "Amount drawn"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r62",
      "r912"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Amount drawn"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.",
        "label": "Proceeds from Noncontrolling Interests",
        "netLabel": "Capital raised",
        "terseLabel": "Proceeds from changes in ownership interests in subsidiaries without change of control",
        "verboseLabel": "Proceeds from non-controlling interests"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from Notes Payable",
        "terseLabel": "Proceeds from short-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation.",
        "label": "Proceeds from (Repayments of) Notes Payable",
        "verboseLabel": "Proceeds from (repayment of) short-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from disposal of investments in affiliates"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from disposal of property, plant and equipment"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r61",
      "r160"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r28"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Product Warranty Accrual, Noncurrent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "ProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r134"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Product Warranty Accrual, Payments",
        "negatedLabel": "Warranty costs incurred"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r136"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.",
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty provision"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProductWarrantyExpense": {
     "auth_ref": [
      "r70",
      "r135"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.",
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty costs (net effect of adjustment) included in cost of revenues"
       }
      }
     },
     "localname": "ProductWarrantyExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r289",
      "r315",
      "r317",
      "r331",
      "r338",
      "r354",
      "r364",
      "r365",
      "r407",
      "r412",
      "r418",
      "r421",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r663",
      "r666",
      "r667",
      "r683",
      "r691",
      "r790",
      "r849",
      "r873",
      "r874",
      "r905",
      "r941"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income (loss)"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProjectMember": {
     "auth_ref": [
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Planned program of work.",
        "label": "Project [Domain]"
       }
      }
     },
     "localname": "ProjectMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r127",
      "r818",
      "r819",
      "r820"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r123",
      "r295"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property, plant and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "verboseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r125",
      "r273",
      "r791",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net.",
        "totalLabel": "Property, plant and equipment, net",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r125",
      "r818",
      "r819"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r123"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated useful lives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r329",
      "r453"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Allowance for credit losses"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis": {
     "auth_ref": [
      "r6",
      "r248",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by arrangement, in which the entity has agreed to expend funds to procure goods or services from one or more suppliers.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Axis]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain": {
     "auth_ref": [
      "r6",
      "r248",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item is intended to be populated, by the entity, with Members identifying each purchase commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Domain]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Line Items]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable": {
     "auth_ref": [
      "r6",
      "r248",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required or determined to be disclosed about arrangements in which the entity has agreed to expend funds to procure goods or services from one or more suppliers. Such disclosure may include identification of the goods or services to be purchased, identity of the seller, pricing, effects on pricing for failing to reach minimum quantities required to be purchased (such as penalties), cancellation rights, and termination provisions.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Table]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "auth_ref": [
      "r6",
      "r248",
      "r269"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.",
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "Commitments"
       }
      }
     },
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.",
        "label": "Purchase Obligation",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "PurchaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in next fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Next Twelve Months",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in second fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Second Year",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "PurchaseObligationDueInSecondYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInThirdYear": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of purchase arrangement to be paid in third fiscal year following current fiscal year. Includes, but is not limited to, recorded and unrecorded purchase obligations, long-term purchase commitment, and short-term purchase commitment. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Purchase Obligation, Due in Third Year",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "PurchaseObligationDueInThirdYear",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "ALLOWANCE FOR CREDIT LOSSES"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "terseLabel": "Changes to the company's liabilities for uncertain tax positions"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RecourseMember": {
     "auth_ref": [
      "r985",
      "r986"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liability for which creditor has recourse to debtor.",
        "label": "Recourse"
       }
      }
     },
     "localname": "RecourseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r565",
      "r753",
      "r754"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r281",
      "r753",
      "r754",
      "r1000"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r281"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.",
        "label": "Related Party Transaction, Purchases from Related Party",
        "verboseLabel": "Purchase from related party"
       }
      }
     },
     "localname": "RelatedPartyTransactionPurchasesFromRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r565",
      "r753",
      "r773",
      "r774",
      "r775",
      "r776",
      "r777",
      "r778",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r784",
      "r1000"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r751",
      "r752",
      "r754",
      "r755",
      "r756"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentOfNotesReceivableFromRelatedParties": {
     "auth_ref": [
      "r57"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.",
        "label": "Repayment of Notes Receivable from Related Parties",
        "verboseLabel": "Repayment of loans from subsidiaries"
       }
      }
     },
     "localname": "RepaymentOfNotesReceivableFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfConvertibleDebt": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Repayments of Convertible Debt",
        "negatedLabel": "Net proceeds from issuance of convertible notes",
        "negatedTerseLabel": "Payments for repurchase of convertible notes"
       }
      }
     },
     "localname": "RepaymentsOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "Repayments of Notes Payable",
        "negatedLabel": "Repayment of short-term borrowings"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r164",
      "r280",
      "r1009"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development expenses"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r164"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for assets that are restricted in their use, generally by contractual agreements or regulatory requirements. This would include, but not limited to, a description of the restricted assets and the terms of the restriction.",
        "label": "Restricted Assets Disclosure [Text Block]",
        "terseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictedAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r73",
      "r79",
      "r293"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "auth_ref": [
      "r73",
      "r79",
      "r814"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - non-current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "RSUs"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r12",
      "r153",
      "r270",
      "r805",
      "r810",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit).",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r284",
      "r350",
      "r351",
      "r352",
      "r355",
      "r363",
      "r365",
      "r443",
      "r617",
      "r618",
      "r619",
      "r646",
      "r647",
      "r681",
      "r801",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r398",
      "r399",
      "r411",
      "r416",
      "r417",
      "r423",
      "r424",
      "r427",
      "r556",
      "r557",
      "r767"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Total electricity revenue",
        "terseLabel": "Net revenues",
        "totalLabel": "Total net revenues",
        "verboseLabel": "Net revenues"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r560",
      "r845"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromRelatedParties": {
     "auth_ref": [
      "r47",
      "r279",
      "r503",
      "r504",
      "r505",
      "r511",
      "r512",
      "r513"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Revenue from Related Parties",
        "verboseLabel": "Revenue from sale of solar products"
       }
      }
     },
     "localname": "RevenueFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r547"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Contract liabilities expected to be recognized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r324",
      "r338",
      "r398",
      "r399",
      "r411",
      "r416",
      "r417",
      "r423",
      "r424",
      "r427",
      "r438",
      "r501",
      "r502",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r512",
      "r513",
      "r691",
      "r790",
      "r941"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Total net revenues"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues generated by geographic location of customers' headquarter"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving credit facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r737",
      "r877"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "terseLabel": "ROU assets obtained in exchange of new operating lease liabilities in non-cash transaction"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r737",
      "r877"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "ROU assets obtained in exchange of new finance lease liabilities in non-cash transaction"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.",
        "label": "Sale of Stock, Percentage of Ownership after Transaction",
        "terseLabel": "Percentage of ownership after sale transaction"
       }
      }
     },
     "localname": "SaleOfStockPercentageOfOwnershipAfterTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SalesMember": {
     "auth_ref": [
      "r216"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business.",
        "label": "Revenue"
       }
      }
     },
     "localname": "SalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r31"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of provision for income taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of bank borrowings"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r171"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of the deferred tax assets and liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r210",
      "r215",
      "r671"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r925"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computation of basic and diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r98"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r98"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of the Company's revenues generated from each product or service"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Other investments"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r109",
      "r289",
      "r338",
      "r438",
      "r691"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r114",
      "r116",
      "r768"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r114",
      "r116"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of useful life intangible assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r1",
      "r16",
      "r17",
      "r18"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r141"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of future principal repayments on the long-term borrowings"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r139"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of the Company's warranty activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r235",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r48",
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Summary of the Company's net revenues generated from different geographic locations"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r43",
      "r101"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r112"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r95",
      "r96",
      "r97",
      "r112"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Summary of Company's revenues and gross profit and income from operations generated from each segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r577",
      "r579",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r157"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]",
        "terseLabel": "Schedule of the RSU activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r870",
      "r981"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTable": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r198",
      "r199",
      "r664",
      "r665",
      "r668",
      "r669",
      "r761",
      "r762",
      "r763"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of qualitative and quantitative information related to variable interests the entity holds, whether or not such variable interest entity (VIE) is included in the reporting entity's consolidated financial statements. Includes, but is not limited to, description of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a tabular comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table]"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTextBlock": {
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r198",
      "r199"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table Text Block]",
        "terseLabel": "Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebt": {
     "auth_ref": [
      "r5",
      "r247",
      "r268"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.",
        "label": "Secured Debt",
        "terseLabel": "Secured borrowings"
       }
      }
     },
     "localname": "SecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SecuredLongTermDebt": {
     "auth_ref": [
      "r27"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.",
        "label": "Secured Long-term Debt, Noncurrent",
        "terseLabel": "Long-term borrowings"
       }
      }
     },
     "localname": "SecuredLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r395",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r421",
      "r427",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r492",
      "r493",
      "r850",
      "r1011"
     ],
     "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.",
        "label": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r395",
      "r396",
      "r397",
      "r407",
      "r410",
      "r415",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r426",
      "r427",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingInformationProfitLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information, Profit (Loss) [Abstract]",
        "terseLabel": "Revenues and gross profit generated from each segment"
       }
      }
     },
     "localname": "SegmentReportingInformationProfitLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Selling and Marketing Expense",
        "terseLabel": "Selling and distribution expenses"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingExpense": {
     "auth_ref": [
      "r52"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services.",
        "label": "Selling Expense",
        "terseLabel": "Selling and distribution expenses"
       }
      }
     },
     "localname": "SellingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ServiceLifeMember": {
     "auth_ref": [
      "r846"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A revision in the estimated economic useful life of a long-lived tangible asset (the period of time over which the asset is projected to benefit operations).",
        "label": "Depreciation life"
       }
      }
     },
     "localname": "ServiceLifeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation.",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r868"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "verboseLabel": "Grant period (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r597"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Shares granted to employees",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r597"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)",
        "verboseLabel": "Weighted average grant date fair value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r594",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested at the end of the period (in shares)",
        "periodStartLabel": "Unvested at the beginning of the period (in shares)",
        "terseLabel": "Number of unvested awards outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Number of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r594",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Unvested at the end of the period (in dollars per share)",
        "periodStartLabel": "Unvested at the beginning of the period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant-Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r598"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r601"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of shares vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r598"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r869"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Maximum aggregate number of shares to be issued"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r601"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "verboseLabel": "Total intrinsic value of options exercised (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r159"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Intrinsic value of outstanding options (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r586",
      "r587"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "terseLabel": "Options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r586",
      "r587"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted average exercise price of options outstanding (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Tranche one"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.",
        "label": "Tranche two"
       }
      }
     },
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r585",
      "r604",
      "r605",
      "r606",
      "r607",
      "r610",
      "r620",
      "r621"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by supplier.",
        "label": "Supplier [Axis]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received.",
        "label": "Supplier [Domain]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "auth_ref": [
      "r579",
      "r582",
      "r583",
      "r584",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.",
        "label": "Employees"
       }
      }
     },
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share Price",
        "terseLabel": "Investment price per unit"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "auth_ref": [
      "r952"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of vesting of award under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "verboseLabel": "Vesting percentage"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1": {
     "auth_ref": [
      "r611"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost expensed and capitalized for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount",
        "terseLabel": "Compensation cost"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r158"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted average remaining contract terms of options outstanding (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShippingAndHandlingMember": {
     "auth_ref": [
      "r950"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Packing and transport of product.",
        "label": "Shipping and Handling"
       }
      }
     },
     "localname": "ShippingAndHandlingMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r2",
      "r245",
      "r266",
      "r878"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-term Debt",
        "terseLabel": "Short-term borrowings",
        "verboseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt arrangement having an initial term within one year or the normal operating cycle, if longer.",
        "label": "Short-term borrowings"
       }
      }
     },
     "localname": "ShortTermDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r735",
      "r877"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short-term lease cost"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r138"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.",
        "label": "Product Warranty Accrual, Currency Translation, Increase (Decrease)",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r137"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r288",
      "r395",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r421",
      "r427",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r487",
      "r492",
      "r493",
      "r850",
      "r1011"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r30",
      "r147",
      "r284",
      "r320",
      "r321",
      "r322",
      "r350",
      "r351",
      "r352",
      "r355",
      "r363",
      "r365",
      "r387",
      "r443",
      "r544",
      "r617",
      "r618",
      "r619",
      "r646",
      "r647",
      "r681",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r750",
      "r801",
      "r802",
      "r803"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "verboseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r387",
      "r767"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Issuance of ordinary shares, net of issuance costs (in shares)",
        "verboseLabel": "Number of shares sold at-the-market"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153",
      "r591"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "terseLabel": "Exercise of share options and RSUs (in shares)",
        "verboseLabel": "Option exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153",
      "r163"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP).",
        "label": "Stock Issued During Period, Value, Employee Stock Ownership Plan",
        "terseLabel": "Aggregated transaction amount under employee incentive plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of ordinary shares, net of issuance costs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r30",
      "r147",
      "r153"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Exercise of share options and RSUs"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Number of shares repurchased",
        "verboseLabel": "Repurchase of common shares (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r9",
      "r10",
      "r147",
      "r153"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.",
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Repurchase of common shares",
        "verboseLabel": "Total cost of share repurchases"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r10",
      "r13",
      "r14",
      "r103",
      "r878",
      "r913",
      "r928",
      "r991"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total Canadian Solar Inc. shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r184",
      "r185",
      "r200",
      "r284",
      "r285",
      "r321",
      "r350",
      "r351",
      "r352",
      "r355",
      "r363",
      "r443",
      "r544",
      "r617",
      "r618",
      "r619",
      "r646",
      "r647",
      "r681",
      "r707",
      "r708",
      "r712",
      "r750",
      "r802",
      "r803",
      "r913",
      "r928",
      "r991"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "TOTAL EQUITY"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Equity:"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENT"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r758",
      "r759"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "SUBSEQUENT EVENT"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEvent"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SummaryOfIncomeTaxHolidayTextBlock": {
     "auth_ref": [
      "r177"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.",
        "label": "Summary of Income Tax Holiday [Table Text Block]",
        "terseLabel": "Schedule of aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "SummaryOfIncomeTaxHolidayTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "auth_ref": [
      "r170"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.",
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "terseLabel": "Schedule of movement of the valuation allowance"
       }
      }
     },
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "auth_ref": [
      "r87"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.",
        "label": "Supplier"
       }
      }
     },
     "localname": "SupplierConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r863",
      "r949"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [
      "r863",
      "r949"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy": {
     "auth_ref": [
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date.",
        "label": "Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r863"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Recognized at a point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r863"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Recognized over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonMember": {
     "auth_ref": [
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockCommonMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonShares": {
     "auth_ref": [
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Shares",
        "periodEndLabel": "Treasury stock, balance (in shares)",
        "periodStartLabel": "Treasury stock, balance (in shares)",
        "terseLabel": "Treasury stock, shares issued (in shares)"
       }
      }
     },
     "localname": "TreasuryStockCommonShares",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r32",
      "r155",
      "r156"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Value",
        "negatedLabel": "Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2020 and 2021, respectively",
        "negatedPeriodEndLabel": "Treasury stock, balance",
        "negatedPeriodStartLabel": "Treasury stock, balance",
        "negatedTerseLabel": "Treasury stock, at cost, 609,516 and nil common shares as of December 31, 2019 and 2020, respectively"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockRetiredCostMethodAmount": {
     "auth_ref": [
      "r10",
      "r147",
      "r154"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease of par value, additional paid in capital (APIC) and retained earnings of common and preferred stock retired from treasury when treasury stock is accounted for under the cost method.",
        "label": "Treasury Stock, Retired, Cost Method, Amount",
        "negatedTerseLabel": "Retirement of treasury stock"
       }
      }
     },
     "localname": "TreasuryStockRetiredCostMethodAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockSharesRetired": {
     "auth_ref": [
      "r10",
      "r147",
      "r153"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common and preferred stock retired from treasury during the period.",
        "label": "Treasury Stock, Shares, Retired",
        "verboseLabel": "Retirement of treasury stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesRetired",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r354",
      "r355",
      "r356",
      "r357",
      "r366",
      "r432",
      "r433",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r617",
      "r618",
      "r619",
      "r644",
      "r645",
      "r646",
      "r647",
      "r660",
      "r661",
      "r662",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r714",
      "r715",
      "r720",
      "r721",
      "r722",
      "r723",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r769",
      "r770",
      "r771",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amendment to accounting standards.",
        "label": "Accounting Standards Update [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Accounts receivable, unbilled",
        "verboseLabel": "Accounts receivables, unbilled"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r260",
      "r277",
      "r622",
      "r657"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.",
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested"
       }
      }
     },
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r623",
      "r632"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r980"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation",
        "negatedLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r633"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations",
        "negatedLabel": "Reductions for tax positions from prior years/Statute of limitations expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r631"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Amount of interest and penalties accrued related to unrecognized tax benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r980"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnsecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt obligation not collateralized by pledge of, mortgage of or other lien on the entity's assets.",
        "label": "Unsecured"
       }
      }
     },
     "localname": "UnsecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r91",
      "r92",
      "r93",
      "r389",
      "r390",
      "r392",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UseRightsMember": {
     "auth_ref": [
      "r179"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Legal right to use or benefit from the use of natural resources or access. Examples include, but are not limited to, drilling rights, water rights, air rights, timber cutting rights and route authorities.",
        "label": "Land use rights"
       }
      }
     },
     "localname": "UseRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "auth_ref": [
      "r916",
      "r917",
      "r918",
      "r919",
      "r920"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.",
        "label": "Allowance"
       }
      }
     },
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r348"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves, Deductions",
        "negatedLabel": "Write-offs"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r345",
      "r346",
      "r347",
      "r348",
      "r349"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r345",
      "r346",
      "r347",
      "r348",
      "r349"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ValueAddedTaxReceivableCurrent": {
     "auth_ref": [
      "r900"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Value added tax",
        "terseLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "ValueAddedTaxReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableInterestEntityDisclosureTextBlock": {
     "auth_ref": [
      "r203"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.",
        "label": "Variable Interest Entity Disclosure [Text Block]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableInterestEntityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Variable Interest Entity [Line Items]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryMember": {
     "auth_ref": [
      "r195",
      "r664",
      "r665",
      "r668",
      "r669"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Variable Interest Entities (VIE) in which the entity has a controlling financial interest (as defined) and of which it is therefore the primary beneficiary. A controlling financial interest is determined based on both: (a) the entity's power to direct activities of the VIE that most significantly impact the VIE's economic performance and (b) the entity's obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. VIEs of which the entity is the primary beneficiary are included in the consolidated financial statements of the entity.",
        "label": "Variable Interest Entity"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Motor vehicles"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VestingAxis": {
     "auth_ref": [
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Axis]"
       }
      }
     },
     "localname": "VestingAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VestingDomain": {
     "auth_ref": [
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976",
      "r977"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Vesting schedule of award under share-based payment arrangement.",
        "label": "Vesting [Domain]"
       }
      }
     },
     "localname": "VestingDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r369",
      "r379"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Shares used in computation - diluted",
        "totalLabel": "Denominator for diluted calculation - weighted average number of common shares - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r367",
      "r379"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Shares used in computation - basic",
        "verboseLabel": "Denominator for basic calculation - weighted average number of common shares - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 16
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "b",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1000": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1001": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1002": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1003": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1004": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1005": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1006": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1007": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1008": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1009": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1010": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1011": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r1012": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "310",
   "URI": "https://asc.fasb.org/topic&trid=2196771",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27405-111563",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(b)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=126905981&loc=d3e2420-110228",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=124440162&loc=d3e12069-110248",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3,4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "https://asc.fasb.org/topic&trid=2155896",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=d3e1835-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031898-161870",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=7516071&loc=d3e13374-112631",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "40",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=109244457&loc=d3e16649-113920",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5419-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6578-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126966197&loc=d3e6613-128477",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568447-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4613674-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569655-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a)(7))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4616395-111683",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5728-111685",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=SL6759159-111685",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5747-111685",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=SL6228884-111685",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4590271-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org/topic&trid=2197479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)(ii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41675-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=127000641&loc=SL5629052-113961",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-10(a)(32))",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126954596&loc=d3e511914-122862",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-10(c)(3)(ii)(A))",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126954596&loc=d3e511914-122862",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-10(c)(7)(ii))",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126954596&loc=d3e511914-122862",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6806780-109447",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(17))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13,16)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.7(e))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=6479915&loc=d3e66715-112838",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(10))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=6487024&loc=d3e29054-158556",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=120401414&loc=d3e603758-122996",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.1(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-04(Schedule I))",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=126898705&loc=d3e5864-122674",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(11))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(21))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(dd)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(22))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(23))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=SL94080555-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(3)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(n))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226006-175313",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1377-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a-c)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1930-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2029-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org/topic&trid=2144383",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e543-108305",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900988&loc=SL77927221-108306",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "https://asc.fasb.org/topic&trid=2134510",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "310",
   "URI": "https://asc.fasb.org/topic&trid=2196771",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=SL6284422-111562",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "321",
   "URI": "https://asc.fasb.org/extlink&oid=126980263&loc=SL75117546-209714",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "https://asc.fasb.org/topic&trid=2196965",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124256539&loc=SL120269210-210444",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124256539&loc=SL120254536-210444",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124266218&loc=SL120267834-210445",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(12))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL120267845-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919260-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919272-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL120267966-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL120267969-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 6.M.Q4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122651532&loc=SL122037091-237805",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124268681&loc=SL120267897-210452",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=125515542&loc=SL120267917-210453",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=125515542&loc=SL120269220-210453",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267853-210455",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267859-210455",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL120267862-210455",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1(e))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org/subtopic&trid=2144471",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=116646717&loc=d3e6290-110844",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "410",
   "URI": "https://asc.fasb.org/subtopic&trid=2175671",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "8",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(l)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(o)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(p)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(q)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(1)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(r)(2)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=21916913&loc=d3e273930-122802",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "60",
   "Subparagraph": "(c)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=6414203&loc=d3e39689-114964",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "https://asc.fasb.org/topic&trid=2235017",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(25))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126928070&loc=d3e28200-109314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r623": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r624": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r625": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r626": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r627": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r628": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r629": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r630": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r631": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r632": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r633": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r634": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r635": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r636": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r637": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r638": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r639": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r640": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r641": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r642": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r643": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r644": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r645": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r647": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r648": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r649": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r650": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r651": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r652": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r653": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r654": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r655": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r656": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r657": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r658": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r659": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r660": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r661": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r662": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r663": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r664": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r665": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r666": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r667": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r668": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r669": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=SL94080555-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r670": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r671": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r672": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=121577181&loc=SL110061190-113977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r673": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r674": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r675": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r676": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r677": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r678": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r679": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r680": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r681": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r682": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r683": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r684": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r685": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r686": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r687": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r688": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r689": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r690": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594786&loc=SL75136599-209740",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r691": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r692": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r693": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r694": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r695": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r696": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r697": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r698": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r699": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r700": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r701": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28129-110885",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r702": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r703": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30304-110892",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r704": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r705": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r706": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32022-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r707": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r708": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r709": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r710": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r711": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r712": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r713": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "https://asc.fasb.org/topic&trid=2175825",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r714": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r715": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r716": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r717": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r718": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r719": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r720": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r721": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r722": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r723": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r724": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r725": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r726": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r727": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r728": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r729": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r730": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r731": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918666-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r732": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r733": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r734": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r735": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r736": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r737": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r738": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r739": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4273-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r740": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r741": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r742": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r743": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123420820&loc=SL77919311-209978",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r744": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=124258985&loc=SL77919372-209981",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r745": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r746": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r747": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r748": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r749": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r750": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r751": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r752": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r753": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r754": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r755": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r756": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "https://asc.fasb.org/topic&trid=2122745",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r757": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124437977&loc=d3e55792-112764",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r758": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r759": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "https://asc.fasb.org/topic&trid=2122774",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r760": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r761": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(i)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r762": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(ii)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r763": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r764": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r765": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r766": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r767": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r768": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r769": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r770": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r771": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "https://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r772": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r773": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r774": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r775": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r776": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r777": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r778": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r779": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4332-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r780": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r781": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r782": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r783": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r784": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r785": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(g))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r786": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(24))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r787": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(25))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r788": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r789": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r790": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r791": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r792": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r793": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(20))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r794": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r795": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r796": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r797": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r798": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r799": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r800": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r801": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r802": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r803": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r804": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r805": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r806": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r807": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r808": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r809": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r810": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r811": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r812": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r813": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r814": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r815": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r816": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r817": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491354&loc=d3e6049-115624",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r818": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r819": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org/topic&trid=2122394",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r820": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r821": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r822": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r823": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r824": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r825": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r826": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r827": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r828": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r829": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r830": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r831": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r832": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r833": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r834": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r835": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r836": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r837": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r838": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r839": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r840": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r841": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r842": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r843": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r844": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r845": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r846": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r847": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r848": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r849": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e777-108305",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r850": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r851": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394232&loc=d3e17558-110866",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r852": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r853": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r854": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r855": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r856": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r857": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r858": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r859": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r860": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r861": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r862": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r863": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r864": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r865": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r866": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r867": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r868": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r869": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r870": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126976462&loc=d3e36027-109320",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r871": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r872": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r873": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r874": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r875": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r876": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r877": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r878": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r879": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r880": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r881": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r882": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r883": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r884": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r885": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r886": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r887": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r888": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r889": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r890": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r891": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r892": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r893": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r894": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=d3e5283-111683",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r895": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r896": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r897": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r898": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(10))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r899": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r900": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r901": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r902": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r903": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r904": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r905": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r906": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r907": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r908": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r909": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r910": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r911": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r912": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r913": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r914": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r915": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r916": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r917": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r918": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r919": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r920": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r921": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r922": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r923": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r924": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r925": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r926": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r927": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r928": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r929": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r930": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r931": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r932": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r933": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r934": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r935": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r936": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r937": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r938": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=6397426&loc=d3e17499-108355",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r939": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r940": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r941": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r942": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r943": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r944": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r945": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r946": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r947": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r948": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r949": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r950": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r951": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r952": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r953": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r954": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r955": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r956": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r957": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r958": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r959": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r960": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r961": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r962": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r963": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r964": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r965": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r966": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r967": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r968": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r969": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r970": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r971": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r972": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r973": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r974": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r975": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r976": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r977": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r978": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r979": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r980": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r981": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r982": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r983": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r984": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r985": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r986": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r987": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r988": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r989": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL109998890-113959",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r990": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r991": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r992": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r993": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r994": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r995": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r996": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r997": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r998": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r999": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>157
<FILENAME>0001104659-23-046692-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-23-046692-xbrl.zip
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
M+?G#YU'">\I+GTVA5(N%XOA_V_L%+Y;O9W-0%*;=MZ%3$M8;U]]2>DD]&$>
MEV4E-)0T6DP4%H#A[>1F_/MP:%T.[X97H[F\2.N@T9IG0"F3;S5AFG0*6[YR
MZ5)3:>%1V "D^G9RV9L-!S)O^A T@6X-JS'0.([LF[B9C4/C^%\RWK2MKP55
M<5K==9#U(*^-&N@P/\SS[1 /N":></AV4RD8J'$N[6^2+CH_U0-QGJ,I?"^4
MXYH:C-\!QJ58S>881QUT"._A]JA&M89:B^2[,I+:=.@=>&U\(=5XE0FT$'VG
M"HS.Y$+O(&GG(*D&146BA>5]&99B(O0.F8.\)BN!JJNAQ>U[)6ZU6= [+/=R
MI:S00ZHIM=C]4Z%W5*9 [Q#;Q[^R:LNJ(M3BI<SIH<Y_WJ&UE].E&BX-I1:O
M#V6\U Z8'5X'>&*J,:NAUN%V?E;&39>LOL-N7_?,:H6^FEB+W+E:N5>Z:G;
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
M2[Y:/@N4YK(8G\$2)86O<VPI2K.L)!U\[>4A&2:G:Q:N[^%GGP=X[Q#92^Y
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
M<6S1*COSV+) C0;S*H)$]6]A= J3-[VD"S:,.4$ JB]4HL\YC[!TP881)@A
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
M"]+%\IA]F^0;G^$W3+T@EAK=*K3C,@]BTZN2'7+PXL]7TP;DKVS(91K&]A5
M"1V.!I3L7#G-,YP$5"II5067Z1W;LOV=000JN3U]_+FW1YRLB=_?\%OU)C*4
M5G69*;(M:4K!-B97+P[^F0GKXZ?O/F8"XW^1&I^X0>D>%S:/DV5F;6;[T=T7
M[*]P/_(/FXL98GO.5[0]DVH+[;O,5]F Z%O@")QQK]IP/.'7[(O26*"OZS*3
M9D=;LP):\*+-EZ"*LKVH[#)M9U?;+I#2-3@QHA!/EGD<XR%T0QGY4J])EWE%
MNSV)*Y@ 1S\._J5)E-.;:WAT,B-,:$Y\OG,912\, ):9:"JWYC+K:8-:41D_
M'(50[6#Z+R@(>0 78P$'N$]P'/ G4P^&S3N\))3O=$(4Q\$RR#,?% R?%7W+
M+?3O,KMK!R[F%CAV'6HZ0/'Z(22OV<;Z,"0E*)=L2JZFC)5Z<9G.MB.5J\27
MZU"L>[;;>T$\A>GA)?OCS81SIN: "X.HAJ8UTZW+#+X=J5XSC+J"!!#YKG*-
M$S:0CH]4:+-!_+E&-HC>OY7Z_/<WM^P0)1)CFA3(8[^=2&.__%*4:Y9ZD:_
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
M=F"7'1<5Y0&$_U21B@(15#'E]/%(,HK7?)U]V?]IR&TA,7?MC8,X,1*A<5L
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
MOL\;DI7P^#-? 8XOG_-KLF$ MH :6G_<6C?$#3A3@>: @7G* ?:UFF&V6!W
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
M2P)(,%MEQ15!@2.3,8E6G+I[_"RSWY2+="D%R;/&%:10Q@"'_=FT6+@)J%H
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
MU_8#%\><"Z=[7I/HL!>5OG=A4@O KK":/E[FHU"@A).B;I*L,160+!EF\N)
M!E0UP>GAP9$81SE(*<VG;]E<>"P!Q-5=3RXE1&U/;IQ4Z[G-H!(0;WB-J<T
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
M7F."9)^PJU3B "H)LO73?$VQ;1J #:@%+6J61]>E3NR/7T@8^&@GLPE:MP+
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
M:B:8$B XDCA:MMA(9P.>H]#9\8HE ;BD:DM&" R:CRE8+C%_P^LS)BN*MNO
M&W-]X,8Q6__3=R;^)UYDWV5O=>RS%QXZO28'U7Z-RQX5&'[+4CV$AP4N>^F0
M1*MQ\(+]_)D<,U]5M4;;=Y <K4$G34&AQ'.E* O0>55'C >/B@)QYZZL_2@O
M4B+U92G*NG=F:57NR'TYBLZY/TQY5F1I#&;YLV-7E593#@PN4]UXUB6/Q_K0
M7<[6_2\GKN[_\$O_Z[EILO#!,2=%4L\LD 42';'M?BAA&__@V&FG8QLGT1';
M_J<O81O_X#A1A8YMG$1';!O.)6SC'QPGE-"QC9/HB&U/8PG;^ ?'>1]T;.,D
M.F+;YSL)V_@'Q_D9=&SC)#IBV^!_)&SC'QPG4M"QC9/HB&TCV4HZZG@E%60[
MT+%MY&XEG4TD;.,?'"<DT+&-D^B(;0\S"=OX!]=9 W1\XS2Z.B;(^-;OFF]5
MS@DU^28)]LC>TLYN5-  QXHCJK:TZQOR4@;J"&_CA? -INS,+&?D60''ARVC
MT[Z(;D<#^:OL*/&UXZ/$V3B6R[XXDK^Z.TS<R6; NXYGP$]5&'?G;ND8R,[\
M [=G?C/&#=R=^@>RX^N@X^/KGRHQSMT!]O&_)8SC'QR>^\T8QXEL?;>B7665
MQ1T: 30\U)+>N>NB'P=B-I]_=&S^-'9;%&EV-,#_,94,</[!L=/B4M[%P<T)
M=+6</,F6DR?GNV@UTSB!KJQ3,J:-.F::8,2JF39RQ[2^S*37[]BD)W!7J)G6
M=V?0^U&F:3]VK&D"9X6::3^ZT[3%%PG3^ ?'K@HUTSB!CI@V_4'"-/[!L:-"
MS31.H"M-^TFF:3\Y=U-H-.TG9TS[(M.T+QUKFL!)H6;:EYJ:9G8(DQT--&5=
M^RDDK%,3W4J.;][)9#F*_. E\%,4AKO19H,2]G<4'JE0I"FV:\#QUL7<U&R)
M"TZ NV74Z%ASB[-Z<\YN=M;E@/BV9[5HW.N[^/DO=,?L4_OZ<^77S9Y(Y*64
M7XK(L4HD?5D,P VF)L5X"1#8?9DA\M932OS42R9T?PO.]I[,G\SNR?"N&/RL
M+R:"7ISW=DT79/*74G\*?%Q@86&H7JC+W6[/W.(E0[-[,XWV=4OPT_PUFQ:4
MX98"R'9BOZ4 @G.Y_I8"Z(^? DCC<3W?2DCN4XJ+ 4SBUM(<+^>!*XD5R95>
MKE24=7^Y4J5Z9SP7 6CKA:]'PC5)]U[762G'?G2M3I1?WSHCONT<Y?EBLHO9
M0OY#D,1[8C4,EI9W['VW9+441MM,_YH$(6M^[J$0WZ&$S7J[.:N+)(\%&=9Q
M[,4W9[X>2@L\G^&8+3QL!4*A*<NU51S;T<TYKD72QE:<O[R0[ZHF=!BMV D!
MTR!:\0<#4YJ=&QCA/#%O0AD*UG-NA\/Q,,1>0@./ZPA23O?-]^$X0,%<I,U#
M;\U-N#^R'+#I/(62XHZC(,PEHT31R7H^):^8]_PK5K);7M9Q\(3E.BZ$T#:C
M)QM&76:'?D01FTGY@#L0J]!P@UJ.@S L%-T 3.MBX(.M>((_D&^_F%1NRG$
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
M:';O!%D%'4(2PWJ!/U_6"SR\Z.[PIKO\57<SUN!^]#B:CZ=WZZ_3Z6;=4\G
MBN(=QXRL,67 0\;_I0#CLD* QKW;KT3"!L'4PO=XS- T9-SYI"Q]6=VT]V)_
M-6G)JYC(D75>&:9L**79R56-^R]B5*5:*NFWEZ9<(?\E6]+#A*_73O@AK<]3
MVJKG<D?5FI,+O'3T/6HZ>Z7PXE>N.Z<->Z^7UMBJ<XH+@ F-%>>\*=)Z4Z90
M<JGWMM:LR(Y&"5>-1_+B!/FDE1>I4[>'67_*M>A0PDZ-H@_ME\[;L9.=("XN
M&D^GA$G_SLL3U,:8$V:TQ VOQL HCMG19O0<BZ]4R!(+SAKU7)&O-I\R/#A.
ME6QDXS3B-HH6*Q=M 6YORY7JDH&+L>,0,7;BUU'H\=^XA^6=?V"704K&3A1]
M^.&+RG.KV1>&*(FZ%?G2A(3#WR0E_$/(*Q+P$P&S^?DNNP<JH4W=!>#.5ILM
M-1(@DDC$5(E_AOH$FHP?66N ZSY]:F0@<%A91F3G^-X^6X[->N%1UF%(JR?
M_9(V6UJ <)C3X:A'-B17']ILM"5W20;Y3-QD<*MR%J[3Y]CW?"=B"^F98"O:
MPNP;99*M&'N7$AYMMW[@L_VJ4K[%EC!+OY9TBR/'634F9$O8E/)FH4O?R,;Y
MD2&:$_E&+.\ L[JK-V$Y !Q>"GO-G(:N<E67M(59W55L2,:.0T0V-N5^"E$3
M1O?8C23;1]]Y9FNBN!T+LX_;O-* H8RSP(8*'XA^]QYWBD9\5OI((<G5<VFI
M.@"X2TR55<(?L-MK_4JCA'^H^)Y&$?W=#U_DQ8I+6F)QI'&D*$6!0\<D)1MJ
MZ,.2=@ XB9B1HP(#Q-'!HW.)KM*35=8%X$QCR),2#@Y3PM#4)DG:&N"(8\:/
M% D.-=JL]$V(Y)1C1@@V%V,>PLM6V^> S&E"XJ7SH?BLL[0UUG9C;*])<>$0
M=>'&*. U\-Z<]\+:?XR)J\2'0V ^LH\'&CV%+E,W)B(VXB6-_3QV7^WW,7H"
MUL95^P2EA16/Y,N;@](66)O9-<=<)!(N0;#E(4@]_H$#=@+D4DZ2R'].16C>
MAG)5HF'"9,=&\3(+$Q*1N,I[T?1+>IROC;BLFI8'CCJ-Z=L;#04^92#013,
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
MBC?-OQYP9#T0 ^463J:TAL1+>@/X8IIF6H(4F=I\"UHZ'Z+60.1XYMOT:6<
MUTE;&_4I4&1>V:;#CR%7;M321P#X5%K8IJ5PD9G.TF:RD>;>W$M?68W^ "Z5
M5A;H,JQM>S8OAW)PO#_0Z"ET290PL7"77>%@7^;OK/LD@.WVNN/Q5>AQ)O#Y
MS=_Q/J:ZF&1)#X#-MAFOAQ(E#GWZ8*^.>H3899LAUP0T/-=9U<(&(EV5#QIZ
M-F\=S&WOPLQ\SV*OZ<C]+?4C4G6Y6-$!P"597T</>VH%R,Y)&6VW;$-GRJ9'
M2;$Y@/>P#4**$+NB@YE3#(-+B"<NCQ^I$[(!Z4X8G=X KKX&R=)!C+.UK<@N
M&_=B.Z=,KXXW$)>N:LFF9O8(W..')MGU8.,PKH_^:B,&^51BR+8):'BN]Z;<
M]8:K\D%#+T12!S,.]<4]Z+!4Q?NU:N^^E@=$:G3%M7DUU/LLU%$#;MOF5F$[
MX2:#3L1C91=<*UB3(CV8K5O"Y^:<#CD:G7#M7A-Z-(!BKHJS.$X92I&>?2BK
MKK$D2OKA&K97K(<2K)B$YI\<$;&P^_KX&GR6=\.U7*^@LQPJ#IO%[9?9;^^$
MG9[8[CLASS+#5-D#UVUNR*$2)0Y]!1<(&W$:N:].K+>\:G0$N(5N:$)J@ 7B
MM+!\B,$MLJ/3] >)7#\^%C)4K+"2?@"!^\TOL1*L.(3J0[[:%]#KA\^:I=@$
M- [7T^V6N.S<-/WABNS-E9.01<B!\%\\-^S="8@(/&?0?3<A'O^'4>B=_J#0
M<A:Z0>KQLKI^O*.Q$WR):+IC/7CETNS#<,0[?A=.HD,( ^O1PFO$/X4@0QQ5
MOPIW5ASZ,J9H+XVBA#.I2]2ZZT'T:. V4^NY8WG=B+JVH7V]&MC]*Q.2;JS3
MW2XK^.<$>3'Q6;BET9M8=BNN:K1[]VA^-\*W-E <9O./X2X=GW^*0!J:?=8*
MX*K%4"=/HZ_/X-0HXO_O/V6"\K-:];_\'U!+ P04    "  A@))6 (42(*,:
M 0!VK1$ %0   &-S:7$M,C R,C$R,S%?;&%B+GAM;.2]>Y/C-I8G^O]&W.^
MZ[LWNARAM%WV].S8=V8V5)E*6[-9*75*98_7,='!)*$4VA2I)JG,4G_ZBP/P
M 4I\@$\<>O_H=J4$G)=P?C@ #@[^]7]^/KCDE08A\[U_^^+]5]]\0:AG^P[S
M7O[MBU.TN_F7+_[GO_]?_^U?_^^;F__\\/1 '-\^':@7$3N@5D0=\L:B/=GZ
MQZ/ED8\T")CKD@\!<UXH(>^_^>K;K_[\U??DYN;?!8D/5LB[^!X1M+[]ZGWR
MQ6U,S?=^(/_T]?M_^?K;;[[]COSYA^^^_^&;[\GZ8]+N(Y=LQ^H:NLS[_0?X
MOV?.CW -O?"'SR'[MR_V473\X>NOW][>OGK[[BL_>.'=OWG_]7]^?-C8>WJP
M;I@71I9GTR\(;_]#*#Y\\&TK$N91NG]^#MR$P'=?I[Q*6\!?-TFS&_CHYOVW
M-]^]_^ISZ'P1BPA?:S!)FG^^:A_K]/[[[[__6GR;-N6$G"AMJ]+]\]?RRR_^
M_;\1\J^![](GNB.B]P_1^4C_[8N0'8XN<!6?[0.Z*Q;2#8*OH?_7'HU P^]!
MP_?_#!K^/_RC!^N9NE\0:/'I:5FJY_<IC;B#T$#++%_WJ<(+C,=K-<3'3551
M.R%49TT#YCL+KYU>E[W1*KB)K*#Q*"SICU#)+0=QVDH]M2=&Q?S(<MLIIO1L
MJIB<0Z#O _]73C_Z.:*>0YU$0V!905E()- 8" -IW\[1<V&"\8-K@X4)5H?4
M_NK%?_W:H0PFO&_A'S?P#V$G_L=?;WT^B<^?PRBP["BA),3_MR^*OF]F#1 :
M:,V#O.168">\^#]K[!"W^-KV^01[C&[<^(<1W7>!?RB65++S"[[\J_O<_(=-
M5,GI$=#0/P4V;?2+JN*763H5D;> B(IZ-Y\V#63^=T&-_);0^Z]_E7P''$EW
M<82W]'9^<!"1S]9ZSOQ94;6B*=[Q5:=?,M3*VN$<=;72MAV "6&B4":_"=HC
M#,:%%['H/'<<;JN0AO$_MIS^_#,+"^Q0VP'OP-33-1F>U:UQ#E)-F=L.54F>
MI/1GR3\)L. @RIF,,&85M>[\@\6\ DL4M<$[,DLU2@;C50.<XZ]<S+9#+C_
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
MN"X7]*_M8Y808_*.P2KQL ?*Q7IB+_MHM?L4RDFS9):MZX-S3FFDL1KM5G;
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
MWR3Y2\P<9]]J+&U-^.3<<436D.6N+>8LO5OKR/ABO=(OZ_K@]DTMC57_K.R
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
M]K>G,.(Q42!2>[5M5D5A:KY?:XUJ""CM/B4DJ%>B9T!(&(IW+4C"<B:S_-%
MPW!F*4"(&3EY/"QPKYX_,802=R?Q-/83=<%P:RN >.7V% 3E-9<:$YD:5NC8
MI!HNJBA,"3&T].@9-#A/>>H0<R4QVQF)&:,!CD&M(PO,A,1)S!'$YCA*/@-:
M8=M\E36N*4P_:GVM_S)+/M*V6;[/U$"R0.-J3%0Z3 D"B\3N&?&6 V6N=<&V
M?M4NTZ_#L?&UR**&Y]QQ*.SYENYQ-.Z,TS';V2 ](=;NB?QHN+D>7<Z$6>J_
M3NJ_CGQ='2YV!_0(%8SY7T?QUKJX/":/D6'J@D60J*A"R9E: 7GG!^*/YU/(
M/!J&Q#[;+HU3+N2+Y!;H(8\;! G*Q.U$^;1@O%0)B14_]*[D:OA><@TFH@&\
M'L!Y62$Y!O25^:?0/1/_E09'BSF0UL$9$.L4[>%]/S9VIL]X/V$)_,:U?X6I
MX0S+V.[5R.;X.3_$1+5^/B@*%.\5IN?.*US5VOJ;T_'HLNMW<YOTFQ0XEVM>
M@<O7G28'R14JC(W&4A*1RQ8FPIB&NP',4[9!+SF!]BDO'!@W@ WF1;_UD,"6
M*Y^AI_9EETG!6:&^%4B6:S\Y$"N6?DS\\G?B\RPQT?;#.)$;KB6X-!(7%.1F
MMCB7II]M*DL:))M'L/7,2<J ,-F))M;U/K5I4.S7W"5XF*\ZA ,)^U5\7554
MR-!>V9J/;+[P2+*IX@NX2=GD0OCL3 PGL/9CH^IM-QU*4]J/:Z1/[W@A>).8
MJ4CSD?6"C""(82,EUDCNMRMUVFVY\X\*=H3J\&R>E*TASI3UGAJP5%JA)D&R
MJ.N4H*-:@;Y3(X4C9-RP0<0PQI!:BT(G""$@R<=86V>(<;>0K*5ML)+.4P.
M*AOHI4&J/:?D_I7R#Y4*&3.;D6U!9J"IG.A!+)&J?)14<;C\(SQK%^O9-*VI
MN._4'+[" M7^7M!Q2NY>)7[/WBY89:X^1)Y2>V<?P@Z;O1]$-W"T*-^-Q.7S
M=R<*3V)WS&@L)S$U!*BW1VTV8TG_*>&!AA8#9#)&_CAYC.WQ84"[J(E[XCGX
MJ@Q&D]L"%P%1LT74=>>I 425#33V!"YZ3@D4*N4?9$?@<F6 ! 4&,834.(X-
MD/A[T6V/A_BJYEG;7'54IH8 6E9I?D4J)3$E3-!3I.^K4C&C)$?#T*,"(QLC
MS='(9S3B0(I\G>#F&%'>?VKH4&,)S;H*^<Y30H0Z%0:KJB#XD90A$DP8RAR7
ME<*5"@I($ 'BF4S[3+QF858)A<FA0ITU-)8.1=TGA0RU2@RRB% 0HM1'C*XD
M!C&)U+T;*FAG<Z:P=N\'G[AW!)'%O.@,-Z/2\E(7-NE&":?[]V"=BI10'3*3
MRQ1MI-3("?#Y!-)3)EWJ5F=HQF1M-W'QR'0FZ"CF+$';E+=X6$CA+J]M9@7P
MQB]K:<A0>8ND TA<(#KZH:AY:21:RQY A]+(J]T='_.OW&M?2Z.SZAXXX;B!
MMFKT5=$<;[2E(W3;82S>MH]K??N>J/0-@*BP,)2H-:32CS0B(8TBEXKG#F5I
MXQ'TK:TG@47I48 J'Q_/;2Z("&;A::I[UW_;\%A#R%IBK";]<8-88TNHD*;=
M&2_ -5>AV\HI6S5FO&8$N!%@1U)^1E:2XUD#H$9<E.)\J&>?X?Y3<+)<(W#
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
MMGIB=TNLB_T>_#QFD&YI&<J+&%;K?![(+K:!?$S0?W;9BYCB3&]95>=*Z/7
M[<,:VI9M4*'*:]#=FAKV.-GHR?H8ZM9M0F7J>[ZAZG=J/I>>_U;WP.V_&MJ6
M92).QG]UA.YG'AK4?]NE).+RX%'S!H8T0WI>*(MR'95K_'V@F,XE?J52<O*X
M>MWV5TD?G!#52./BV_D%'9!OP&B+WZ6:B56XXR(7Q;GZVS%3@Y?MAS#!Q?UZ
M5>.$Q\BG@";TSOW2?"C0P]'USY3*8U#BOWD<7_?L*"HUF5Y(B2/0E9 U7'RF
M@<U"ZFC$KV7]<")>8\U+2[<5=<(;H.F+WI/+BQ$>,R$I%^.KK3%TIS%=<:E$
M>OK1V$N^211U[P=/:0REE=^CTQ&YDVOK7I3"7-X+L9OKR]Y+6/Z4"\LE&^G[
MAA^/&<L E^N2\A2?4==E>,TP>ES3\+:K9E?DP-= _[( 9WHW8AM)/TP*T^"7
MV1OF.8YEAGSN#9J;[OI%.$ILV8@ ;DQH;HMV=6WPXD,+'<S7L<%4*VLH2UT]
M!UR46V0"/Q:[';6CU6[QF<<VW@M]XL'7R@/3P/^@FO>KY0*Z/E%XP0K>?( O
MYIZ3_T!IN12O2G#5DDJ./P;^Z<A[\+_E*^HGZF0_?\D/A$(PW'B'PD17.&I>
M*KSXC,@V;=%,JB#>U8J5(* %X:LAD&PF)P5%0'BO+Y$];@(%^R\^S/=(E<H*
MU@JU1$]5,=-U)_]0/RA-?M  ?E#Y;R.34B?[K6G X"$U.X \KCLJ_YM:5?VE
MI.HE/^WH0N">;,S\)NK$,JX$>"<10W9HBR\"W0&WKV%>"D,2:<B[1)XOC:P)
M)F986%>PU'1.8CJXN6"+:58L.F@FHO@5@FS>A>\G!^]#_'9_;/#M'4O_H-#8
M"])IQ+]UX>\0V'<4Z+3P*D^6,%A/![.(%8G:;)1_)>[.4G*FUB#%-:3=-I$5
M1'\DRSW3%^:)0G8#VV_8.;=['AN(%UO&<ZY,."NT8;CWW[SDZ:TPXA-ZFKHK
MOA>/J)J85S>GX]$5PE@N6.J>"[+,ZA?6%+S7[XU[KFQH!756U.R*=_YKJD#K
M.Z(*'SE_ 2>BL#)=G-Z()1P6VJX?G@*: P.UB*B1:O5) ;ZUQ1R^:B@QV74K
MW(Y>HI7JT!=-\#INF:!MAV5"CP#!&>$DC7CA8&H=.4'RSJ-BWU)FHL,KYD?&
MW1"N[P^R@:"1F8!&X9%PQ?8/=&M]AJR+:F@I:(@=7<ITRP/,92O,&%,J:_OA
M"22)H&D<:H;2+A+:'85VL0/RC_BR8'?R+M.]Q\GYX:.7QQ;9NUZ>D^8M+.'E
MPKJGK1KTQ^VDC2V12_C1[8S7I9NKT'JS67)2'@*$I7&6Y2.XF0[ZQS-'+NP/
M[3UU3BY-"S^+_02S#U3=RM!@\?E(/8=%?$D"!\NG(*#.AU/TZ$>_4A&DE&[+
M:'?'C1!-[9#?)-?KBQ<?&FO0?@M2,"(J)Y*P(L^G"/*&R9G*!8D1<!C-%NO
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
MU^DJI6V=NOO3ZFE[LUT\?22/*[YN)>OYK[#IW..5AKT?1%L:'%3YJZ\UU/7
M.?H::)M=;ZALCOV*@Y[PPU[OMY[]4Q1?;N!2$!:&)WAFXDR>+>_W$&[]OU+/
M\8,P>=_6]@]'RSO/R-N>V7M"Q0OL[)6Z9Q+2X)5"%ZX$O"@,S8_665PP=*R(
M)B2L,/3A5@-G%-^*"--'&R[8C'RC8=B?1) G0)\(!B3F8/IJP\!:]X>1?=S#
MAJL[OUA!8'GPHI!^@HUF5YS@VD;_B_O6M?WP3OV-I&]=I/#V]NG3XH[\,G]Z
MFC]N?R6WJXVQ<AJ*N@VR3K0Z3FF Z^:9U/>:RN >))4B9D$2'JC6F"/HC\>U
MGRA'*V:+AT*@W&I:)IPZ<\_YY-G*!YO3<\@<9@7U#VWT0!8W+/1EMWS![6XT
M\4)*;YJU=3A(UWI:WFZYSSTN3%:F2BS!%6]X/U"OYS2\1D/[(L>HZ(9_[.L(
MWWIXISPPW@\<Q0(].7C)IAE'K%<:1'#'4:QI:T_P]'OA]-B&6J<;:/5=D&^B
M-5!@TE5Y1M#S=O7X\^)I*R[MBHV:,?RQ<B=;K]LD/;)\3UNCSV1]LL>CSFS"
MA#(\?A#X;\Q[">-=:=ORR#,E]+.]Y_3Y/ O[WA8)C]1F.\;_]DZ'9QI 7\N3
MKP:'U#[!525BR?UP7SX7%6]'BWUQWCX0?^U]UZ$!%@3HSZH*CWB'6K%S%I>,
MOT4]BO(]X%\/]T1L_T"WUN<&;XM4]< )C@VTS=_:*&V.=T&A(W3[_.G;U<<%
MV<[_$\UHK:^;4]EE<N.UIE).>?M)C=@^:^, <<*IHUKT#JNS83==6($'P=&:
M!IN]53NC5#3'[9YU>N9N,Y6TQ>N6M1*WOJDT?WJ$7#JRA@*$/\V?C!S-7ZI7
M>R^OHOVTAFGUK;NRQM,9J#W>J8LIDS74!07:YF>. ;5%X9=/\  ,==96$)VW
M@>6%ECP8JCU2K.V&VTMU]<Z??%3WP>NSVI*WW_%_F,-V_WK^M/V5?)@_P'N>
M&U%N?_LT?]S,;[?+U:.A0[YBW9L<]C6A,,UQKWWXI]U]>MXPS&&@X$4$,Z)R
M0[5 &M4D>+'BUC\<6%POPW-N?5'0G7HVTSAD;$L#-UZTLHB*&(T(X,6,=FJT
MWZS^^'$95TX O[A=/6YYK+AXO#54X$A+_;IYM#&1/X!K5,ZFS2A,W#GZ/,=*
MV8EJ*SF&J*;5L0V##38V] 64?Z)'>,W$>ZF9.BN:XX:".CU5IR]KB]>]:R5N
M?7=H\2,,5K)\O%\]?9Q#V(=AE.K/:'H]IS5V-><NC6[3&=%#@'',@Z1,4,U,
MHUB@%_<N23H3M8=O3V'D'[BN>BF@&GUP^FHCC=-<L[H.^/RSF=AMQ^7'^7^L
MGLCMI\UV]7'QU&,B9)GDE6F0.ITF."K+4R!K>R!/@-27O]_+_?Z.'( UL1/>
M!'Z'."<RBOM$9Q)0F[)7OA0*3]QEX$ZLY4)OQM=+ 7VEWHE^1>Y.XBY_<AF?
M\IZ\#_&L*.8E\B(]A_,*SO!$XA4;;A'?>PEGZF<'ZRR>1N3?,0K5 O9QOB77
M(93YF&=RM/B48Y_@#<!$%?+FGUR'["W>YV#QV0M$MIQ7F,8(.QPM>)#14SB-
MFYTY_$\N.)"4!8I882S5.\-Q']M;\,*F<'F^4'^BX'OY-ZGK=WT;4,")YQVL
M<;&KI=L=7P3218G6F0 ?UP^K7Q<+\F'QN+A?;L5;Y69J"W"5I<(KR)I?^US#
M5'/Y!DB36Y(=R.'VD*YVRE4G:$D+K^]TUJAU)0/)6&P*"]8DSYLDS%%,K\;-
MA0=W,NU6.Q5YXV/I6VZ24*1?@>#.6A:=JLM1ZDP4-P;U8[-<I<U.%/'B44]Z
MM:^0-7]:W'R8;Q9P(O-QO7C<&-OJUC;%!]44M55H.U/]@[A:M=5:^5HQR3^
ML]4HUL_5454"DN1B"1EF,L/X1O@\2>0P'PV8MA\FM(+J,_3O)Z[@XE5CPJ]H
MCAM?ZO3,G;N5M,6+"+42MQZJGSYL%G_Y!$=,BY\-O05[J5SMB7%%^VD-TNK3
MX;+&TQFF/4)J2IE(TN9GF0&5'<HIPR!2')+_E3DC_P-J"#A\KJ3./?,LSV:6
MN\P*(:]V:SYC>M&M+#N\\MQS[<YN;T1QNG6_-@/?[X<B/H#H6:_692H=1]0H
MLERB\"8W)!6);"(>(HJ-KN0)2+(T<YS2UEKU*<1]4,;ID0-8+W\LTYDL/M\<
M0KD.Y76D#(I'JI[*EZ-2#A(+0D 25%O1&,PX(9SC2W 6KG9S^<H!\U[6OLOL
ML_S_.BC3[HP;K9K90 4DO9YX,:>A_*U?0P(V !X9HQF13,AO\7]-X\;8ICAR
M+9(4+4,!3EPBF0N@Y^XU77 [N8Z^%[%&:7N\#JTE=8?H("..SH$'53UU6UOE
M8N;M#.8':\K_WWFBMFN%(=LQ6R;Y.'\[R;>P[VAH!^Q8D/[9@0QN_VYKE_PK
M&\UHX,6!UIJT+Q*0YS*3*X3 >F8N9-5F7-$ AG$;F8"/3R%=[19AQ"!%.2RQ
MS%4CW*Y?K)/JV/D6>-VV1,ZV XZ3@SDK)8ANSAY&7YH0-!)76^$>+DKS_RS^
M?F*OE@N'$]F3!<7?R]^C+++I1A*W\_9AKUS<WH$>7F#H1:O6<3^G*JL4P#\4
M^C.B/!12T0H9ZN PI@W_H!E]\6&0V1.^-P%@V\!R:)+)&V^'<./ ?2QX5>*3
MQR,ZESK9)]7@U8$<;N#J:B<5M-K2P@M8G35J??$0&"OI\PEODK&:D82]\B$^
MF#)FPM1D@6*R4\S.2$P54(=%#WX8*H<Z'"C%)5?-O<MF)'!#3QM[Y&*D!OWQ
M0DPK+5I/VX(9 6ZSW.%HPA -;(QJEKGK^F^<B7RWW99&@HO2K19?)34)YLXK
ML BW_N9T/+J,6Z#:Z?5[X?3SAEJG90GJNR"O2]! @7Z2ZZWTN(\<I?N*=YAB
M,:"Z0)@(,NYU_1$L,5>T3)D8AS$3VJ>_L9DG:B!]U0\T<RXJFN,$,UT]\\_2
M%+?%&XS42MS^.9J8,+KUR> JLSZ#B'7@_XW:D7PQ5B-\J&F/T]>T-4U#AJK&
MR(,%+=&'#!,<RGWDP#SQL12&6" -L>&*V[@!PZ#6B(DGCT&;1J#Q%!8_IY&P
MX,,I9!X-PUO_\,S7<:*4?>5&:V4'G'"EKVLNZ;*T-=[P0$/FUJE),6FBTL86
M*XRAOYW1[G'O00# W/[[B86L/E52MP].?VRD<;;K4-,!>1BA+?Z@.PYR8K4R
M*4;>;AC:"''DH' PCDVC*J[\LF:R1OTC#:+SFFL1S3T'SK6/^J<G#;KC1+:V
M=LAGA^KUQ1N%--:@0_@L&,V(8"6.8U-FZ#8R#)CEF)J%)LSZBUDVOFL%:_^-
M!IMS&-%#J'.GJUE/G%[>0OLTBM'KACR6::C$D!%-"*+P#[@L)!3"D!-<+&6R
M!+('MR)=N$[AG* P\HX\)W$\> 448&9>1#V'=P%RW%R62\<-BD:RIF!#!!\2
M,T(#D>/;01TQ1C9>?O1]YXVY+I\(EMS5O!?V[%(9Q5W^7;D?TX8.3ECM;!DU
MBFI,!&\XU5Z5MBZ2<!08F?&(]V5G11\A 1)S-E-LTGHWMR30>N _PZ>0/K&7
M?<U"2J,Y3M_7U3.-HRK:(@^>="0?,F)RP:EYC$0"D"",7ZN YRB89[LGAXK
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
M YF?EXL_A6H]5*4,Z@R**,55ON"%I2"NU)Y$=$:0" [<HO-'&NU]!U*ZPDA
M9!W\:'3#C3FZ>N?>JJ_I@Q==M"5OZSB2 9$<B,(""XH,;H'+A,5$?Q[66;L=
MAP".#T8\_(%R^6[]4"]MN;PU;G^NT5)UXY*F>+VW3N"V0U;0G1&@C,5-AU)5
M]4X7>/28?O= ^71/TY*_0@51/4&L-C[(R7T#NS5+3ZR)('2H/XKLARQ.K^W;
M;NEA9 \TD9]&]JEAU^-(EG&0KXJ+ K:^4GI:^AH/B,4KI.K.Y;B'C1BL)F68
M*:7,8P#.!"&Q)$2(0A193 ,T&BOFLDPRP^7&ECHP^\1Y,3<EV3.KG?@@W.ZM
M:![0)VK[+Q[[!W56GFH)C:23O@BCQOH>;:>@?0]4T>-]GSKV]<!<E@T8(WQ:
MZB9()4I.KW*8-G*2"0[K":9JBN!J)[$_)" )X:*03!:R\BYLA@3\,9A2'8BR
MLE V"5AN1^#O8:U]/4&F+S%]M*)3H/O463M*.&> 'JR37[\W)H-Y;=]>F=X#
MT93QC"2L34./23M=;1J0@V34[B)RKWD7STVK$!1VP8T7.OJ6)39<ML>+ %I2
M]Y/:]8QFGV\TI9\M[W?R[ >!_\9AP[#;?DSA@T=/OO>RI<&AA2MKDYF*>S>S
M2['+Z]&8 @PTU*0/+\E8PE_ ](:[\ $I9!@PT.X4P:6+8\ \FQWY0D-Y.BE>
MYKJIU3K!3>UUIX5(?!*Y6#(-X@E.%IM<;=*D@!,].EBCX,J23G?D&T0ME>GW
M*I+UR@/S%QIGY<E4O#B?*  AP$DRMS!UT6@4 Z6PL=J1E&&67B58FL94HW;A
MP^6-LI<]Y$LU&S=#P&F:3-;\\>BZKI, 4"W]"Y"SLM]D(%-/B_YOU&?/=Z;C
M/7[B.90GJ7&M>..0.:R!\D7OD@34^*UK7!@YGB'2$<%C3:BMYYA=M*X#WSG9
MT2]6$%A>=$XWW1HN6K7)X$3-KG8I7K3JT9C"HK6A)CU5/ *6).&9;5^;A@YS
MYBE[$OXML9$%419G;!93U&/$I7B=?FM]CI'U _7HCC7=$VM#<2I(T]I:Q:#3
MF-P4\*>]4KT4C\BE1$C^A N0QC+O8AD07NXS:[ECX+^R$!+<H.@WDY:+K,^F
M3]B4)7%L$E@30Y:#9XMD_KH<WIY(3@6CVMNK&*2:TYL"2G70J@]G4[>C4H@"
M"4A>!'P@9=AP0=X\SS1ZHU1N^Y<!F$B3.XF"#3SJ.AY=<9?PUO(LAUF\,75H
M8+GBCJ @(:MIP"7E$U15%R3D%ECD)V2?*>=!<R@I"(@=!3LZ<0*9./#%L\1O
M'-@J8U-EDOE)7)L\UR*H3D?D.*FM>PX-:WLAQCQ]V7M8["AP%K-! V$CV$$!
M*NOE): O@.CQ#J/ %\B2W(MW*-.B"0 9 #%[*8WI=*8=A8TN;AU9HPS>YLLN
M3C?.=&I&#3ET=+-267Y4 U*(0::C0OUD54G. GSFV<5_A3L:+$)@KOSE 4 A
M)S$@P%%QY02CX<K/R7._Z8M8V@%+=5?DN-- _\*@I:(?8D1I(GT/@4O*1GDB
M#@M:C&(*!1H._FM:7[#DG6VS8<HG+[O<Q)$SWAP+GWS7O?>#-RMP&D8J+0@B
M!XW.MBJ.5YI20PPPW77JP]=4YB)R2=@3X$]B =! $0ZCI0 EME;B&WI71VUN
M>@H)NRXGWB:(H+@?A#?'N+9H2-Y=U(*"\WZY5O,L%V*>+PWO?UN!!WDG:QIL
M8.GXP0J9S:/$.^;"IE;3K>^&U*:"<JVL5++AW834%/"MG4*];'/'G,D:'N@
MWC,BN L/B_GCPS9S!I-;U>FC <^IK9S85C2Q:+J59!:=YE[$A&SLE6ZH'=\&
M6 A(I<X]]];;3*5KR^H#5X^,IH)I?=NV&.[ZXC(%).Q=USY\7A6*9%*11"P"
MXX/<YI'A&EGQP2A*:UM<J)O4W )!P[@<:&+JY*$MQ=RXX'?-?[2]K %Q8**Z
MX2*)8>$6%EQ]RKZ:?V9AR4_5A@YN\&QM&14;&Q/!"WWM56GK:PE'DM&=D92I
M<J,Q^Y[\!IPOT0J?)]WY![Y\[,/2*:4_D#?EK=/:GR29/XA'72@SJD])WFV\
MJN2F5O)"K/HX[+4U/M+#,PTNC->F/T[7:&V)].)6D\[(;V^U4J6S$X@$^A>Y
M_\<\\K9G]E[$;!2JT)\);T2LEX#*BUOB,A</[$Z>(Q*XC@'72EP@CU]I-OAB
M];CVJWIBN<?[G!>OG&9ZA.70H-,),1YHZYS=WJSK@=SS]>5OO6:[>K<6UF0)
MDY$O81K0UDC1O+B$QS4&U1;)T^J)TX5;:)\K@E??#6\TVT3XUD7NTO"T(([%
MLFLUAB%RMVUDS1IQ,JG@FMG-_ U] 2F>Z!'>+O9>E-K1'\[QE_H[]DVIX4:'
MCE8JWGMO1 HOBG15J ^'BHF3E+5:LWT&5S^2%D@0QYC1LIRW+%4BH*_4.\67
M6%X"/PQA@0075N"#^,**V!S/GNLC+]2#?R?;YM3BZ[!0BFL6QYZD-G#"L/C,
M?PC/<F]/8<1U",)Y% 7L61SC^O=^0-F+=POY^0&CX8?SC]1_":PC7U+. VKI
M8]T0'*>"AX-9NQ@S>V<W!5P=3ND^L#>63L) (A])!229A+ #$\M(4B$!G#,Q
MH0:[A0^D$?X"924F/!IE@'X!T@[;[6@ T^!+9G&!QZ9>8(7(^X&]4D?>?[BT
ME]Z=H\9$<(-K.YM<KDKU*>"%P)9Z=%JKNL ON4%TC4UH;A&-;)M<$?;,3O*B
MT R"Q/@\ZEBUTSPCGN_=B'):_"O>]&]P#S(A$E[M@_$/CU#BE3G$!4*GD)(
M:A:&<6@:<6T8_!Q6^H,IT!;0%T,O4"CIA.)<XA?F4"6RKYI//ISC*D5P&VQ#
M@U=F-WF'NG]^N-%R<$N7Y GWRPPO!@^O<EM(J@L\.18D_ 5:)!)@07"\EBT-
M+LL"2['Z/\:%X'R.WE(DPQN:<?8V=4 !ZH6Q64,>FMM<]$W$;?7)8]R(<&-E
M'I=D:WBGHB\N4T'97JU:LC':!XLI(&J_BO:RD0H2W<#G#E%EFI%,*B+$(D(N
M(@0CB63XH!6?B0%1GS:?^B\!&0:1 I#\KPP<^1]_7;UQR [W[%B0$UST/4Y
M*M4$H.3J2WP@4"YBV[&54NL[DU9W/!5FQA:WF,"8NLYD+?@:^;CJ*?-4&5F]
MYY,F%=A$[DMY;EAQ,YS#J$ZO-/^KH WRC*\JB=LOWXY<5E&"!J9$]1'SH[RK
M'3]CGA;K$]S'3?X:0O&\/F/!M3B3H,'1"J+SHW6@)5% 23.<'E>G5X+>16UP
M0GBEI*T'G$*4 -61(P7NZ7%BU1PRLP%I+O4LC2&:],4[2!M;(!FYVAUQ#N?F
MXO<XQGN/61ZHY8@,G3!BT0EF*LM=>J]\+>D'8B,N@BVQ%V:ON100.I7'->U)
MX1SD?=@GC8]:TD$>0W75JO6IIN3+ RR%,?\KYBRVQL.$-SG&S,<-LTS99KMG
M@7.S%J"1\AMHD;,X'%W_3&D%*M2T1^SZ.IH6KW\N&B-W8BW1^UD8D)0\^4TR
M^"^#:Y^Q=#5Q9/1!UA#;["F-'N)LJ(K""17-<7JHKI[J:4Q96WQQIK;$;8=J
M3)@(RB0A;;!N09&FE>4)*CM,;\R6%QLH;SVM<=O3HJALY/:^,EI%>QJLK3.<
MFE7$-\7-< [ .KW2:*:@#?(@IDKBP7=S?6 .-^ $]W$CFB$47^7T,3(=G$+F
MT3"\]0_/S!,VO_6]D#GQ79UM8'FA+.[^O@R#FI' Z;%=[)&;1!KT1SRMM-&B
M]403,R,*MQG)\2,*PR&<_I4&SWYU5LBH)IFG3\#8.3-$I6; !A90E20Z)P\N
MA\LP/%%G[CGP#P"[[E;6X/"'@1I=:[9$HCKR?PB@TE9R)!R;$2E1^FAZ2*1,
M8E,UD0H_V@UNU]A,.XL%XCV)N-QQ?[A85H\(LO^2J@[KP+<I=4+(J!8;OV+?
M-]WV+0H8&_;'"5:M+9$5+&K0&?G:IY4J;8?](UQV\KV(B^;FGA@0=_WA197X
M[JA(FHWKDX% \-(E%1>LXIJT<$PASS:S@QNH'B+?DTL.6<>NC#2F+669X[2(
M3,*. #\B&)+J<YQA,X_'-TAJ 3%$+@:"3#0N&#5&KF1 CK6<5.Y. 7>$-0V8
M[\"#1C39^!=MTH3#-;=)R;36FAA.<.['1KE[%*THX8T/.^K3&F_$)8<XG).,
MB>0\$\^%T5EZ:!5?B,C294$ ,_<>S-@J7>LZ,HR#JPTPN\FW3T\>#_((38S%
MN"]XHO[Z\=I,72K4T@ (6R_PL"(+;>"]\H0QXFL@A2&>7C><X-%4[ZP,;7T?
MY'%<$PU:S[ I#_D*@.1"^,AFP <^E$\(C%PX=G35[Q35EXGJDM/X01:J7[[/
M MOTP$Z')LA5UP,S:&EIJY3-KFJ.':KTA&^?PY:^,@ZE)24SN(2-!["&-4!,
MGKQ+&'R) Z?&T3K9.HMCKL'P:7-Z#NV '45:C?,*>07%6V;%[1!C495FV198
M02/DN%,I<C]H$RHLB!7S(&\TH&1W<MUSMH\%&^+P9FC@B*I!%VD 8A3OY5&9
M[S)'+"62ISU#R%X9>VMK"-NI1$E"U< NU>"Z6<6ZC;/9!+CW?'GA?YX]&_'A
MG#59RT+,XNJ_VOS6#Z.R7(E>&>"$Q>%LF=NHZHTZXLVK_G7LM($>E_:(.1%%
M$'A3"#C&6'UK'5EDN?# \XS,!>";V='"8T"5(I^I0B-UCC\RSP^4P]IL(R]=
MLGXX/W+7SHZ=9),2^W:AAQN\.EM*Q:K6Q/!"4W>5.AR+JJ>BB0 S=0<]VX!Y
M/I.+#K*9$3@R9[3,-L><;;R+,V:_R#BC0-./%H,,$RAB3SV;45F"M,20I8UQ
M@TJUCBIB%+?$"P<U\K8=MD"6Y.C&-<+,O/@IB\G&D0[<+!7IV[>R(*VLI%MX
M?:$5 =Q#N;DM<L]Z:O?&.^1;Z-!AMTY4,4YX$<Z,R*L#,;NDY'1RU]/(]&;
M(C2Q"*PZY*Y04A]:UG0V,I6=++[ B"A=/;OL19;'Y_.Z%9V"HL(Y#;KAQ@1=
MO7,374T?O/ZO+7GKR4\R\ .B<)@1R<'@!=(BQ:50E==(-;I-;W@7Z5TWO-4^
MTQK>A9(/-+S;WS+M/,#OF6?Q8--R4QM41G45S7$/Z#H]U8%<UA;O *Z5N.W
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
M42_AD36>-D1MD@WL6K9+AX>+19VM(&M^*$_5#J=EMDJFJI!6-L)GD>VL]K[
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
MX4^UBG&0>?:(.@#2'X/HXTX0=^K<GX.(GZ_PNON=G+NQYTR<NUUZI7/KN\W
MN0V8M^#<Q2B$#X/,MT=402GW,]"VMRU:8SE_*UJU?:%IA],?6R4K=RY5C9!O
M33:RW'OO<4/SE #PIG7-V-A<ZH?[%4W)5HPV[;[B*/(>PTA.=_IMP5&D6YK^
MDBY"!+&W&;S0J\B/M_31>X/:*W!R'/E!&'"[9Q^*Q&-=M-"9"$Z@&J83.8;H
M1@%O.-%3CKZ>4@Y'Q'B$T1:U@.I#+O@78M0%O#KNCY0';W#I;6(5?:8KFG@A
M@2A'U-*5=$$^>"GQX"0*%.(]TQ_LA29LC?0K$W0)R6#I'>,^@Q.3:R]:G7N[
M(/-XYM4%?:%AO .V(!M%&;OT)803,X;KIHQ^>E%!'AX-DVGXC.M7HY!5-4R>
MI9G0$+(LX,PV*/V)'^JF<>@E9!>_T@1J!H ,$P=:;C27CTK$L Q;^<"$C4RN
M>=GY:FQ(@:D4RH>?/F!SJR6>&9N2CS5-@&DM\M@N+SDA&OO_V =I4.9 A_ _
MT'ABC+Z\.R\N:8(V>FOUE,[<$5JCF6X ?43D/>"S3B1+%Y\])5JS0;F;Q/PR
M $]'GSU<VU9D':T+L/848%VJ4UR6/C^%'2Q@/9:.2JP^-JPHS1*1*CD9&G=3
MSER1M0-^SA8EA[^G5=RAR5'02XN<P[Q8#4DWE&:$5\=GW\P(^$:&MTFK^(PM
MJL@VW=6PRAX2\0++S&QX]"MA;4T@E<2F'1'C4R?92Z@RZH4<M;K),'RM'>3C
MY8MK.9B#NU1UXR:K(/7#.(5KARF_9<@?AP(D##*Z%3%>C1Y;44%UB8EO]TVC
MQ&(4L8RN!6YU$)P^:)M8 ;+5?!P.B(//1ZXIXV\3AZNK+6-&5!%(FQ\^:.R!
M$RD[2%M[Y$#?'.^9A@G3O1\T*&B30"+NQ&Y95-)LIG(#Y%9Y(DO-",MO$=O<
M*8^]36RDT-?@J,NB%)\3*OPD/!5G$O]@TQ<4V3OP,!YN3?]C'_#]6U['2J.
MUDZX_<A,9MFWFGO@]3=#O@<L3#GY_'Q$E%(HAEB0+XJ*9=/DODTF]ZZ4FU9R
M.ZO4MO394FC/-X<O8&_9%\?N[-\AY9?\(J@]FV3![_QSK98T6K5('C= V-;C
M4>U'*[3Q@HYU"0?4DRP8(3(G<&*;\\)=5^9F08Y ;5%'-4=%#E#J="5Q8O6X
M0,W[Y5M^E'PNG57P2PO/B;BUH-FL'$ .)T[9TI-\(M&7%O+-/QN263K?A?)G
MU1EO"(\2A,$+\Z/=YI &OA?FVSL+N!F?)TW4CN6"B.R*VT-[V#%D'W#"4"\[
MA+90ZP2(/T'M,]:.8U<49WP/,5KE.Y",*2^DDQ^/./L=BK%542HIQR?G1[HN
M6!BM#%C;(8MSA6GB6P/S/*T0-DD K%9)TU*VN0=.^.\@K1QY-C3'&TR:,-W[
MS%GC\"Y7KE/*Z_!&IAS$:C1QU 2W*ZKDJ;_75'V/U]F47/:UM@O]ZF :5QI-
MFJ*BK9,M'@@1O[%0+I&]N?&$HZ4+;L<RD;>VO=+0'J_C&7'=UW0?I-RH])#R
M6D)[&*L6OME;P//Q[F"X!S&:*OYJ;HG3)@VD*U?4ZF;(%\LM3 ],C<E?<O$T
M.TBP;GU.6,O51]X>%L9Y)I^HHQY#0F"\*VU8K&DA0^:)D@T-Q>*6+8RG7=F.
MI#3AM9PNR0F[B$O'%[$&3/T/3W3/VG7;.#V15*4."S01 YPMC56OX@TDB!PT
MK8DW//-0!ZT+^$LZ\/ D?D1.8GT'TG1WD4$O@VCV,<UO\@-Q*"T2^%/78W#_
M*_0Z;%*@_,0G3/BT-\ZQT@G/]]0/F;D'ZP >#6A- >_8'S' ]]&$/JYMZ(P<
MN'N)8OVN7ZI8G242(SG(2NF_CL/;,;6D@$,BCT<>8^>)X!.;34';+Q=)*HLY
M,9+Q+\T<ZT%S_MZM.V+8[*&'UFLTBK[(0;./)*-?J5%YQ,SOU8RASX;;-:?
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
MLR9.J[\:=,:+!=U%&%@+]L3]%Z0<C53#.2P(.X4R*I%WHXIL<!?7A=#:WWG
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
M(9 Q?Y28'A@<O6\SD3I$64ET11:U!])?DCA-+X+UFD$6<REQ-;!O/DL;,=R
M,4Q'1CDNC93P@LE >6Q5E9<&7A ^-*G&YB\B0^H8UN27J70E$E\6Y)DK:%4.
MB"X6^185Z7YT=?GFLZ9")WT@O($6;M 9I"'CD$5'""_D#!-GS&!&'IR(T7/H
MP;?$&551_T."[6Z?\3HAHERMZSM%O;)S.Q' #2;==:&[1S37O-P>,EBZ/X0T
M%W="A=0S<>NWG+$@0X\<U!YDYH<277-.N]*8%V*,FC'9BANX,DLGUX^KC-(V
M09LS2<U[SQL<&C)'#;O.%PILI4*:(H#3_-"IE.$J+]1(OH9\T"[]WX'+Z_(_
MC3O/W.VM)#-V<WQG69[3*<15=J>)A U9G1VZS]_U=5F<IGWG[?A6DA([^;VS
M7,W)U.$J1[--P)YZF;V7]_'N^7KU1!M_3M(<1I<=:7J#4NZ.YXM=:<S0Y[N<
M)W8B,#,T&.U83 \-R$X-IU4+[M-"D[=EY_,FB?%[(S-[2V2<5R]T#HO'*9T\
M_.PP6K$4HA0_K! SK$X^T:#.0^9EE+_NN\[?M_/"NS@-H,S\Y5M&HS1X"EGS
MM%/ THGJ#)&LN]9:,<^<Y,S0L8=@]@.?D@E("BC9( 4?Y'O%";F,]EN>QQ1'
MQ]D2 UX-$AE2/3( NO?&Z5 ]M5"^VV/>%?EK/#T$&9I)Z/AX7X49_Z2J:'[&
M9D)]]$QPZ(QNZH0%XTZSQ#)%>H)9C]DBE^WR54ZR$7K U+N0NR\F.4Z^Z =%
MBF2*#MWF"T?'J1.F?>8-258+9#G*E.@+2^]!]D'0Y#(YI!<X*9(]S'O-%IJ.
M4SL,N\P:F*R6X7*3R=$3EMZ!Y$- R67J2C],.JWX8]YKOIAT5,7'L,N\,<EF
MA9X6SQRI%$]?3)J_Y(,PR6$)L\Z8U%2*K&/76:*3MM!8EWZSQ:EQRHEI77:"
MZF$](.O]*:$O>B&JF-89R+I).E>XZH!0LP6ET5T0">[,4DYM_L_8PHZ3I&P&
M,X9)QQV[S@> 3%*,N_2;%S2-7IC(64:Q*6B]7PUTBI3PIU)KX:PA,UK= C4X
MZ;*@%5^CAQJK:;+UDHJC)#PW8,;<1&ES_G>>L3V&E")*0Y&?O638G:7+:'5=
M\2$ O:5VG%%'G/C8778YD;J]%]Y<Z0Z\][5M,03QHE6]:*T8QG5-N D4<-VW
MZIM16'*^3Q*J6U.I&^)TPG;9-+%*WFI6(<LQSY:F^P7)"3L,8>8H6I>0QI9\
M#YLXR3ZRD;=C0<,-<S93=*BUG0U G$JHP8BJX:Q@0L&V-7>J:#L$B_D*V 4R
M;$H91\]]06.<NYOJ ,2P"TZDZ2)OZY5*%.%)TQK B&O[ER%'G,Y?:/(4][A?
M;EOHDP7]@J@1R;GWCG,!NP_Q^2+""->Q.U.>)\J@N)R=\]+MEC;PU.=Z]CC.
MK WXS7O-T/W4BP##+C-S&(N1I-X3Q@V<^T[.(XBNF)\CG>P8O'J<6;HG_5DC
MQ0AS=1_BLT4?%#-VQ<Y,)NT+^I1=16F6\#V@1X\QHU&_NB5NEVN03G8>13.\
M;M#$;.^-7W]#5WMFA\Q2R^T< B.1:JB4?.>C.;'3\X2N@NRSYW-'6[X%NO>
ME UQ6ZE>-ME(3UOAM=$&7ON:J"!)"IKD.U!%8(H7\=8+CO?-6YK.R1SK\ND-
M4K2;BTD><6O-* 5=)V9Y'43T=BTX^DJW3U3W/(*R(6Z3U,M6>V/UI!5><VS@
M=: QKG-CM'>$^TN<_!9$S^?>+LB\L#!VI8V9M,=I:L:2EL>Y38V1'^D:L=[7
M#N_ICC'- \9L0TD0K>-DRUDA.YID#!_AY=XL)J^""^(+-DK+_33IZ>^HNLB)
MDYQZ.5/8<TZVXCP+HA6\+=PV 9BT1^R<)I*6SMG4&+ES&K%NP3D]V%G\^"2&
M(DS[/+=PSZS42Q)&7>Q=O ;9AC4-:;2B"=GS_WW=!/Z&/,5)$K^ROBGSX(@\
M4;+U5I3L=^#;'DEWU _6@4\\?K6">.S_H@/9Q0'[(XA(%FSI@N=@:HC&^RS-
M/,'=UCO  )0QPYJF99X2B1,2%@O6!5G1'14=]CL&-P _.R_) G\?>DDZ+:Z,
M^C/>2+_<DQ?]1OS:Y-\O45N#,#PK[)'I]R;.Z)UW@#T /;XTMD:,+NU2EMBB
M;XH<60P8MX K\9KP@0AWT(@-!;<B8*QI'7!$:85\0)L <9)3=['L8TB04)]I
M+54[95,[G.[8*IF\YCMIA'?)IV=UR"Q0D'1A>_<FAG?2"+?5J6623>Y^)O:F
MX;,_PO<V-$U@ ?AY'7N1/I@X:8'3=AJD*8.&^M?( P4-LZ/O"'C$N"D/+D+&
MX[1!A67-/!92N('OESA\@;V/VMYX"YHW]\'IH)TDKF-]0P?,T&_"=G]WSJD?
MK3HM[FKEZ1+1<_MNL[XI3ELTD:^<-33MD$\?;5R//H^L"P8<[2F/I8#/)W+9
M<[DS+_KMK-Q]T_N;IAUB9VN2K/0T52/D;M;(L@4?T_N7M$L+>N9;D--ZV"BR
M U%)-GN^M?Q]O_5^BM?[7X,++PC\3?"CEZ7[%8W23?SETV^?].YFWA6Q!W:4
MOW1*PW[(_;2K%*.Z+F>&"&Y(S@Z1^"%?/OWTB7P7+(U2 $/KTU/IR4@%]IS_
MW(N\5>!%#W'H)0\[]E,\Q'Y 5][J.M@&F;?R]-[?H2]B]^^J@=+_33LB!X#.
M8HR)  4SA'-#.#L+4C!$"H[<0,!DFC+4PE@HL(]H1)/GP]\"[PV6Z?&GZVQE
M"@/-G6># P8ZT !!0\]9(8&)'*.OE8\]H6"*?,C9^H$PQ@CCS"$2C*FIW@JP
MC@9G7IS%>R%<PY*@2^?9H4&##EK00-%SEFC0),>H2P.](PB6N!\LP!&F7>M/
MIZ;^&K"%!7=)_"OULY]^,G3_T_9S\7B-I&HG/VH\)[_6L3ZE*^<\D)].%[83
MNJYM39@+.23[<1]MZ=L]C>(72/%*'SYYGR[H^:>7A@G:H ]B+S65N,J';.F
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
M*PV>*:%>^.-?4X/=I"R+/[WQ:L%U,9NI%:/,MY)M&NED(AX^@'I+#X=4\3R
M68^Y3!5::=4SPTGS.4T$>N8QG6C(!;]2P>>_SL(G^T6/X3Q_CH7_&OD8CJ';
MOLRG2*VP041PG9>@*>NS*FXM-K5##,U-DE5UTQ6-D,-P(\M]S59Z&RI3Q-]@
MQLK"V-);V2(2F;@8^ABZ**HR2670)[^>.:)TF.HE5X_7@'Q'.FALB!-XVF73
MOQ@%K?!>P6S@=4A)9>F=J 5W-00/1%D1CL,&@\V\,L&!? @B<J!>DO[@WMD^
M>SX5MT&-%%)K/B?'.Y53[WY5V[DXH8)C:ZX(M/-:10@\TJ*D54FJ,/:BTCWM
M!=0W>WC?\7;-BZ+>>4D6^,&.!7/1\^=BN0J"!=F>;R:JYOWN)' ZY1!]E!%Z
MQ_[(@_>^TEB*ZR,^/-\_E,>6=E(":?1I8_FI57-3ZD+4+ZX-2<HQB3SH]&L
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
M^2LWI157 N6;,9))W*Z)))1TXI1?8 :Y2"Y8E9A2BD8JV8!4+AVO_)#+1X2
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
M(G@1*^>"&[Y"9-]=>[N40JBWK%(I'GB2 _^49V5YJKABF,[_*G0>T6=8D/9
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
MQ6H.CR)AS+J\[K/&KGCU]+IL+8K0=)F'9S;)JW)-57O\OMG(M7WG=)]8-HK
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
M8+?#X3 /0/;5Y_(81S'V7<_?B(6/H>]61>>RL;I6LSJ!^8S(Y:)PO:@0(+?
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
M<2V_B&9:YUG!G5#5@JN*37)SD53YGJBGYH?'+,E/09'@D!UEY1M>#0&6!2<
M3V@K=7]4X)!0_FZ(^/^YSVLAKX\A2W4O//Q,G59\[DI4^L-T*\J:*-;927>&
ME[Y2%T$],!(4T(>4UD=F%J+F.*&'"@0'*7.SIPXAMY/(O:N5NT><F%0;1D_!
MU*$P%)*V(+&M TQ3EI<U"P\;6P./#>5X[[\03>FPR"VA5 I4[$9G9J5NDW6P
MH,RLV"=K53.YKC,1FA->S<W'A$ -J:^&MF-#'R-)L$/!'G%BCT.EPDQ*7(4[
MT[J,D4[4D0><<:7&4O9O@_ A#!Q"7+ZD6P38IR+)QC]2O4< 1?):.$.F]JXC
M :H.@J@GTT02# O\.F#/14'(WB8CW@MQV3E,EO0*>>$*2W&))!NK^@T<CU?R
MOGJQR(SM&'\,#H;;/K2HN0S_6&;Q0TJ-)\4^HD6J"DN16"LF6E#([=%WDTO>
M*F?"$,FB1Y*XX^7Z/J!H_<CG-2O 8EIX)#NFO <<-N2+.@X!$UK[Z*.8->K2
M'V[B2$F*'C5_R<E):AB<',KIB1QZ0A$E)$T@Y@L)GX/F_-%P6A%PP55A9AU7
M$(TAG\RF8WL7F);>1=XL<FII#SQ<DN6^3XSDX&B+@F.\W@6O9\%/*#&9[<9!
MIE52,E]& =U:W RLC7:LBLT^],EW5CEA4;<:/(W69$!+IA-@V)*6.5_RM?4
M#EWR_/<&+\^OQ"X0<&5>#=GZC./4(A=ZV$I0\X*?K<JXU+@?9O5>ER7'F=,;
MBFZ\R-D%T3$DZ7LM-3&J3#^8 -=9\N*RJ[43W+66/.O*J7=.H7BW%\JI#/T"
MD"WQ_V]!NO_WAYR3!?VO__A?Z5^23O_Q_P%02P,$%     @ (8"25NI]!"N8
MP@  T@@. !4   !C<VEQ+3(P,C(Q,C,Q7W!R92YX;6SLO5MSXSB6+OI^(LY_
MT,GS,A/15>5K9KIC^NR093E+/;*DEN3,J7FIH$E(0A5%JD'*MNK7'X 7B90
M$"!!$J0<>W97V@9 ?.M;N"TLK/5?_^=];7=> ?*@Z_SCT^7/%Y\ZP#%="SK+
M?WS:>C\9G@GAI__S__W?_]=__3\__?0_]]-AQW+-[1HX?L=$P/"!U7F#_JHS
M=S<;P^D\ 82@;7?N$;26H-.YO/CYZN?;G^\Z/_T4M7%O>+B.ZW2"QJY^OMS_
MI1>UYSI_[]S\<OGUEZN+J^O.[=^O[_Y^<=>9/.T+/N'^+6!F21LZ?_Z=_,\+
M_F0' W6\O[][\!^?5KZ_^?LOO[R]O?W\=OVSBY:X_L7E+__S-)R9*[ V?H*.
MYQN."3YU</F_>\$OAZYI^(&4$M7?7Y =-W#]R_Y;S!+DIY_B8C^17_UT>?73
M]>7/[Y[U*>HB^;/ 1^+B[R?E(TR7=W=WOP1_W1?%#4%.TWO86'J=SG\AUP93
ML.@$;?S=WVW /SYY<+VQR;>#WZT06/SCD^G!?V,L5U>75R&2__<A4I'XOUW'
MZCL^]'<#9^&B=2#'3QW2_O-TD.J0:3B&!0W'<VT#_6RZZU](J5_$&@Q0"HGN
MEZ((9SY65=*3GDOZ"BVBN?>&3<0W6P'@>U+X1)K3"MW$0/C/*^!#T[ 50SUJ
MNV[<^U]ZX\5X U"@; KH9;6K$]Z>N]X@L *.!U_! "\,:Z 6./4#6DE@93A+
MX V<_K^W>+Y1C/ZX<8V1*Q[QXE_22B:&MWJTW3?%PS_1K)9HR^2>\8T*Y?
M/=-VO2T"8[0T'/A7,!/C+<8$0<>$&\/NFCY\A3X$<KS+-5P+XMEVO3;0;KQ(
M=,ETMWAOY2PGF"\S/V:QIFM!W;6QQI$-QZ.+\*G#@O[0];S<2-G-U8)NX+SB
MD>2B_-2E6J@%PP2Y?P#3[V(Q2FZEF6W4A0-O[?":AO>WP:D%KW ;,O6-@)\?
M%J?)>F81TM>)^P;0;.?AJ=W+CX[>5$WC")^&E_#%!J$*Y0=%;:D63(\&1-\-
M>PN>@$%^)GJ3$Q2]J5I0?3<0-+!TL9P! IX?V ;R3W_LYFJ;SST_V"\-G.YB
M 6V(]T]%YG9J:[5@&X*@Q5Q(HKJU]/O>1<A]PSN9O#0D&ZAGSEZYR)\#M!ZY
MF/Z)L2,:GW?2IK=5S][.--$66#\,A/#ZN.NY7NX-!+VI6E!-\9A%T,2')[QV
M%-H545NJ!1,^$K[BC0Q9%@.]R0GHM)F:9FEBO)H;[P5FYD0+M6#H&\@A4]($
M[[Y6^#R>$\AI,S6-&9M8&R8&WBQ'!F8/[Y?G>#![ABEOQ95LN:8QM5[#<'7'
M'<)#@YRV@5/@&,]ML9Z5"RQ)=W+?)7$;J@71D_&'BWI;S\?C'^4EZKB1>F80
M7-S= 7 /'+" /CFCYL5#;ZJFO1*>Q8*+:W)? ? @+Z)UC,9JLO^]>.#?6SP*
M^J_YCX(GK=2S\[,L2$1IV(D1_0@=/#U#P]X;G<D=O[7%I[N\NT+ISVAKV:W
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
MM3#H4E\X5']SC3?6^%CD$P\OCLDJHW3;M4,&=@FFK#HWE_N=TJ.+GAT32\&
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
M.H9C*K"8<AI*2_2R\;E69:$V/]))<HY.>E4+;)^3Q;51!,4$\_?*F1)H?J[
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
MZ>."V?/34W?Z6V?\F'I6T!L_!]$$.Y/Q<! $%/RIL^]*9^&BCA5UIH,.O6G
M(P2*A/DO"W@5*IZ7OAG0.0TAR>@WO;!V,THV'\EI1 *4EK'DRK@-UX%%"5YR
MWHHWCE85M^(Z4"O%3NY;\4QZJP[ZB,#&@%:438IX3 47R;TM(O(* PI0K]7E
M&V@$XQS*3CDOB+WY466^;0V2A1" \8L-EX$ /;R])>F(:9[%HM6TTY1"TWXN
MM(HNTVQMU"+$RUTLLJKIIQ9YF!53D$S<BB:/>A1D_T)V#YV[QK"*IP5S65^6
MK$),GBJ$%%[]%*'B-\1:$)]G@9!&J.@:O5ZJB[XYKI-N:<:RR>8@U.6,\-U
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
MZ\1;'J9=5?6'6JIJE8FJA"BI6JCH&W#VQ^>RM53H6Q^*6EA:I?JGJM+5PTX
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
M!N05@?;DD]YS0PD)U-2._+QL2?">@5X7WN^W6$C067+C!J4+-8?-# Y.V10
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
MIY7\YN;Z\DJG 2MZ?R<(K.AA["X<1PY8D@ $&EA^TU-7_*9-:,Z."S=0 R2
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
M%E=2$E'+@O&7Q6WJT3-^.-AE 7W]WM"B!0]3Q8Z(HJ;!$D+ =.M89@ [XR$
MZG0MY(=T1$<"C9>P:F[>T\L$P/*Q#]3(]T-\!?%D29FPD"MT3!Z<AG9LL7QL
M/4;.3UL*@RPRY;-@W2.P/G=%%>5VBEHA2SVKVSMDX\U!M.J? P2B$0 ;]8;O
M:,J_=YG,!^P434EJ/*XC6I$"@ZB5L6(IC9PMLM#U3F<DO-7/2RITL_5:,E>6
MQK/A6*\^B*) "D]W.!]Q7A(I-UV"_Y$*F<P 0A":Z*>!X:^KZ23[C/,2"H/M
MHE),%DM%U*9)N:E]T\1[!/X,F !&F:^KR27_G QL7Z[4AV9+E0RC_:*R4C;2
MP^#95K K-)<B$DJM#DJ"UUI1*2R+!7#;Y'J'[F?"^8@.2J.6Z:E.--F+9=%)
M'";F_@#>?.<7N+PSU.BL"M@L34G7Q,6(Y+@<'T_NG2D+=D*)Y;I$,+-]*:UR
M-CX%W2);.<(%F\X4W((+9O&Y;BO_G :F M!DDU.P )X,$Y0Z_A05[[082LQ,
M)2%GLU+4^G$<XG"[R3)RAIP:7@!-^(X8<5;)->>&C2V&08B_OG# YWQ$1S0A
MS/14)YKL7+;.@["]$A)@="H>3?8SA3IT,+AK=$P(I::EGEQR]B2YXY9(CER1
M7K&;P!;8;G2:A_VG"UVWBHMFC;]I*Z_<)J;\ZKUYN,".Q:E9+T: UDB%$X.B
M<EUBEMF^E%8Y6X*B:$TMZ6_QM8AO-D#CSP8&&)8!]ONQ[>)=899Z7:*]LKVI
M##39\1,PTXL_.I[K@BC%V!B0IW:%I3NBC"I6IGK09#-0\*;!JV/$Z>2 ]0A]
MDWGWH*!>%KW;MIY-U[,W54M7G"N3S56&^-2"DAU3!*N%J0;D;#,VO\\<[9NP
MY;4@)'1H/_<LUJ6\:^+X*"P*&2/W'6!O+6#UM\ S5F#DH(\$?C S C!!OUK
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
MGTQW$[_U$?JF[?JA%R6B@]$./C9_X#H!=%; ,?$!].%/CR PH+V?#\>,@H\
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
M^G.E=.2!$=#3W7PVVV1,!&F<S'<^FB']"@,_L:Z$'4+YCO'$8Z6,$8[ V&L
M;?3 N6G8X,$(4->^FZ.ZQHIR.%I6ISO,5;)4^343!*IGP$>#.AK=#9N5Z9(J
MW2&ZBJ'*CT))J[LU=(QX,CWQALX*K5*!!YT5 L@,O6CMBC#"E\L%'@(,?71\
M] '\H0W,P(,FEKQ!'59%OZ,[2FH$&4%!W>+]:Y*%=8I@F8--8?'N:('72 GQ
MWY+F>%/W!\ 6_0=062:5[0[%7!82/;+%LS39('.B8\L7PT'C&.YW4NLHK;*T
M5G>8JV@KQ<-;.(>X^SC>&TOMY1^O*SZJ0VP+!$ OM_$JQS"\>WS/)4YPE9^G
MC<!T..,3BZ+R96B'O.-T4*98=>35)PHC4>YQ;F#8:G0730I&FW<#>GA2,%@;
MW@J0NK[BPEED;M3[5LI6#P<,';MG[& T]JO? C^@7<A**'UV>N'!0:][R0B3
M]63Y%WN*GC:$HBDYM<+9Z*$B%(+V7DOOMI3NA/MB_,?U]E-(/F?;VZOK4V?;
ME_XODUEO\#I?3%Z&L[E\=UI":S@Q:_^)!&?9\N**@H3H\TE]NFU6O(MB<6@-
M3'R0@_06-=R\V^X.@ ?@@"4,IK;!>Y??7;Y=#5^FSY/?A\/>PW \?!HM>M/G
M_KB!YE5;R -W\PX</]:@8\U  .-#B-(VR553E:\QU1D]4RBK\EMU%WI68*30
M$9AL%8/#QXT8RDK\IF:&LR)YQ>W_I@TQ' @?:"DWI3D_;!8VB+D8C_ZJ#2/E
MX!800;%!Y76$+]"!FW!#Q#_S=_T8H'Q7EH-R.Y2R8'S063C^>YM9*+5#JC]M
ME:&\[(PA7U ;?BJ-')QV,?@$"AK4.<A[1#-L!UC1?C%\"_$GX?EV,@7W7HP
MH>6L,G\'GHF,)9!<_8'ZBH'.:UX0@C&0L))3N=U*0&?@^L$,F.[*@7\=EG1L
MZLK6[;R0&,S5:XN>L,=4TDZ.?]_WDQ9BK,!DV7]_MZ&)N^BY81LXX<V3Z[T
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
ME38+8R<'XP?#CF^X! @BWI$Y=]5]R<C\C]Y#_[D_'@Q[\V_#X6)^&:KY'MK
MG7J'_/#Y#]YSZA?=8<]9.]O$;E 3^[G-/=5QMR0""97W*AYWDT,'M7?4(Q*N
MB245U8K=NEQDF>4RF3+'$9S1K0*GA??HT MKQ2L7$^4D4BQ4V1HSG0_QKM."
M4MIS10$\RQ:K<7ITFNB=491):9=Y7% KLF1UF*4&4Z;8JKK+])L9.LML4:T8
MY>"@C#Q-N\D9>'>] $OR&:P,.^UCR%>DT\IKSAUSQ\EOI/)-&4$KMD,W-3#B
MX^!GPF5?W/6U$H?PKKHF#A+\I)O>C8YVBTH.9K.%M%)$?0X+MH'+S=6TX^ F
M?A!Z&%TF_D_*:B,##MI(7+.8UG[*!X:_[CL6_C_L3K0U[.@L-Q@8GK>#SHKF
M',E45U-)L+!;<(I=V>+V*^4Q!$\(R!FP\0H6+4CQ/"J!D2 06I5.Z8+;4$$G
M*>^NCZ:S6U6* !YJ OC]&>Q(8B@NG87G5OWUF+5TP&%CQ^+IIAYX-Z"5W->
M.LG(&95%& PU.R62JO9*"-92.;]DF5=VBG=FAFM?'87=K$7Z@XPB+VZ\?AHY
M93X=I+*:4LG((;]I$GPEQ%\#=FQ1?[F$-D3SEU):#R4[1FJ)85)'[%L%T[?X
MHT>.Z6[ POB(P1L#\@R.5*'=.JAHG]3@Z>;E<#0+&;N.21VD"\MV0P3LIDFX
MZ%')?(PZ$>L&J11;1$5F5IYSU6;Q&1IO:-B*?#\<*PJQP,Z@2%9Q@&#)1BYK
M=6V4(&N+OQ807;@PX @ MC, <@5MQ"*$7*I66"QO_^[O?.UZP0)XFP?7\]P?
MT%D1(QWS);.8W*G/]\=)7YY_5B,E$*]RD^\Q! N7\P2 4*%[FN"T5<J(H?*:
MY,/F=Q[*TC.!?)4."H376JD;#LT'T$=+*V9M$$IW3Q8\A@K:<]"GTV"6PSDH
M@4\$ZHX)!&1*<) $ _AF@[$; ']J[ KBJ4I*Z\R_B#4&C]E23QN:CX?/[<0>
M0<NQ/YVMU76]5#%?T R#-)XTOT));=X]N=ZK8Z+V8T '83&-/&7BG%CTO6V.
M)W1=476A:+_'PA&@Y?.2<Y$#R=3VSTOR$*'.U XMG,K*]2+F@L"#;V$44;)P
ML?Y=)T"?C;YB-7*04H%?MFLJ]B59)CXA)FZZM2W? %SM#]DX2J]%]=@^*::-
M>!HDNVBBS8"*E 1U*E?>"P\8?NCM(KMC"&C2(16_2(@;G;J+->VN0^Y;%HQM
MF!H0K3]05P_C3*]INR+Y&)16O,BK!D[M']=F.#N2 ZRAX3GXD*UOFN$FC(Y8
MT'(7FI TR2JO>%%6#9S:O[([,C3:@,>Y-3RP1K-7N 7Q%LJSZ^.-D\D2+7E)
M'1C?4RZ:$P6:!.<[I3?7Y'A@7CQ>-,6!2_>]_2IZ^671^JSN5@15WGV% (@:
MYG)RT2;AY6%F>93OCS<+YFW=+)B'K^@=?<8E.>8E.::F_9&RY)C9CJG]>=X4
M,UN7ARRK' 8SI,44% +$S6;-/&_JVRHK!V7D4:SK:)XW[;BC4)!EC]](37WR
MF9NKH,S$'>V &4QF2+79=!<L,#.Q-DV9@8ER$C7MB@5E)D8_W"AR%:D >)8M
M5N,4SUA5)<=43*WP[K4F#NT_D6KPDC?UW4)-MJFN%EP8:#I9JZ:;^#[$^)[$
M<JT<ESXG?93:+=7GO7E_G)SIDS#P \/!YR:L*CFJ<GY2*3->:C2=%OY;,0[L
M#EQQ^<XKA<]RRIE/CFR5QS@'7";+R3OPHI=Q7V!VQWUT,U_T%\.7X7@Q[TV>
M>I/I<-9?C";CRU5FE],:7;L09:<U>JQ]Q9W6M'4UFQL:. WN[FG-%^5YG%@Y
MJ'):\Z4D_4Z[3VNTXXY"0>73FC(*S^NT1C'ELCI@!I,93FL$N6VJ.*W1IBDS
M,%'MM$:#KEC0:8V&7#%WO*S&G>EI3=>ZUYHX=&S'; :VP(EO:AE@AW.TTOL.
M@_4@] -W [R]ESK.%HO^8Y'#/BH\22NAU9=&?I=-%"92 FT;W\OW@\GRJ^M:
MD;,Y\+;0!/[<M<GG/:0*G=<-I^D23GT:%L=7S_7]J><NB<&+1R4Z3W^9K:+&
M('41.\GFO+-*;OPINUF36+[S6N"S7.K]"PI" $$4_Y:83M!&MI V@JA&8%X
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
M@432-G^^I#8-FHYX]N85-BND1-A1VN.__AECGBCV__U_4$L#!!0    ( "&
MDE:1\Q_X.5T( %%<5  5    8W-I<2TR,#(R,3(S,7@R,&8N:'1M['W9FZI(
M\^;]_!5G>BY^5W0#*NJ9[^MY0,$%% 1QN^%!2!9995'PKQ^TM*JLQ;(6J\!C
M7YRN*A'(>-^(C(B,C/S/_TL<^]<*!*'IN?_]'^1O^']^ 5?Q5-/5__L_XI""
M:O_S__[]7[^R_W;__/KUG_\-0;_,"<$SOU1/B1W@1K^4 ,@14'^MS<CX_6OH
M^;[L_NJ!(#!M^Q<1F*H.]E]!X+_1ORM_UW]!T+^/;TC(8?9]S_U]N.YOY.DE
MC?U#MA>5_T%J_Z P6OI5^5VJ_4;+O[C>T^OO;L28\T .TL,0?V=WAO^NE:O8
MWTBI7L=>_I( @I6I@%]=;_ZKT_S]2U,!4)"* I5!18;*9;0"U6$%@TJ@7*G)
M-47%Y-*C.V7_^X\197+-9.N&O^,0TF79_^]?1A3YO__Y1Y/#^=]>H/^S_V [
M$/2O_<6VZ5KW5Z[7Z[^3>6#OKD9AN/3/]N-Y)JO#Y8H7NU&0WG]C=W4(E+]U
M;_7/_L.C^R>A>73[=>EP<^2?28\1% ,X,F2Z822[ROUCMK=5H^.G[+]6^>?N
MP_LW"LWET1,4V9554W9#SY:#OQ7/V;T/@I:0PU?,)(*R=S[ZUF$,IIL-&6Q1
M^2<*LIMH7N#(489D=A>D L$UZ.$^81 ]%W+VQR,!F,EKXD5*CYYVN#P VJMP
M8/]DGSX6D7D"N:<B58'Y,FK9!\<O''IE%*F>NO7=%?LOO 0O4J_7_TFVG+Q_
MW6=$.[IT^^D#93[ F S3E]_X+4!1",6.:&>^2#OLCG;F7__^QP"R^N]_'!#)
MOQ3/C3*#]-^_(I!$_]R-=_ME""QC<_7?O_:?0U'J9V_ZS[__B<S(!O_^YY_#
M_^_N-??4]-__J.;J5QBE-OCO7XX<Z*8+19[_NP3[T?_-GOI/]O'1-:H9^K:<
M_G8]%VPO,)/?V[N!X.Y'4U6!N_LQNX *9&4[YE^Q:T;\EF)B]H,D9")4Y4"5
M1*$IH79<LZJEU+%8BMX@:P9:\12>B2;\[9IV-L0@SL:P&U%R=P\\E%A-0E"I
MA$@9@Q#)L9<5:QEU9)*&66(@EAE_71K\]<N5G>R%]^;G=\-S'#/:&O(0=]5&
M=L/,^&>3@ G"OWZ9ZG__:N_>71KVO<G$6%B0B!H=J#6BO6&SI6]%<3RH;QTD
M*E551W3TX280&Z45.H44H[L>K#\Z2+%"3JCQ.)Q9*>(:L[[+-L+%B4'VLQDP
M,)6C5VS&P8[1$B+MWW'H';VQ@<[3N-$*+(@OM=W)@%_2(_WPQIG^_R:SUXO2
M1O:V@6QW7!4D-$COWG.H2*JNZ@&D]N<6W34,OS-%*6@\D% )^>M?.%/+4K52
MJU8/;[Q_P\N^<'/O"E!FJ,CV%,@!E?TEO']E 8^&E0$7V%;:)H+YH(VE&V0@
ME;>OO'W$#[XLESW!4X]?=[Y>SV9-3VN0#FIMT!IE1N9D(%6VKTM-O_5E\>Q-
MU=W;VK)^_X*;BJFU:&-1MTRE/$/C/C64ZKJ$;5]0D^T0?.(=X:-WA"78',F-
MD5>S2$#$@MR$>S[=U)\J&.N#[6U<G0&9?]+)?$@'9$KG!\  ;FBN]G\BDVC[
MZ]P&C!E&1ZI7+Q&*("_1%HFRW8TZ;<J]D;S^Z]]3;M/_82,#!/?//CS#SYX!
M^B#ZA!20(RD@4JG>73-$I1]:0FE6[U40!DG<9V;F\U(@K'Z[4:O:=1A,8!'E
MW44G7.H_)87W\?7KI!!2S 2>U(R1.&Y"96]#*VN.'%Q""F_-4J$A!R"42J@%
MUC3#LB0=CZV!20YX1-0_.#6I0#&=3$O_^U>G3[TT4WFN$'F*)>R>W0G#&*A'
MXNDMFHR8#&>RB%6&7<<)4ANKX7_]BY4K, 97*A^=DC\^V->=C?<-EHVCK2.Y
MC3^/1LSUY,UJU6'[(BB[O;1G!ADE].V(,T%CU=I'1^S' 9!&PV%"U2<X;)D6
M&):97L@SQN -<+/ 0MHZOVIL U8C,P<S2GL@,CRUXZY N/,UGO\5@'XF #PQ
M0VD;*4F,O ID81L:M3U[.VKA;_GO'G#F()!XV1VU=1T?P6-:6R?SZD9TK"/Z
MH$_E^?)KL&LW"W\-T\_F.B7[7=;!,9W$#MP.RR8DCFT!7KM-N]T*,FW+@G6X
MJ(+-WB_S[D+%$UX3[PBIXLT6R9(D:E'S=CNJI69G< 'Q)B9D*$+,A58CK"E,
MW&^.*F'!Q2O(MAX#,_">"'<OV_D:+_=#WV3)-.D@I=&X#?S1):@[*2,6:36,
MLNB072%TK+C67[TAVY<FO@^&%93I;J/>W3S'F/+<M+=^>QP$V:MF6$5@-P;M
M[C(S<S:]T-R^RHFI3\,)?[;I^*P%)36Q:EOAIM8XRP$XO$ 6T^Q?X1TS_U<*
MH.^YRJ=D,//!=#"(4P1&2S:QRDSABFB^5P8/;_%#8OC@X(? *DW92MRP3)/T
MU4F;<P/_RP?_90;F+9=Q_YH2#^QM_I:3@R@=;C,_=\\/B?3Q)R]8F([) Q>L
MY4Q69&8,]/21#8\7(</5ETV.1#MHQ-&\I%-;3^6$G<GNF]F]G<OQ8%-8[=[0
MX%H$@D<O>(0-PJP8*%FAC@7Z\:+7\*8PV=._R91_@Z1/B%K7J^*:L<HC<DS/
M5KI'M"FA=D%1^P+4\J0*Q8BH1N'I K!.ARNZJ!]Y):=HS<UJ(['90P8P$,EH
M[D/3_G*!7T[6P:3FT(S6<4DST4B(2H @ /R:9'U"V/*B7@_<D5BW,*\C^@.Z
M,@SUT[[*IX1M\Q,9;X_A$HFM&B$WJWN]@/DI8C]-<WQ4V+LX)NR8.W?P=5D3
M$MM:IXN22SHFP?/+S5CDIQ<D=J]'LHYF4J;86@7C'K;V*VO_NUSO2\OZ+6%W
MJ/D&:(31M-CQVFWUH:1*.1<4MI4.9\/.''))&7*LE G3>MV^$F&OWI!U7=E4
M$1RAQJ0,[*39U\S%<')!(U*A*+HU3[BFU:(3"A]0H%7CKT/6HS=$C7!<:U2A
MYET238%<QXRTR9=.Q^V?$O6,%AO&P##+I"/ #80 *K$@BNZ(")[K99>-LS#[
M<00?HHRM[.4\@WN>9V"KS $;K@=6QV@RT?J"E*9D1B44#&O!RS4*TP*QFI37
M-R?D,L+F<)&.5XHM6\OUA*+$?L38XD_9CZ\2=E<VYW+Y=2%3..YCJ&4NQ1A:
M-P@YW2A@>D'+T<,:Q&+(E2>P,*B/YPN$9A+EIQC]549Z)^3Z":^CD1!K;5KB
M8&?4[X;M\B;!B0MZ'3(**NJZOFA9<MN$IM J=--P_?X,X%NDW.9->=G5[Y*@
MV]]ZIFLZL7-(1>SEB:\SF(:I?W?=@Y3#*'MB)L[=,+>8AKP@[K^KM0BM5E.F
MP'+LJC*@_:1&5_%G8MJND.PJY;:+:2"3QO9]\2#8OM4VST2D#Y=P<KK]T^YM
M=O^,LC?(+/S=<C=R)$*CW:9<6X<@6#;FTV%KTV-@/!,AA[RVUGTQECY=?/Z,
M5 ]7M3(!10!LTW%Q>/3]Y^)Z$";I^+:7 O#D9GLQOG*;(V!VK[RU_P88KKW]
M?5:U6KVG9C>&67,U("W=[\7!&^JQO?W\;=SGIW#G3=V(PM<6@,APPU0L=D:V
MEA-M79W*=3*YFPT^O);X 0K $EIY4+V'WTZ3(!O3KHC,5<#=&F*>X6<S$9&
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
MWK%V^RD9!YY_,-X&3TZ#8*%:I+PNC6A=)P@]?T>4[$Y3?6U0?_V[_?CQJ&Z
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
M2 R/Q-:J&M<=V4OZA6W_?L&FT04&F9$L$C*2V7Q5@C%7DONSV6PSRF>3P7-
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
MH9?O]LGG 3P;#8"_>:O3B\4+O$VV>PBN:_BF-K;R X63\]/8D.,+/26T-D3
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
M4V:U5<@.5"B 0J<X(L3^D.Q#N)R5^[:-" TH@J'Y/S,!)"NDN:"ZNX%SPD*
M)#N@:,DGDW&EGDDKRTJIGAI58_5R^&(R5\_T#:S3 FY)"$3L;VT<?R7(.; "
M>@N8Z(C&%[#>+L5B:HS9K94<S?8M<]4FJMD[UM^']6 T_Z,@_S;H,O)T!G7<
MJZBU.M-B/SX<]AEMFS6)B=2CA?#MSGDCA@(._EO!Y_*>=!5(4R A]\EY<N88
M2H;8WZ:MG*&BZ)TIJ#W9GAF.S2(J[F'"X,G)>"MKFL)I/3PM$NU-DPLM3)X-
M^<D.U$!C#KL;$%1>7(?_]5X[IO;Y."/L4FI[-BTO9"ITRBVT_/]RZ7#=PPH?
M'7"J+RW3G#<:947.XO%5D]G.U5KH/,5G4:00'' :AB6)#YY:*8J.YKB+/FZU
M+_28"6:(Z"OHJHB&=C"\6\N9G2$&0YGG2+R8U'/KO+4-?ZSQE1,L@P[_6T'H
M;/B1@WQ"WD)SXI&L#J \E<KZ"ECVB9#^JP T!,U?(2%H"E&KG9DO%W$RHP"&
M[TGC+B@IW=!!"3E:'R'*%R84W2YH&1\E3R'+3X0,'MNQ*V:IMA@Y273RJX7
M;2NATU'? S)0'L5C>/):D,FXD"'2GPV9M;5<FTVER3-:C$['Y56\;23OD+D%
M9(ATS*U8<+6E$7Q$4@@TJ<\&S=%Z<L:6+*$U!4Y '^9L0U0>F]"FO(+JMZ4*
M(O MR38*W"I+5G))ABNTS&1);*Y6>.C\[+"@+K@]=XD?/HO_+$-N!/A4C,!C
M)/4G ;[<:N[?F27M7(-E!I92[)49<SU3LI1^M]\^ >-''H0=UB<O%?>[J?C1
M344'7M; %.5ZV/+%C0C[VL35ZB%%O-](F>LT(RN]9*V +W1K)(]#ASQTT.63
ML9T#TY/!W=#%)/#@+B;^*5&*B^SG'-TV%@49^MXM>UNSI0=:EXJ.K@-)F/DN
M/Q%?;]J^9.KCU&246NB\IA9*XTQ/UW:9T,5"+Z/H;33ZN&#ZL@U47QXI>0)C
M@O+#&/YZGQ0K<!-Z.Y1KLE*UAKGV'+"5BA8Z&S%<4HR@ K,?/OI)*[K!V%\7
M=&<B((M!UJ>=F2"K@BYY*?,/3\28%W)$YQXYT"0QCVT:<,:;VU&G-%IP74*U
M)T2-B96)5#6UZ]4Z2E2Q\SIE/BZ\SI,4]L:CZ:].Z5NO$WF0'3U94LS-!'T*
MRCHMNF2 U&<L6];@)\_4.MXGF=3DR=,DG.L6S>XT>9R3$G(7!X.R5-KAUCS%
MARY@<U2* 4AX4I//:/AQ8(>W:O?[)\&C1Z\P"2A/;;ME3RGO<"/"*WM:D^U]
M_DE.L)X> =-9&[Q%PQ%*CK: G,TA#D,.0@$%?^4=*$-TB1,F8.H(I@09(0)H
M(>G3PWD@Z ,L@H?;+OI5EW59<[3]_?JVE22F&ZZF<#5:+PZ+ZY3,A,Z-00[T
M<S+YSX_Y()W>/P=0UXX$_O$O^OF(PC>S0C(QG IHA;B/GHZG^E9H%C8^-&^[
M\J0Y:W& +QJE]):N\'H*A$YN1PS-?@I_3S2G/#2G$)I3>X\J]?5HYDTIVQW)
M7)$O<I0CB9M:H7"7S5% <RJ&IP*BV7WTJN9VPC.QXPC-B>,QBB^AV<UQG=&2
M!A679:-F5H %*QFLFY,#!_>8S,2VL_XFN6SC/7I!CC/J8+ M1 N3P4=[,TLT
M'L,3 2U1]]&K2KN,SQT[_OTA>#3U@SM6-'J;Q98>Y7DJTTF 7M<D.XW0Q3,_
M!H_C:&_IJ&2".RJ9ZSHJ:1\\TH_RLJZ C[J^K*1WW>F"B5&=^)(58ZEL^%9-
M(H"/='!\I*^K7E(^?*2NC0^\L\MRE=ZV@<?J!7VH%P19"E_UD@C@(Z#YX3UZ
M"_.#])L?+^/#W: 5T/X850#>ISA<4)9&.UEJ#3.;1?@6+%ZVB8,/]Y8("6J
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
MKW[<A'<X8I2Y0XOVKT_V+LXOB9^5'P'7R/<;8O&,2.(3$1\1XTEJE! !/A)
M(CT"I$ 2"3$I)"7JA[<AUGL#%5 H2%NS#!:B(L>ZZQ&G&$7:;$-!C#]]LI7"
MU7&"3;$,55!$1DRHDU%OBD3VTR=W=$G;Q@?3')YSQ++3VPZ9-6R;&"6>/DDF
MVYR<GG(\3PW-Z:K&]BI-V";Y_,E)6MA.UEE]CO>43:6;J-F 4*:C^/')8(E,
M/E8A@N^E ]J&[&HDW7Z\X=N_>];;[HVN/)9"MGGXJD_6_'@I]<DXI#C%DP]Q
MXK_\\+AA1LWK.W$#HNV5Q*[3Z!YP\ML.CLC<61?5P4'6171T;I+9XP3,UX3+
MDWW\B\WE;?K7)L-'=7U'MKW2$HP@SK"<*EC6XYR[,"#YHX/T;)+G_[YYI'N)
M%&5^FP+JSS[TZ&:IWOG]FAB+,+\;^TPS=WHS&Q&M(, +.M:;R? *>[3ESV3:
MODL(>M5./I%"7[Y(OW>7M@0Y=J7ICX,]W;7'*4J:;KM,S&02PIR<:RJ'+&_\
M10_%RWF%+/)JZV)KV9YANH$M!!-;":H#WI ]_L76Q^>[:>^3Y'\>:/=ZP-,
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
MDA>%H']BG16MQO.<8UU4'<E+RO=>V^<-3MQ]K.Y>%L,TP?%X'R3?3=/;E;E
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
MUH6@$ELG2'TU64<5#]"BEV-B@B.YH9)'^VDG,DIK0CO(+;0\AG)0K&-UA"V
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
M7<<%DN9-*E]LLK9R"L_4H,)X+$\_BMD>W"%TQW/CMUI!D,76^MN0($DSWJ/
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
M#9@$F[K:>'<H%W ZQ<$L!%2)$(WP2"]JLJ:Y/25++@O%:C->A&8I'$US*(7
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
M_UF?CNJYB%:E>DELYX2^:,X67373TBW_8UB=D,9*S0T[!/&A5?G0ND">G[I
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
M/21(8&><LVI7:U#CNN*H*:K@Y60O$C/G1'5CE/+.T@-:$'>!?Q;O%RBJ8WF
M5+Q@GV-CM4UR0AP,8O#T4%0) 7D% ;K+751Q0@$$(0,%$ U>?( U,W7RBL6D
M;[6N6\VM=R&S2TH)JKI!"03J10N%DS3O9LOT7-FO@M)N'FKZ?@3'N#=N8A"Z
M#N+6';1J-.%<@-? (CZ[K?H6JVO3,'S5-8=Q3\@L]%5':ZA(H#D/NP9L98.<
MD13=QV<YSA-YFC &B'G0>2(SK%:AO:7^H688?#,7Z Z-+Y\?]VG9N&>>_V'"
M\+X\P?!.,+RC@^']QCW>1$>-OLJMZ,&*%1X+6E.@"G4L;K]4&)'M^PHPG"1:
M!6\[42F R XV>+4!TS$(9N<E>;MZV;8/_C+' 59P/MN/XKV,OK.>W!Z4IN,&
M[$+7EC-[Y42\S83@8[_RZKM\;7/>K?F,O@WG'PX."0F3WB^U^O'A;>I/=.XL
M5-57P';Z&UR)V?##6CYEO(00@,O%?*.XG*H ^$E1H1!FG[R_D)(BW"6(V]B3
M2P3&,5*NZRF>1AH)/IE&Z\P@X_!YY_$.O!:=R\L0UA(8\)E*O>;]/K@Z[X_*
MY72RA]J%K<8W(8$!4ZT80?<IN#T^=3]PA*#SQTH!>)>%J%JHQPW1F4K)S^GN
MTW+3Z[TE;G4-W:3HI:I@G<@1;%3U("Y: $$J8I4GF^C"5PL%!E 7IZ?C)L!;
MD7UIKYU4EP]C$%^:L!BKR9 [$DT]O1X:SNE];DOP_[#P0D.>9W/&9,P :H[-
MD5!&[WR36W7%8P5+_8W$ +H_D\M(",6:(PR4YI8DHL"]GLD<EBMP0F,@6Z]_
M04A:MQH&?^2V=/+=@-3LXFR=Z1-,:YI=)9[&5 0./M(0\0.,FB.4,>,UNO'W
MZZ]Q1>8(N!K_COC1/(4[K_5909I@42NES]X[8T-+\/-H;^X4#C,[N3=56Y>V
MR<6GUK42WV8P^:W;ZU=E7\$9WGUW'EDT%IN4"5LWC9I\-[>+PA'HT./2,R)Z
M9E9_/)$A:&T*BWU S5&09EU%<S,#6<9_LX[9?T$G^U&X+ADYC&E$9(PJFB?A
M7!*_N\N1#-XJE^J[330+;@2Y*,'UBCJL5>)(M$V!<$]?YJZ,5;DU/4*9M0&V
MP1I 9F55;_?"M:.QA3IQ+F[G<!L2\.HZ(,\B&N==,HA"\SV\4)#!J0,/C\BE
M:X) 5$.RGV.@XNU,DNC912&R,9!,GF4'8!HQR'U>%!=?79P_4\7/L5'$UUX\
M.7]NLJ 'QY6O^ORK9^X',+[Y0Q^-G_UVG@VIXXNTK S\KWA@FG>DPO>*=Z$4
M\([56).581'ZJDL32B*^U52R*M%\Y[_CO@61-\;))IM$UVHR*]#J5)+LLLGY
M%GSKS^ \<]9L="=QI\W'S)BYOP[.S.$F';GA6/.)2*;UI8F-(J/>(/T+0<%M
M#(4SHWCO]H*'>Q:])J^A-@]CGFCCD+/IY7#X"-\Z98=)PGBS@@.QLB0S?7E&
M?^;A %%314CKHS@M<C6LC![E-G0A)225F\N_&#EEDD*PURI<!&L?0K:/F)]B
ME!7=F#[&$5/(Y3GZ[L*32/7"(M4;C10$D1(OC!YLIBVE,K3I04F"$8R%]L!*
MCU7UKI&NG-1E-,=A?1O82,#+GZ&Y2>2^5EG%0-G'9__T*UG*A(N1RDZ5WF4X
MX@@>P9QU8^J^^2^F6+DJ0([%NI?KAE?KR$KULSG> #&0>_LO=DM_L$P&4ZSY
M0,ZL0#R=9Q45HBB*D.X*E'_H@;A7S*T+(1V3:(Q45XE&*"C]'O,@,2$F*\X"
ME>J3]^D9#DWN36"Q0@F=:4.HKAFJ&%/:)#+SM](\I2N [Y,V,"L^:3>E8QVB
M[ %G_H_.H$D8Z>09ZP.3R<J,LHWQNJ"Q2T/ @K-H+L:<X4O_V%"%?BT%KXPQ
MKP^(6"FOS;@;OB6Q9F>R!3Y%Y4A$?=Z-$B5%M$N=8H7Q#J/+0<1"IX%MKMY$
MEU<_Z"Z4><VKG*1V&RT6B 7GY4W;.38R0]%Y&V$+ YB\V7T1>2HAGO!XA34E
MD;BR..NT2RBM$4WM^>2[34=&G*@0"Z'JF_-'OK4S4<32OT N2=ORT/PCMP9/
MLY X5-C9T(U0Q34K>T=^&K];#3NTJ_FOYI6U"2JBQ[5.(YP]8YYY-!D,\$+J
MTG6'C+BE.&KB6='DISFMN0$=;I$G:-E.E7W?3JM2J1BYY8[CZ2EWS-%AU'8'
MQ>>1,O+R\[QRA_+S;;-'5S[5=0?]UG<</".MX'<$]=1I*VG)M/?GQ/E)VHT;
MJ($O2LJZT330/,>E6F_-5&=!)] -Y=22DCBW=4U?,;"&:#OIT<!T[GG-0?'W
MQ=?]87[S27FKF*9\H#B;_7D-P:2NR3JRQ5TM]_O)P8S$Y6&6@K\ZE8)/I>#_
MYE+P:\XG:35W'N1$\!6L%%%P,DR.'( !^><,9B1B-C)LZ?NNY3H'&/;*OP H
M8!Y94#*#,"OW2;AV9$0W= 7+C-\=;1R!9YHE9C'LT>5B)S%+XU':)X[P9LG_
ME.'>.S]795)*KK3(<!NO=EVY%OA!:720+\(5Z[):\H%F40&<"' 7\V6I>MQ\
M)+<K/3G_+A<!U-)H6BGD&@V>.R -&P_2MN9"C"2,* '7;5;KH^$?_FZ(%X:;
MY&EL3!J \+;9:Z?WS<BT0>@*M\$1Z,>O+:2V%*^YK"!Q;3JXV7Z2"47G/O2=
MM!SR,6SU)W2=.,@H%XOKFNC52%9*I XQO_#LXH(H5]4L/M6"LXSV^$J64PYK
M"=X6$+@#-"0&B_/%/C_Q>*;X^187;.>4GNVCA:X+*BA*+8?&\DQ*YY9:U3 M
M/<*FH;QF&.F,C%Z+TM1<E37BW?XZ!%G7\NC+0!A" 54+DU$"'%Y7Y*@KNGOX
M)D/'5NJ0&1!RYZF2P$6B\A&/MG#%S$P0..?$<M3G1#M%\^)"#2/W1IQ [$\8
MZ!WN*<)5NZOQC^@#WLCX$1Q'K%IF93(0;_HK@2(;4Q5C:HHZ+ #/%&(/+JOR
M,5%UT\V2BB#38 ZY#GO%BU3'U]S?#/'I>(44*,]#%0>-'Y(S)[<5XZ@]._>L
MW5F:Y=JM\9_X9,&3+QH.)WB(JKA#MZN0I8(K"MJB%:>QV<2;U#R1%85ITT"%
MWW\U><[G55<0)69YTMOK:-AN@U8BM%K7C2T3;^F*>Y[#/C"PD.?N\.O!Y 8O
M72: :<>ST@_.]'+!)&"VVP<98E-69>_(=/I4T&'J2A&& _=I:,OR4DX67R-.
MG40KE;B]2&*%KW. SR9%??L#/'9XX[^NJY7D!%*TCKS[=%/C=%M41.?>[I3V
M2]OT2>8PJQ;0.19J27O4U<?1_(;4!8[/NY,>##+U7"J/%J2;G='0^*H([:M=
M"5.GM:N- &S:902*O)Y08!@*.LCBIJ*B:-FO:2$NZA)I@'JSC 9P.9EWY9(^
M#^OK.$(-@6B:+0ERQ!_&=?E(A 7>_.V5,/(7  @U\>2*"P%'K13%^U"BQ!!-
M"LG4/RXF?]\T?%)=M9_H'JNVWI*-I&!9#ETR$W$8XH-4'>EI74=7Y)K/9DZ)
M\6M48.VGUZ+$R4?Z#X"O<!J7W>RV1.(/J+J*&Y^Z*6EN3"U!PMFVWAACG?2+
MICL)@47B+AM70DI[K\6^*!GOI%_CPS^?JO23H8GDA,S!97X^^2:Z![R9$^%2
M(Y"!0VB&?=6F/:D_3)MT _#G/&_Q$"1%+BMG<5\<K53>Q,&8IG3!:J&!<QB^
MWH!LHB7#<\QH')J/(:PFU#29((.<I$:+BP&Y1!5(E:KE]TE&*I56^->9DHFY
M1"[Q7$>/Y)65ST4@AYTA"D2)(',Z5/!Q$JTI/3D0D$(XZT!Z64ME';T2CA?F
M;+#)-:H8D2DM+?SX^JO_- HCV:X/#K\-%5J=^T)<P[C8;I!]))&2PFJ%#(=Q
M2Y'8'KAUT9FS?,MP^Y.L&Q:#L@5DAU8F4S4"V97A!T?B$*3J*.332GGDSF>_
M%Q[SX<I$D1GC+$\LIKP0CM(=0.-.JEZ<5TFR:$Y$XVUJFZ3!H@5)OGYVQN\<
M[6+4UC*@"MK5[<!8<L'I)C<+-0&:K" ><>[72=R9-:8I9>D0+0G7_RZ9&F!/
ML=2SB#@+@+G[3FH0,MD*WRG76@K%PB@=\7<=\N(_X@:H?%]MD$?1$@1=:Z>[
M]TY1+"J.XJ0=N1IK5LUF'0]6O5,!TNW2IW:^,H;#J5)UP)3ODI#"=*NYU36T
MYROZ *5U=[*9)R!36=B:R\NU:1G-JIZR+#"]HF&3,%=G5 W"!45.+=ZL;H'X
M+5G+S.@$<7S%K;C8FL-KQ*<,5@>Q,!X8HT-G[Y6T-= 3,$ VKL=JQO:>BH4]
M@]_T.C'(;XEN-31:0AEI(3V:8(OVHU## K<^ML?F9CA;[@1'6?ZJ!25L&Y?\
M<J1/>^04.I_\$+UC8I@MW''EQ>=0!_:_$U6[@/U9PUGB XV-ARV1^'"S<HGY
M_.<# ZZ4-EM00L/J]:MJG3)3;=]#JJDB/XB6H#T\6?\9GR243N!H:JKQT#P^
M)[Q,=%?L@T.T\SEUN2"0%TNI#.)V"$^</"%9(DG%Z?=T%D?F\'SR7J<,KQ-O
M\K&RZIOME;5:3NI5SU)X!;FVRT$%3H1V*%7&"96X+^+?- ?F1O9571NPXTK\
MIG@!WKVNRW.TJ^.?G=>'6.-[]N14XSO5^/Z;:WP_2SM.TE5ULLH#@G%_PJ1R
MA _+$^])/&?%3-5P#^0,.KX43-D%RSFMI3QFR>"9 V/=(RN19"+5T<G1.R9!
MH$U0UG:1R4]R I;1.$Y0-5%G3*?@Q%Z84"<W#+YF>HIZFW5?[$\I<:9BSWM)
MSDS)TLEKIX]9U8+4:[>C.8OI]0 ,F$D_#*@! :-B^4W+=1#Y0'(Y-1A(TS 8
M;X6SI)OZ=E 'DQ,W>GQBXGV_99_'^C#J<M-,KP/C;B_;^INR^5@@43,Z7(]^
MJ+X+[]\]?QQ?*BQ)$V![QA77(9(K^L+B(>. W*QH;)^>?SGY\>=K*#+VL$OR
MH F@1@4Y;$:H>M"X!91;$-RM,:8BCBW]ADF7%*P_,^E*@%,A+P015&B+E)MX
MZ)8B A+_]ZR=G\4W/R,LJ!M% )&#=%29@'(<O2!>&@VQJ!JLDSRT9+Q6)#M)
M^9GAF/3;Z,<OV2MCB?;TR+J.Z1H'U_)@MK.%<DP5%@\$--(DCL)(SV7_2XB=
M8@>4)@;</98CD_!XP Z;YXTU49ROWI1RG9;=52LXXMGO+:Q"SE@2"'*O9$#2
MU><U,<G(KP5GD 0]^A3;H<#(<-<!B')<'E4ZGQUF<G#K\\F/T6A26%H(:XW/
M[U#N2'[+_[?-'/@@[2KB65]U0#BJ:GDN-99*ON(%/YPJU%NM^X@N.@05XDFM
MB15N*D=.CDP-[ S,+R4BN7Q\:QF$8C\G5T[QQ#L_Z;(=&\;F<"_>31CJQ+<$
MWU?JG_UCF+*'K\NFG)7%Y$_1DL<=_XKH;./#QD\NXY_+%0#*?X[_/W[R1V)U
M_'-+-#\?RNJ6OO\V;H02_Q,#M9[^\\,U[2A:HG^+YK0IE\7DFZ[\I:J+R5\;
M'+.ONO)J\F99@<4MWJ?=Q(/FU3PN]9)-SJL8D<5_" S\S5\GC[A<+U02_>3[
M0,1?\=1Y&Y=3_)^_!+(#=%>ZWDH=Q/<M??28+_/7\S^?6Z?*^Y]><Q>X^B3C
M.)B2T:P.+0&<$HTNB1137YFB5&[;KIY%ESOD\EYTW\OSPH;9GAQ/R4^6/WTV
M&I($D\F1P4XC[&:+Q]A>$&_[BBWJ6$,HDQ?KCE-&O[B)" Q^+(O_YVO"*P\>
MM10-;&N9TA4>+</YXER'#)OCBC)M&O-0DJH$5 O(ANA.HR=P\NCI^8O?%9,G
MYU_]#L/W]/S)[Z2 ]02[[8(_QK83#7I<KLA=74QE*1V.WT0/JMS0WKVD-$A\
M\REV,IXNKDCEEAC9G?SHJ:XS2_2'V2#0H1*/YA_(WNN6<</!EQ'DS]3$UN2:
M*;'JD26NF#00D $BS!Z@UR?(5%9>=40FR5E;>8[MCF6F-+(B?"B;6V1O.ISG
M.&+/7IY?Q.EY8?/SU?/S+W_5!+T.A&*/<P/7<IZ>]]PLU('GSIXZ/T6D1<;!
MFR3;?.?+/<?2NW@27Q%7>O$K7XTPC;;V2,IP0[;J/;R':#7")P4V5CU+P??7
MG*^F.>:7K^+B>6N\(N3$?!_:15>NKKF.E=8Q2J%OO_G^#7M<RQAU<^4 &*J=
MB[H6:*:_N'(CP?H^;-=G%MXCZ (I7HPV&W;*LR9I68Z>#E3?4.GT)#8:.IR,
M#CH>&Y?<GI$2K'23S'=[[]13)H2" 2H$2/'^;W#(!0MX#["">D))8&$(<[;[
MQ0W4]%!CLH#KEK!!PPXB>ZLU0@(.ML#G5,JA.]T.T+O)<MFF8>RBMSP3C;M0
M?^E#4+PP7Y-I"[$.U>PC"\'6UK[C^\ %ZKL$!ZQNH034!&AG([P=W%AUIEDC
M')OGD_<U)HP>1L G*'D]_?H["3A44UDO(/O_7O"EY$S<KT75Y;P%_V(!Z"P0
MPQ,*HYA.>?RC"3U_PJG,Q>1D'WJ7[@+?2=FM7+IO@-228XN<+@S,FTV,Z_=R
M\4AGJ\:H&&4O_7J/AK<XMN_?P]%2!E?*!W3"LKGBM *T2N0&RHZZ5MU4*^IH
M%U//',4Z!))<0!RN;*B9!(580?=CCC'E AA]:O=DBI]Y.K+QO62HXWC63F8V
MBUI+K5L/*$_Q[C#BY!"KLBJWEU8NHHM/(/U80Q[X:'-B^*6H'20& [58NI]O
M5DCN+0-MGZI?FAJJX_G=6T\MDNVZ3MRT<DI%ERLN'""<R^AW1T_)(BGN+R8O
M !7V7;*P^.J"&9"+*=Z!H7^\=HQFRW?1V7*DHGN6UE8*7^+%KG&9!1%K28R:
MA_B.+;?)A3X+L^0,324J/%#?5N)8-JIA@AL3>]54#QO4Q>,M:"L*/>RZ9;JY
MM6%E76C1,;Y_Z-L,"&M=H2X/MP<T<D-K'YH;.KG@/ BE&]E]+#B]?%KXC>"6
MXBU1SC=I+7*:V!V+4]AN32SV5T-'1^SPT!L>4*+OW=YBL22'Q,^\3=3"R7NB
MZ71KE(58N=J,\KQ,<T"B.'>;!.3>B8%-%78^^RDVI'.NW@ZAYLG*.I:XJ?C1
MU.&RQPG;Y1<D /8XC7O;, ,<O&A^-VVY!1C90A$;<\G"[1+@DTVM>#6/\!=F
M%:)D-I74_4%6@"].%>!3!?B_O +,-5"3U!5PN6#XJE\T2$ ^A6#7/4Z.) &.
MZ@0U@J_WP&JHLG&FM2<YJU'1 %*3SL4S-MUTVL0-(83P(E53U\>1-':>]!]Y
M. 9CD'F/H,Z,P\@CJK8Q_HM/:]';9> -<U\*Z[) DBWY@7I$UFND15'G0JM.
M&D'HJ'\*HTLSL:U";0DN_FZ[6:\V:^AA&:<7[NX*A/%P9<37[C2O1900?]<D
MK,/0"B)W17QHT:GG',8>N"TG=VCD,KPYV&5P^O3YVS 9J9<K3MPAB3A$.P>E
M'0+%Q4E[VPCQD;;.E3HL/$;DT-1Q#5(8L=XF?UD?*DF $5 SKCHP-LV[TF:=
M?/]V'>,0\7[DSC:S2F8BY4[V=/7RFY[Y;L<&_7SRQT/[SX/XU;-.HBORDCSK
M@X$&)K0Q=)V1_EI$[1-&I:'IPY)2'B .HO;ALWE5+UTM/7/3K([23M%@P*@0
M@3W"L6;+LV1EC8KH9.)T<H6QB?LY18+-Y"]G:*_[XY\^2&;EP[OWKRFUD](L
MR$2L8R33Q/,82A16]*2S?E8MJC62"T #@EXW^J7:U?+VF]<2U3_&11," GZQ
MH0+H"7@0T_/1<%6<2\3#HS&5LBE=2]7T=N4K\[BP74Y>PU^*,B"X5IS\N"@0
M)-XB7R_%AF7Y47=?ZGP@3'*_=BR_7( _:+Z]'4FM>T:!M@N$'N'P]>=%D [T
M+B>C\B\W;O3I%TD%A%^L[! #2I!IU^#$^I)KNC03Y&G*PK1?"RLC_UX;RYVH
M'YI#[8A*5BF_E0!VA,]XYH@0^6$G;+_'7\D/U2&RHTQA1T*%G#QM"#G5G&+R
MVIU@S\.I2O\\1A:V:2AH0.;A%DHOTNJA8Z#]/Q9J&Z9>'0_IHB3P.YFI1*Y<
M-;J4-=]]=,X%8?+XK3F9A'1!U<X$*S2O8N00&BFN42;L-EYT&XUP7%/\(?U*
MXUNQ4F0WL:N%"G#0!6Z:1%V0DY=ZEM6J9<ULU*D>!X$POL<#I?]9#+0,'-YS
M,'K1$#U]H32E- 1_WOS^C]7'3>IRHS&P3!$BXK:NF># [2W)'?T![WX2^3Q)
M)<8;.LJ]>=7U7/DN-"&Z@3YX<KW5W9*MJ7N/>(0!JB4*MJ^^.'_Q._UB75Y%
MUW267>2D/'M:E(<7I44P/24]9UB3BJ-X^B*&'CN+-+HX.VM5&!7WKUG E;%F
MGYR_>/&[K^F0.**U^>2T-H]P;4I%!\3F\P,K\G/-YI? KAPPFP]>JU;C42&8
M]QZRT$WJCB68L'-;XLY_]L0YB"C%5(2DH8P_CRGB\79#6Q2T$,,8]V@:T']V
MTHGJTMI L,/'\1U2&CUX1I%NT429$?L3]%^IC"<LTIU?IYA<6_Q-=RVYV _:
M+E R0%+W)J3?"44:+H8TOR5!R&E>A5F.@W3IO5\(], U0"0(KL*"]J64(067
MN]X.O7< FIX\Y71A_A/2D2B[V2#OPS]XSNT67H^780PHU0&4)57H%">@1IA7
MGK*RCPT"Y7BZFZ Q@^,7G;8=U]: NK JHY8PE6%TI#28MW?3H>:C06U,X%(4
M0[E2YX<?@#S-T<OD<.P8M*&RD5B2+LL=TV5>+^VK)=6VU?';K**].'OVY SG
M[' Q(BF1D!1%C'$_1N.M?$ (7F-DRF+/6#/,MD2D4;VIGLF7=QMP77E5BG>#
M!M$[*!(7U8THVX2\_7NXJ%6CR'65CBA*W!W.)PB4XPT&!E^:FC(V+RR%4K=4
MGPP9#Q5G9.J=Y7I,YDHCT[U %PY6M<U'M,1PE%'E58V[M^CML--;8G9.N=M0
M,RF90%19($T2K;41A+_0@T%]QIGL?KII*9P3A=#_Q3VU,M(S\1G%#%+:6&[A
MY$@NY/(,">?R=[OIT>O64"XN/:S1)!AZ@E/U8DX,:Z40,?NAY8*,Z%(1Y"8P
MG:!>";4[7. 9*&&.PH \(Q A<;_,(,"7V#7(ZBRY-H_CLUR7$X;D\$%3L@@C
MCXL6#E*RG)AS]JR),6-*9:7A"T*R;R7JPTX]6[]7,N/"#E_A$"#(MM!=30T-
MD>R(1+&C92,I@P TC:T:]=K\(N4MN7?9&TR:2S9.S'Y#HF_5M%I9!RGW@S&'
M"UK@B49>5CU*0!A_HB*898=C EJ+UB/2L$V/1L=DR6@JG"II.9UN.DXBK@C4
M&B=$+B*V<"J'(2 H\3;.SMU =TX:'8O4"7FGBMOHN;>?P=Q@T@,R[2.P>50%
MXD-W#[Z/69B(H&7-4GB%Y]QB?39K'7591Q"6"E$G-9URE6W$#;8$IK9+8@NS
MV&F163;M6TY4FHPKXWB%3N B38=4+5GAW76J):V88=YQ?=N:XZT910Y_B,KU
M%X%%.KY.> O$8EGC6);UEB0E[ST:J?Y&/Q.SK6096WX.YJW@?55 6;.[JOIK
MICBS;::R-D;,-"B- 4G#E"*MF3G_G/)(1LZ:M^VBDWSZD7+<SHVL'BILZ.D)
M-G2"#1T=;.BSVB)5!\BUS2?DYE68@Z6@72YC3!)?(!&E';+VA8_;LN2$Q&X,
MCYQ7% =<EVMO$WMNY&4[)J98$+C:)3_A\U?@"P3ZIE;T:W4!O$)MM*]ZM$S!
MZC-ONV$E/#UR=BB)?RMCPE8?=G7X0G+4,.AC%I;,/[P.Z=7$7]J]%+KZ5YJ6
MX)I"M-1!*WS+(,S=)*Y",M62&$.^2R[G!F/RB ,EQN,K0;3<7<3'HL&=5?CV
MXS'],#NO#K^R?$! <9(.]1,BB3T/V4<G_Z,W[U\SU$L!W*S8G2@ 9>2[QTYT
MALF$X1JRRT?8'B174&@?(*RO$SJ<;P4HRU'5+[DKT9^B0]6IDL#J=$#.71E[
M0'F>,<O#V<_.UG+(*^<.VLE?S;]0S0=I@!B6S'V4X==X]&V9]#M=8%_JQ25(
M * N!K=*KP6,TE4<V"!\$-7RBOG"H99C608K>)>?H$L/IXDWN=( \Q=FS"4:
MC7A?6#RID<OPZ1R%YVV0I;?9':?[OB:<)DKV=;/AV#)XI=?0G#(U/:ON5;.\
MJ:!<TAS^ I_.8%C!M2\J*#UYH 3R(LOAP$3[<SS<M34-TN'73]L5PWDL)0%0
M!>TM'0KB2[-70>LTL[3'*+$5,E6.ENZAW"'R#G+6/#@H"_2]'<0?N3#0)<TW
M-<0/<JAM#K$;@(@2M$^Z#R6[N6C70Y:_> 8>)\4"A=62)3KT.H[YQ,YS(AZ^
M^.K\R\GW/U.W[OF3^!_2L'O^'!\.>G;'V1R@."8R\PZ!5?"6UHY'IPOW*Q]7
MR48L#2"R%)CT$;TW2<?#**SC\(7UX#G\UXJ#C\,]1/+<NRMC*GT?[>2+%QC%
M8O+RB?S'"S>N+\;'-8;G/P*P&4?S>9'T'5X,KE%,GKVX<Y(H'XF7%?8BFZYX
M\6<^1:A41V1HK#:1P*+[""MS]*=TV99(3@X2Q'[RX/.P+@GI:MYJ ]DT5S)1
MN^X?9'H=GS20]G21?5>,MLS2->?*I"GTQ^S)'8(WH^=F!G<:,88.UN&3O:7@
M$D?@]CG2ODI8X]1#F8HF3E4R.\#RH=4Z$CUYU3 %<I5@PCD$W,\%*!-V4GM)
M9C+^F.'7_+H,'66//"76FE8QVD(5ZR=036P/$K<9%M" T^YC,*UXS$ETCKBA
MWHLC9H^?,[;?TPY@1D $3.%"=GN_+#Q&%UP9>\#0\;=#/G1;V%-.(+(^"H8M
M12[V+?8VI)*UV)1TR(<!AI=Z4L652&9+>D;-L_'Q%6^D@BE/W85(XS@@!^LT
M+ +4NK3!5J9 ^JGW(<!M<+@ZZ1*RZ1BE[+- F[,ZP>#TW'="3CY+GSSGHDB)
MUG&<>Y7DL1UG/JE'=Q0(9V&)!^Z/L>I_(+_*=7E:/Z[4^>)YVZ?. FF<;?ND
M_N7 SO$5IE @CI<$7H*MDS3PJ\G0MAQPV-;@:R^;;)_ YQQ[V&],KTD_]IT)
M=@%5'&+KCDX/%'B2KXH01H5&E>M;SNBKH%CV';(SYLO]5\O"?$9,YVO5R<LP
MUW!6=;3&9%PD!WS'08#NCK8>GO#PWQ<2*AH1\1A!(_(/"ZA_=.O&9%,]<>]H
M>E:*NL+,R"),I B4'<Y8XD)"F//8W?%:(&RN;T0^*[]SO*4-&;+1>K0Y4L@[
M+D\E:&0?>&!DX%G0S#$WWS&P215D(.?EBDD:3=;44ZY/RX(GV\&ET3][V]SQ
M[,6N 3HH6CNF4DMF"B ]X:<H/)/&6ZH6O#R??(M!09GT,C15_,F/)C#+1 _H
M[ ZA%^Z-;\_31^?2,_,00S4[M^+9LF)T(GP-L_8[N<I!X_F.WP.&[V,+PGX.
MYI!D!?C07&O,3IY?O.A(X'&O".A*:?*\@J$HM-PQI.143N.Y.HU1\91^HWWJ
MVKI%I737WH6N+5)1%AT \FJIVRT<=D:+3,Q@AUJ6651%@,55#^E;K)?HVR#6
M;:N:.</V(1_;%;JUG06779Y<X[%TY7VOPH=B%_Z.W6Y]1$BV[+@.F%N>"^/(
MV"]PX\>516R&OK?3P$'GXAFY"V?F1^J=,C%VE0ZG14O++454<\ZWN] "?D;B
MT[(HQ/?ZZ>]56$WT8L&W@CW*%U'F?1$X&ET@YY/7N0I-PKT%K[823]8I(KOD
M!^VPTM(#( [ 8D4&0, Y/P<.*T4-<^X8$<6A=JL)CG:/_:<>M[!Y,2.N^?J%
MS$[5_'W3;44<-,[L6M49"F3SA7<-"7'^/M65%4UCGJ!-QW_.G8I&Z_U@TA(7
MIP?S4-\Y67)U=])+H)(B@*)B<KU94MFFZW#*W892;8D4\ L7]2W+>JY:93R4
M',VJX6$X%*UC9IJ^AZ10KF1,(\06V(AG/<Y1NO*9A&O3T]%4B;LQK]N6=D \
MK)MRUM*&@?^RAIX:!8#D?4CF0POQ>]E[9,TQ]4NR$9[<^94GY'Z0U?AGIVK\
MJ1I_=-7X_9%CQ1(X_3JLK.EA-+N6J0@P&KL+JVC9)J$D*GZZ@,#+MU.A>E51
MP%FXBB=0[C",HH2=[Y8]A=9L^W^U!/=OZ/C_T"[ L4E .I>U38>)T$3-._PL
M9;Y,I+5 !97,YX(P"Z)(F.?W7'+3+L2Z< ,.2KC: M47+DK-<(IK)2<?.]3S
M34U4"R91F;-I?19WX8& \2@B%[<;H"U)C1-:,8L^Y@Q#IE51G4"&Z>]C;?-?
M[P=J:TE>UU)GO8;\7/9DQ^)_+IX]/W\ZB<-0PP/XGV<7+\^?Z[_Q]?]Y_N+9
M^5?VD:8$&+?!B/YA@>HP%>V0W-[Y&<86NE]+SR3Z&.(XS(^2..+>I5",J>1)
MZY9LE*3E-M_9-(7%!RQGUSNO73H9N'F'/B%I,K4ZWJ.N9<?V!KE4-$@_WA71
M*6@EZ)N;+VSZX^ /'!TQ)&V\/:W;*5B5G3@;OPNCUL-UR\PM]E2 #M^TU<R[
M3?X>GL-MG,)O%]4K&_F ;-JKFLI6(_,53XHRV2&E4U_B7R[VH_65)LZ[JA0"
M4QH_U6,DU6H7C;[36M&EPM_7L>R?I+$Q2RKD9U\:HP_VXSS@PL5=>M5G]-R4
M:\<PI&B?:$[:R0WIUX$!<@JF#I'&!K2-PT*>RC$E2V;WB%N1F7(P_B"SY.=/
M='T"TN([*NR_F @5;1PNHZZ7[\QKJKBYP990A)WT0K=6HBPWWD+J"Z&PM"7?
M?)JQ(Q:^-TE^S5O-<7"Z2HO@W9TQ(1DAJ8XRQ8ADBTVS@U=HF$G^0VI&W%LW
MU U=E1#"; 7IG"0'!5#3YFU$Q>>S[R8-TW^[-OROE7O)MD"1>EW:;JCT"P:@
MH>7K=[(:$M:9$NHA=E8Z(CF=*^NMF,1]MNE8,9"5-!F%]?K=W]Y^>W;QU81P
M""$N.J73UW\S\G!5\3\*+\HYV+,NX99)WG,G(U(:@=B\B+M(B<75IR*=).#7
MZ&A)*ASTF_PF35@3T-ST2=V"IY&US<):M$RO'FT.02P;4%22 Z?^W</Q9=^.
MR?6N@7'$/%2Z>9C/A#)%- SBWDT^_X9*6*Y\^_&_>I)4KP=5"C$7=T"]CM33
ME!8?J36KYE+!:B4YNF,-1UR*Q,Z0RB2,CO[DP" RO9=ILB(%"[XN,.M&IT1H
MD+"/ &<AKKEIM=(#2GN:>\:/TF-QTDM+[]12PJ*D2ZONG$]^"M,N7EQ]9GYD
M^A= (O.*7%][?O>\&3&XZ 215X+76U>IH_@NLN]T:-)JOL&CRO/+/! Z)PT+
MT<*%3V&Z8:8XO.PR+U=A_=MWM5#%SZ>)PCAZJ. /-3FL=<]KR0WFV)QH]MS$
MLN*)Y=1,"B#J4):09HV>*$-PX58:I#)-C03:]C;K->NTGD]^@-&J>@][I65(
MM7K3<#UX&.1L]_JBHB#=H[8.SJS$4J9<P&0C/\:81GJQM$R9'K3@%KU$O*QD
M4?&GTR"+A9KYG,#*A\.*VR-$<V;@=)L$L77%9-G&!T;;:J?;+B.-3ZO9U@/J
MS?N,J-^_([_]]4;O@9PO9 U5&I,"A&844I!")\U(U(0U)\7,Z/R=<8>QJ3L9
M1;OO^71&=>X5'>"K@\O"\B!&D'X41T=67@6/:9G!W 98^PQ?MZ=-QDEC'1AK
MOY$MQ8&RAO3_Z>[ 9ZJI(]Z__-XSE\93KYDI[@!MD?%+OW_S_G7"X:,FX;A:
M#S9U4MR\\_2B4NF@_7&"%UVEE/MX5F.$]5RL=PV'&PT4"Z>IEEMHK6Z6:G-D
MJ3IR.M'B/B<EB8Z]PD1C6:AQ%#?5B>P0D&?36\<P$7N">R\]SM76%NJ$.(WL
MI"!-(<XEH?^&6F$^H7D\_NWIQ?E3TBKZ\OPE:Q5=O"!%)ED[7AU@<A\!(ZXA
M60-UHDGYG"T-ZVOP&TUE4>M7'P+,);M+Y]!$8O5RX+"-^--UO$JPDC:^0>_N
MN^M/G'LG"BDK_$@22I*,0<#!#0$E\ _DXE@@N&&N#,) J2GVN5]=[B=*O=.:
M.[SF$K9O?EI5IU7U&ZVJ<G3A6%#F$/ D\J(M1)X7G7+7)^+%TUK[Y]>:9> S
M]!\HSHF-!+*"#Y-"T2/S>^$A\,*LPX(ZQ[..@Z<59S^YQ_X*7.[Q'3=(9NS/
M9%@#B^<H3!."'MBR#P^3_^3Y"7%U0EP=.^+JGTF.<>82&,V1"#I7*I3$AW3&
M_&-#43F;U5QR!J4!_5N2F_'5;=!MQATPI10\U"!2Q@6HC*XR##@+KQ)&W5)S
MFH+A)[E?(B?Q^+%1(MCR<:3?G$6_K!KI"D)M4$AI=B% @Q&O^DFH4-I<MDU+
ME<)?.)"T1'C#8GS" +JD#/??-W$(9E*H5*&4O2LA1@M [KHE 7*7>ZX)('@6
MI <U68A<=#5E4 I*RKPKJ?[BWWN85>O7*#8@O4?]E6UW1GI(2HUL&;DBSY]M
M9?"F#%V3P_ &4O#N&8UQ5,JNDL9+R32YL^73'KW^?\OEZNNWC_?RB)KZ3)G/
MP:IM:QY6):^XVFQU3/TS"4=-$O[(N'UJ[ASQ6HHBASTH\S1AT:[!53,O;^+>
MP-D-T@\AB(OK&Q*M_,* RR0<C[M0=*QF^';R'C2=]IF/3:5JN@](-R QY@2
MXC#:=JVW2NDXM@A="VS7HNPX$:.BU:$QV\+*T,3L@]P>_4>^8 ?-'I4D 4>
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
MZOBDZRVZ<ME+176MT" 3$U"G9$;)=2G,D@8;98>HG90X3*2%'%O?+J@$X:F
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
M=1TX>,?IJPN)_TDFE?/ %3'8FM\:9BYSD5O9X5A%O ?_L4>?G=6F)B3=[FB
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
M\&$J&FTP!SP:5]5G34%@GJM)3/'#MBF$5IU[[%&%A.MNIT!KK%VD*HB\I/P
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
MWE!":^Y0:(CMO.%XE\']"(.3/+QP ?BH"_>T4=CB7335VO/ 4IX:^XZ0BYX
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
M<",*;$,.8I1>6EXF4#/3XYHX,/D8U&_- 6<W1$V]*DI)WDUZ"(Y].$E9#2,
M."NFIN?Y-]WY\8?NCU[J(-=]F\;O2L)R2K8ZHH_#BV7>*/)*]U$L6TZ/<5;D
M<.91.U"TLE,2D-\@'\RT[N0#,6?3/EA[GU] )RH=-]%2<,XI;K"MT&$Q5BA>
MSGU#HIQ:&KT^T<J2AB&PO#68JUNVAFAT#V),&S&!K)E%FD=$M_RFHN@L!([>
M"0Y\4AY69P*Z U[,5BXY13D&\N$?.I?2#Q.&+9B%O/%NKX_I8%( 4934:).+
M3#K(/)FI2Q@-6#N9/+X?QS['""D&.3Z@S;-$,!X%P4E+G'^X2*3[Y24F5[F_
M&*@ %:[&1HUMQ3O(O3 *:BN><=Q;KJ>GREI&YH,)7D_5T&Z1CX"1A4=02_/4
M!L4P*CGK_6CCP6Z+^CZ+61=E%TLKC.%-7)G(!:PQ-W3"G5%1CYW/&;=4'NMN
MYI*'>%,Y#U+,Q$T+8.5ITVR1D9]#-DD(:D7:Z;*JIBP[QJ>U+,=P+)#/I(Y4
M(P5U,\D_"P4,>%M41-=<9;#G'@5@M;S:7MG=E7W,>0^%Y'':KA>.9*7P^^07
M1DIR&O2JNI%L774#>SR??!81;V@\Q V6P]^G7BM/4C!:^>1IM5%0W.$/MHQK
MRSXG'N.&VH)Q3I&;>*4+LJG^S8LF\/G&$+@;%MWR01L&*+.+J\\G$IZVK-3)
M7LI!Y1M3<GR:Q6?58QI-B[4P-96A40-=.-<S D!0=1 L?#ADHU6K2)\5\A[+
MIM%J%1D7"_(I16LL!J18S',0XFJ*C628<-?HR!G]ELKW<4= E&B-%EMB+E(M
M FDIBHR0F?WW83#-7G$_@??B%\Q8$OI,X*%4[L/@4-N-=(8LZYHBU!VUZ"-@
M4JO@+_F*E08<Z;R#;A%[2D2Q<TBQ20Z&([B]V4SSGO<"U+T&]0?O<W^)7_%&
M#)MSUK#^VJ/#[QX3SJ?I:Y?$HB6_*2HM@9-@G'+7: TB#,W";P 3_HYOAVO?
MRQY_(Q[%>? HSMBCV)=9^H)2%DE0Y&ABJH@31W^YRJ<@<X2B>WYT</R=]\L>
M6B+Z:)>(WB6B?VLB.AWET__O/_Z9'C_-9K-T_,_)TV?3?SYY=O+TG^/#@Q?_
MG!P<O7@&"W(\F67_P6_E.\X_OG[[Y/RG-^\^O#W]>/[NIW<_??SA]=F[M^]/
M?_K'/Y^]>'9\))=_F0T1R0D=%+<<)GN;+>>-C;OQVSAJ\X0Z=-\[6,4W^__K
M9FH$_P-S-9+)6LN1=-M+1EYG_3^'OO[]6&4_6_='7/?QUJ>W(*W'7V[H:_4"
M?0R-'BQYR8]TM'KW5[3W_\+5WO!?O9_Y54U5Y"A3/^0-=<%#,_25ZX B1K<<
MVMRV_K=0'6V#SSR 8L6D")I9G'-"K(45&'J$Q?L-^%4PX]Y-VHH+Q@\.P=2B
M*_/6/YF"14,#P!(<QL%/Z99?P*1MIEQ$8N&:EJ8)(QU<J/-O+K>6(AWV-?'F
MN-]U(P5OS9_23?6HIRAVI6#;6*;QUR7X?8?<A/DOVN*7PB84:=@DZ9%L@KMA
M\JP.B[_@Z]&C[B3QH4@B>*U'QQ3;/Q@0Q8WBA?+G955YR,^0AFN,*/D!H?VZ
MC)!]N=P5LFVO7+[@G-,M*O).8M>5U4UZ=5N+H^YN9D5E%&LJA[JU0O^=KW>
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
M&_@ZXKA75>AUR?OZ$C Q48=&2(-#-*L#&KN'O:.]'UV8-<(6CJ/5>266'(Z
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
M,\]Q7)P8M)5@79J3][^8&%]8=%DHYJ[/1%R\^W1Q(L(AE+P#]M8O8>;\KB&
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
M>AD06S!H^CIV0$\9JC@O(EQZ@X*;OR*+>$%#[?'3PL_\9/)4P6L_3!5^#RR
MIT&?YS-5$)MX%55 ^//@HH([<=YT&NG1X1<1H^,L!093)#%P5\,W6@#*MUF
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
M>!PEHTJI+)@K^"TO@FH&[YEOC9(KQ=_-HJ*(X*L@NHR2#+ \5"/ 78G(FT2
MUB1*2P+*+"\^PQ[+<3*EOR/O854.Q)$4\"<]%KOWPS_3? :@!2H#&IC@5&'[
MOFH<5<$E4"[\I6#!2%I17-51*G?E=36MB7)QF[*O7M B;,A>:'U+SL"P1CC"
MS@%4Y51Q(ELT 79.NZI@;0;J+HC@!OA0CQ :!1Y'04DO^#1V )B4#CG06S)
M6E(!P@)8R@3?L4](AD44^80@/ 24X@_X4KA1#C\3"_(#_%L>EB$J !PJ*^'+
M4K\"90I>!3_VY?&]X _D.$ %^:""_:BA7F6BY-TNB&(D7;M#0'4)9R]-%"P4
MR B%7E #C05X'G$]0@+VF>OD)=]$!#\#3/C<X8E8P0?+8% G:14,YD%=$G>&
M'ZZ2(6 ?SLD$Y*!_N'($5<JD, K*>5FIR;7G5&6P.J605D+XOH2]A!Z&:77N
M3*8 5 J >X8DE\*J5&AE 5U<,@?$FQC=97"I,KC"$!N2;)(/B9)GN::S/$WS
M&=(L$AO><)G\A7_B5? -PTK@T@O>9B!WX+LKO"1.(Q GLC*\^-8P$8F'7 AN
M$R*&RPHU4<,YKP:TJ,LQ2KDH*5#:C>IBD)1C'-F'#X<?4E!%^,\1B3X:YV=)
M&]A@'E#[7T 7R,0\* %WN!UWG0[=TZ$B#KV,NI<1]$_#Y.H?_P7_T80=IP!5
MU!7'0H)&[T/R$Y5Y>_O'>]'N_%['.WM6LQ/B/]AU5DW__<__<%=OM=>M.$_S
MXH5649UMC5D8[Y"V>JFV!H6*/F]%(+2*%U$ZB^:EMJ^.>CM[VK?]PJBY"(A@
MOW=T]&-@/R(X%F YB;YL.1 3W7@K5:/J!=^EOR*U5G^7ET3^+PJ%1^E*X;.]
MIQ):JGQZ/SC96>0^NXY^'?FZCD'C#\$82/R_?_C;IP^GJ[4B/OZ>5B1?_?"/
M3ZAMXU$XA5^!$DJC#$7_N 6Q^K!>!L06<&_0GZ=1850,8E=S8-8E<-,2./5
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
MA_\,T9&J7,.*RW)4<X36?P;5..1:\X"?L_R*0J+A*D*IO. B18%$OAA2=.+
M01FA9D/9>E$\YF5*.+$TC@T,6L>P;2RRLH'L54J_.#R0X:I" MZNNT0[@+5E
MRY1ZF2-=T&YSH,+"3Q*ZO95+.] 'EF$YPV2]=Z<?SM#L>(=@ (XS!+R5E/EZ
M(8]X)AE2<.6%9$4]Y]7/,!L4UH+H<=0^.:U;!&1-;7)6.?/&R[)05L3#U4YB
MH9"IW!. 1"+J$R1@\JTJ\-B$FB0328@%X"7(&1-*+C7T'J$V&DLB8G!B#+=T
MOL@+(U:E^4[)(P'2F/"YQK.VC.O0K3/*XZ/2#M*LZ9Q;C!$83.(_G1J=3U9+
MM+N1U*.RJP1>1E4'&UD.L->5 W3E *TK!_C*-,(W:0Z2/CCCU)L6IA)^6*Q8
M0 $28?P'=[&%8BXKD;.8WXE'934PJ)R8D$AX9NH)X+-B;0#T"65Y$R: H5LA
M$LV!S37,'E,V9S?-8V'+5"^<Z<H%70LL\I=$HJL)7:F2D_LPITW2U4$S(K'N
MJ"B?*'':S?2Z0G&,?%1A#CKEAOVE,-D-&?@4A @++?=M6&O&Z584&N/Z"JP\
MBZ:L!6IM2.O$I*WR5I-1HH:2>3=A 0-_@RHX+.%V3'NCQ/BQ<B262*E+$)>P
MY+G+X=U2C&LT/@TVO"4D;<5=.B"&H(!Q%BPN!?QA=1[B"MZ*/U/6]*6M  15
MI1 %C#[";L=)J@1[TQSVA0\ E1R+VDA'OL7*L- .\:;/,RPB4[,0=6CZ%)#Z
MB)M&B5DJ*0GT,KYRDHUU!GAO3XWO!\KD3"91,5_(1%U%\);0'53A3<8:O5[#
M][3F&_/E+IE-W8F0'-.ARYSKO"G-Z)OLS4UU9<%ATF6]%-G.Z]M1U TI3R"A
MDTI7)BUP(RP<*S#]7.H:\,\J*;O86$=8-Q"6$P$C>[W VOI"Q0#HCG@ZXKF)
M>*Q+A^7;90[[)>T\B.IJG!=D$!!I?89=IFK(Q;:.LIQTR7(=I=U$:>)#%#,A
MI7XA8G:BH4X$)A'])DER;'[1R,B+2S",_XJ<$(+*QA27B,B?SA6I\D*Q@#M=
MK:/5FVC5*F-#70J?1%)OKKZHN$8CM QFXYR,8%I-@CUP=)3+V);:@YY,IBG5
M>4=N+R?CDIJF\/B7W(:S"_9W!'HK D7SP!H+;#M0O[HLNB3.ZK:Z\AQFFQKH
M]XHJXRC+\BH,QOD,[*@BM&WT)'Z[HCA6*GOS@N-1^)GK98=7$;42*0-4@72
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
MBBNP_3"C>6N<ST(7;&5T1=Y=!AE/L3(#3FA(@YN[UQJZ_)F#[>CT)+&49V9
MS"POTJ'1F:A^M:P<%J(WOIR#*)GGLT#UE,N@.X4 L4RXI)%B[#H\M6#FJIAP
M$EOCVM5W%^IBZ 6<88(DB+99:#&C,Y*,64\)(Z(\4!<#:^&S! K.HL+VV%CV
M1J&-D'W?TB1#1F1I-9DUJQNW5H;^N(+)A$H[<52E3FFA>(1G5FK&;X@463[J
M6;?@^18D^@QK\X*,VK%*IS1N@W0LQI@+A#2:>W&GVVR1#_[BSD)I>%'::LT9
M16%3X$!#9DZ8_(23O63*A(,0C)F2L3(=1V7+XDE"!LK-X=(>/_*D2# V3FEB
MBIF5)6.:R"6CRWS%B\5J)X\&UA;/I].?7X<!>FVUVES@C+9:S!";A&0, ZJ,
MMD)5=R&1QK0.7M$_G"VP?>U/PHX<14W!X471QE(,)50QR(TC "53:5TEUN]Y
MCG%\T'HEWD8R39H*K7*VE<NCZ)81V$&G[@MA0TT?L<D;NV!K%(D>I!_;V"3@
MY(4,IPH=&/L\N1FT;8XDB;6$ V*\IX.># +7G<@E:=Y17&WH(-.#+H;4Q9 >
M-X9T7P&CD%RG(L/>4(4;,=NW5L/5 !EX;_&?"6)HT)IHTQ^DSDO.C K.+MX8
M01O%18YM3=T2$U&3X5(0W\:KM#6)/KL*L:1V&W6WZ:+4YCZK:\B38^7Z+FW3
M,K#S,.8D 7SV"O)84VSFP*VT> 0D_/<%"WB'_-9PQ);46!%[<,!J:EH\_B&%
M(#=@9TLN:Q G>E] CWJ19.CJW!J _?-Y@<SAS5[-B?M<XCN+-2I.*0H3:K*"
M62SKX^,=AAXU\%D\4);=_"-89N2RJD.RF&(Y8CJ &"07(.8SNT*2]=;)-,WG
M2EG**B*;2H2>QBO5D*&K G ^-1MM@*Q(3GBE1.\Q16 N@:[\0(:O35C3,L^L
M^D-9N)3L2J$OYQBY(<H3F[]G51%0+%!?Y7Q9WLWP^@6M>JM=FJ,7-YQ5NHF*
M=4TWYK#-T&54*DP^#[VZ#1L;1">@:R/S*1[KYL=D0SM#\6X9)G7B%C0OE_G*
M0F37U=RTKB6J%[('=U0'#O>+L7F,<7W^Z_RM]2R+@H;$AG<:O8P:VQ6."2>Y
M7YHB WB*ILH)>J1DP"]6XO6"]V!%YY3\N537;' WTS"O\K3;QD7+Q[225EWD
M,PR'NF:!HXWG9$NK3+N8+_SGGLHA)3-)I'I3FG?L=)WL5)2)CZJ<HA4K(N[V
M;!5'BF/7SH8A**19F(:3EC_&V-G\BHQ.TW6,T['CM*;V9G@%Q7\RRL;%2].(
MO>^LL%TI<TPQ'Q&.=67K4[4%+_:H*7HPKKI/Q/\G&!H;&O^_LP)A.MKWLN(:
M[V +>XW2E+C&N)[@M%8I!W>J?EA+0-I'+J\=@.-$/'E:";$A1592-.O4K6J!
M.<UR>"#ZV?,I:\.JPIH]=(6@<U[F1O.OW%0W*4U/-%U(P2\.9=2Q7DZAP&9.
MN)&:].TFZ[GB:>01)R-JU!51QAGS,3X"YYO#>?<R#4IR=Z:67>GB$$Y5+:U
M5FXG7:QSSW$U$I?SAF"#S:X4=UF5((,5Z76&#IF8(A*#!%TW!; 8-KR-%%SP
M87-U')'T(*\ER4>+?)T@;)]D.]":[!3BK48H8;[%%]VPK_R<I)+-C'$[ !QV
M!#!/$Y[K!9.I%2]6!B9 2AR]19'%K#W.,876I$?+S4SJ43+AN>,JG?J[ ,E-
M#? &18YKX# =Y> X 4U;53,LJ.FL;M*+QX(UG612TX0JH@/;/]HKZV(M^4X;
M8'%*RS;55B+N*:'#:^"X@!K'B\Y81C=6,J4@O>?>8G^)!0J=#K00,PGO2>$2
M99K3&029C/+8:&QZ9CC0#(=V0%_9V=[9L1+69. 3QB.X'F7MWK;9-X  'TE-
M^:@'E]-:=VFK0 ZH571<,=NK<MA*:!M"A-(!V?V1'!,>%_(*J$-=" J'7==<
MRYVFC:Y3$VR]<+HC+K!];R0[908>]"1+(4>7^X7*$CC+[_TUG'DXI*1!\Y4I
MM-*A?$#,5'&-+I6#76;H\%T@ W*1\-I&P"*&^43RXUA3$9=S<<FE(UP0@5Y_
M./Y(!X9'28;70.FS6)%O/B'F:A'M'G?DT";S+7<SW\8V\TV>ZV!#\DL:/KF%
MW[7&J-/N;$OG1KJ-KD 2MR62&*@=,8MK?EAD)BAS&I7NA*G=P4,1IE%E$RAC
M"=R+VY$]M].:!B+3\_G$ _QS:D8J&S5U4W($=8I>PXGO-)/'ONSD!D#3@!YB
MW,[ '77%5--$L/H%EO01M9 ^DR)?THZ%&*[_2^E*9$]3:$;T4$CS0X9.%20^
M__3#[V]?;_6/71G EJ2\5)'F[4HUDP*'I(@Z M6=E'X/&*RQI&CY(-%9&Y$D
ML,!*AP0/FZ J6:N$M6J,9H)NGQ"3Y,YRGL1-'G6_04=45!D%PGQA8YI;V_09
MJZI99\B29OB<,-!H86.(4L)MNLQ2-X;7T:A;U=%3\QM)N#41U5$1<=V^UA7A
M=>34Y8X1!K>:2S^$1;'=612GYKA9[^1M# KD'H,<TY.HA8"NTTI*[S"/\L*V
M!1$)A +)) )X7L)H-(J2PH1AI*0N%'6MU+J056(=1<TTOK&]PC"^R0:LRZ!=
M0\#EQ:;R>-'EXQ@VYF#QE#SJ(EQ%G]4X3X?Z,-K,4QIDL=R/R1WYM:VB7[D(
M4-];I34M:V@X]HYDQ=,S*$&6W4]*"@I_/;EX??(_?%8P[VW_8'O_V8A3N%Z+
M>?"*;OZH)/_&[001H$!GX8/#1KA-L<N53/>%2X6::AAH5DDBF T>^AA=-EI-
M-KP>"_Z_>HK@U22#]7"41:#3T3U6*^P5Y(%GU42VK3+U5+&>^&$>UYRJ1(W
M@/<K2145QR%YE'!_C5=$LZA0ED"H+353E384=,J4U5XQ(4MRE@H$6 (4XZ5/
MS)2Q=GGH6+C:ZJ4(OZFXL.8Y;A)>'4N."SM*&72>I2M$YTJ"7O!J;K4DVC6"
MVMJZ)#PP0W.)H]_),"(YYKL.L84)C_M8WHAT.>KI>#+FT:V6I@W'+N:(<$J3
MB3'[9Q?/-IW=(2::%2BV13<ET28>#S:Y+S/VIJP0/"WN2M34K[ 8LW*<G:[C
M$%O/:/=JY11%S'W+@F=\*HI! T0ST,Y+VU6,BEI+&S)?8(*.BHAZ)/!8XKZN
MILPQ(=W_9 3J?3ZC#OK4KYS'I+CWZAXFH=9N4V[C(H[,>NIP/;%T.(V4<E@
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
MPJ5;)9RH&+\I(GW@C3Y ?YR=T,E&?-2I&^_QU#Z.PU$XT'CX@5RGF).N*S)
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
MRH/G%$?RG'&4+[@ (Z.4?4@BA5L^I2&"T4",@HQK^/6R)KCH&U9<[T//Z]C
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
M]GV&52(A$0P*M6J$@ZU3\,D2D%4Q"S6"EM ;SAVPG;=RFQ]VJP?6Z^WRP J
MW@Y'>#<=B  58;A+C%:<F?BX&$N(IQ@F1+/#XZD)6D!*F(&O.L6@/J[[^NM,
MF.+>;]DB7-U9M@!!Q>:.W.#H*V]PTU:KTC-Z#'HY?B)K_Z>U3NL"\4T8605*
MQ;>Z>%P%^/7KKQ.\^^[@M-7NE"%9>'4.D9?O!I]3=3/:GNQTF-=D'S2/'B?=
M$X"&_\*@.J5S;)YFX6[7YFYY1R5HHA),AJ^!XA6JWR7JQE6DW&CA1@O?JH6Y
ML>+3__;"*4BR#<U[;T%?)3IR%1I$4T^PP5]U,8I>@O,*V"I:^5,.>^'A;]C-
M^$;S^7,?<UG*JK@*[]PM52T-7X9#AQ5ZJ^6<.6LO3G6^Q^Z'XV'FQG5!>.()
MYFK%4CBL80K@Z9@^C:_#@6VP%ATQLEY5^:P\*'ZZ#?_NG))87GDSQ7#VE4=/
M67LW=/!P\>L,9"*^$+]NQ-L6*ZJ*!%@87ZF=BJB$&'?;C4?1R+)]9)ET3:@(
M@%7+L?0Z8DF6;!=E_:J@ 7ZR4Q7'<9U8)6AR^R"P;C"S+%_5N<21RY)J>\ '
MW.M '< TZ@PK0GD5<?N"S5IM&*'YAS:))-=6'SD6$W1&SVV7IF'AAH7W8.&W
M1/*@BU]ZKTOFR-<ZGUL36<"0.#DG2^*E=_*Z8('8=L=+L/MC?YKN87M(3'/$
M-HBPL866;<\J&56DP%F&R0X+PGK\1"V\<"/N.MX)L^]@=VUB(,8'7([)M*R4
MWUEF1.'PW7TCU_L[=[L@&<9D=#Z2RXFY=]NG[5%W.XWKU,BJ^^;I@BSXHB',
MPPBN2NU-W,BO,H;%_RS5[RB)RG)HO#NO82\S8Z=Y494H;$FMR8UX+#-V-%!V
M2/J=),O!0PP2Y&U+P;M]'>TJ6#67$@U;-VQ]7[:^S/XO_'Y+8**<M5J%<@.U
MWL9HI<@=*O#L#US-%BM#''UZ2ARM,$;I=,>N<-C/7C#7V(3A(1-8T#$\3DLU
MEL,FIS8\T_#,3IZY"!U=*>\Z=^Z&8*>G LEU1J>MKO/!\YVG)>M]7&$!/LMS
M3K:D5(OJ1:QN%_=56.)5&9",R.] ^JKRQ"L27CA!DFWCDNU>*&/!C:5+/YXY
M^&WXI@!U0T?2^'58'V,_-O"@PUC%$(W.D]RU_GN6Z<C)[#[C?9Y=94G0:>6N
MCT9 [WIJIPT&T0BSVX79/WV5AMZ*?%C2[QOF^/VT.U#FSYZ_7D8&-I W;20-
M\%LQ 2D&\^-:S23H&BLEIH&E^<5M'5%B$BA_"DC/LY@XW?Z^YOX]GH,Y/.\K
M\ 1:8L-##0_=QD,H@G\+L;><<YDBFNPZY;'IH/Y_.2=9OK5-)S,"@>C>8A$#
M%:;PKW*1:C4W2F$VG22C.W#SH>M\_'^N\\D+PBQUSH$//H/)<N;2&?QW%'\6
MQOSUOVEAE["FU[$'_)%,(_S@+@5R;#4 @Z8&H*D!:&H &DG_=9+>B@CTR&0B
MP4.&.%?%^>&52E**H'@@PQ7]9-RV51;Z4W_M!<XB@I,*Z:\<8%G\>QE)T)2Q
MSE+0]'SIAQX!J+.9T^D[;SZQCT.--C@CFS(KT-F9>G#.^"2PJ201BS.XR!@Z
MX5]A););R)C4;D4ITYF"'@J\*\QE8)"E;D6ZW[I'3\,O]^&73Y9/SE$J2M !
MRB#+9QV!I^LD-TFJ5N0OO(B]?_N!ZYS%"TSW"3U-]=2QYS>.=*VB)-7=;:J>
M8V$-X 5,%#?+R.%_H&F!,;DP_JSH[;C][L!9 DN ?96G2=!#=0T!9X0FE=MP
MF=?9I0')L$)P$9<P4>DU I'==F]$^^BV!\,=+%2MMXGT'[0#$;S]U9>I K6.
M[<K 4@RB),<A,!.BVWY^ 4?A]%K./]0-6+:FQ1#E272?OVPY'_SDL_,:W,8H
M3D[P'PD8S-PF#.30RPA/[$4&CJ)*$DXJ06J@IW>>H]B=J,!75\H$> I!)Q5>
M^7%$PA4['\$M^&GBA)CXDJ#P)E$7HH2CCT_TB\1B!S*8>G'L,[%,;IR,&AT@
MP:DO/MK5V_-W6]CI"&@4R&6F8$D!4$2BS,&\:.7;>@>L?^6K:SF55X5%O_52
M2EJ1+9,5\ZV[9N[9)]-S_-E__?"O3GLZ;'?ZW7]-)Y/QO_I>=_XOKSU1_QI-
MQVHP'HWF[8GW YM@_(V+CZ_>]L]^^_7#J\MWO_SSU<O+CV>O7Y^_>_OVU:\?
M+_\U:O=Z_5/YPJ%W6FJ;5>IE9O<A R4/R_R/OW2&[>?],_Y?^[_4+FR+B>K#
MQ?G3S=YF/_PMW[1#NW;TMNUS/2 W;V7=7Z-0M6I(3(/1>#I7W>&_NKU^YU]]
M==K[ES>;3/\UZ*O1J#=6H]GD=(.8!N_>O_IP]O'BUS=GO[Y\??'KV:_G%V>_
M?'CUSXM7G^ W[S^\NWQ?*X(:'(J>S,8=V*=CMN[PWNF7M/M7Y]^,Q.[;LNX_
M_>T[+3>T0_62)8E.^?%"+[A)_$1K_SGHA)"J5E":^R8U"!1W%G#-@IU=#.9U
M,,.J('#;26'!MW[/0C9S26OC0PLU#OD;$H1U4#8G!H^/16&%$:8/(M:HTDAZ
MZV%!89"H:_PEZ\:=3?$0!_43>[_81Q.60B4<H#^OO7AV$D319SP6:RT3LDBR
M-<8$!&YB@UXVG2X]S"^^BH(K3,% /4L)&2%&C>#9K++>P;Y1E]'B^.RL/IZZ
MA2"H10J[ILL(06+X+GHRJ5'^B=JU4@I[\=/Q8JZ\V(\RRIA$&\#N2<C/3U2*
MCX-;H3Z/][(LM+T &AF6*$TSO#A-]NA3R(K<NA$)$(OMUNTX/IF;^$\$ET_0
MGSNA['(,W<#V$KR W.R#;\A7VWPM". ![>04<SN=8-0+KP3HS#Z/0<N1 WC'
M](YI)?"NUX9\/RBT-+CH*HXH<&9.AZI^Z8" #,RK3.$3;4E17;"IR.MQE5#'
MY9U0[; ?P">,HWN)\&?>-Q),1LR<5<XYN)B^'*B)YXVEYHB8'+ZPXM?!!][!
M/5()H'P$=)?_P*(,3?"]9-E%7D4MAW5MA_4H;"?UB3IO@;T=!HQSLY2X+B]U
MPT1N^.R;()K S<J'$[7010O>5>2CL+P!SP31,!:0J[5*?0EO,$EFTM(3;CU_
MN.E(?.,2>& 5?.0? NOX2IV 7^T$8@Z#"X7&-<=S3#OBPA:%S!.=3BTAS=^Q
M9]C,RCNE-9GH]J3L! "';V&!N](^L,N9_:T/+/KD3Y=RH!^("R7)F]DE-O$F
M,?%SJOS&P$?[NP,?7P\3'+I/\=DA^A1_)<+QK5L6;Q!E#;L4;[?P[FS.BKIV
MSL#>F-*VT2+YD)MQ[XP95S-KEO/=D]1)K*[N8M.(EJ<]E>Q5V Z9+HBU;K58
MV4$ *^&GAQ$M30RBCIBJC3D*3(^]>WU,:GC^8(A\0SW'03W32(KY$Q]D,1B#
ML7=M'#RV!YG N+6LRX&EQ$26$D>'1;49FL!OV0+TN:Z0Q19G!R4-1384N9LB
M)>$\ 8V)\T,:D=80T-T(B'+^B!2$E#!<'J*(8K%E!=JI16LCDQJ2NH6D4*]Y
M5YB[/S%9[F*\8[ OTH%G)*\)!>H* @PAC1PF-E.2*/)MA28;.FSH<#<=@@L*
MQPS$17:9\A)J'#-3\(I90ST-]=Q"/2M8/K<Y2Q(%$@E_X<>-Z&F(9U^888>"
MV\#L$R]0#5TU=+6;KC!L/,M6:VHG2I,?58R6E@[;<)!VEJ48_DZT&15GZB1;
M.],EW*=*GCLTI;@VE-8DG]:1TG"B$&S*43KT3+W8U RN:5'7O,M[9LUP5/8]
M8<+O-8#RG@&4AP^8Y[MXP6.>NNUVW]5A8 R,A J\(U G8:8D?W>!OCRGX&#P
M&W4+PY9KA0$4D ZLH 1FM*N*$^D/B^^@1%$LYM,H99+")[UX5ORZ?$-"]/F[
MA^/6^,?*1=*J* /9K*P"E]?/[9:>.^ZT>E_UW#V*6NI7@35L*K":"JS[5F#5
M0'IA3+I:?DAK'Q\+\CDC3\9?2E+=//"2I9,2""09<)Q;%7HKM<8LPKQB1\_M
MY2=3?0Y\1U+LK\$63T[60/2<:2//IU=C4)D^0.U<*>J,RX$G@I9'8<NX <%7
M>MVZN,>2,;#]SRJ5A@M3X*\$B!S[%7&K%&Y=QA^5)!Y^6,OY&4@"3"WZFVFS
ME#A9DE'N(!87D9\0(.G +Y;T>1TX@M5SY BW<,@4Y:]+\?HD%\M"N?KV"U<.
MMZ7M63E*_K['M08IK-64C7'1&(MZ3/:,O:D>N4JIJ+#<:$5=-E./\BFYR(PG
MIO/-P39-0UYY@LM_26,5+E)N1;[TT7LSQ,6,%84\O$RG[.G7&>3RJX.%NE/[
MJ<E\Y+5Y2)&+4NS0U/14'S+F&!9+H9^T6UU^,OXT,/1?; WR7!K_F^Q+4,9^
MJFF;ZTTVGSO6S^VUMSRWY;R$?X&9+" O/TY>Q@I?#\2\YXZY2B7UP3# GV=J
MBIE#WY@U[FF!GFM2N112^0"D\K9 *FRD7@BI?,I)A5MR?RC%E2_EI-X7X\K2
M,//AK=JRC$#+3!5OT-7# &)N,!W'W@V/;85S@4,*643S=SBZKL*I)[+> Q+R
MT!N&9V/\(09=X18,74XPRA)5MF8OK2?BRU.=I>2O,)D1<Y0P(30*I?JT]/5W
MIK(N?T1>&D7]LLE.Q3G1)]/XAL;E &G*ET0*I$LPYA9+9P7ZSE]O= I)4K4V
M2]6"HWJM9H8]J2Z6A-;Z]$-8"MW](?QRD%5S/:4A"\F<P0;@<00[5_=/E_!0
MY2-IS+2B@ZNEPS)R%QA;U.QF,H55Y6B(BB6X. Q4$4F4B2I$"AR\&8B;!&49
M8\!J!G:$+\@*[4MT;_%*6-X#4852"<$YPYC*!F=V'2,F,(NNPX2)&%: 2L6E
M,DNPXYAP1.DE2Z(:6I%(+L>?;SR76$/..J)J@XE"N%&'_WDUUXJ9?Q;54_I)
M#O:E(*1U=L'QBDHI%W3NNDI6#_O(4HI\GB13L$XV,&"@R(P+3"1[T9])HGD%
M6EQPA6TU7/")GW2[W=;(@2,)=!W/DWZ_;?W*&"^VKVS\Y"UY)&6E7>V0#UJG
M^_KC6][SP!9K?L&_[7EQ)AT?NP/'ODJQ,#8_M30?P<ZN0*H6?%;Y(^8@&\7R
MG:D #IC;SX-HL1-<73B[N4YS#7SB]NW+ CF@6/HR!=)8'=SX6M'N"T@(F<;X
M8)/Y@;T7(A' L#;\:;JD0F%];]X5+))5,^DDGVJL2.C2DWF-'/;7Q!WXV!6A
M-E?\ZKUSGH&8QTHX8HB<_4 1PS-.<&1(B5"M(Z:T9*RQDR/BJC6V7ZE\&GL)
MX99OQ+7P8]1,\Q,4$-EJ354DK)3>_[,P+B]!-Q'?2/ ^'(2WT,!^EK XA\<'
MP(XH&>&$<Q;4ZA#>!2H&'\P5]2W'VBXVTU-??"0/TKTK+$_1.^.-1;"\%9QS
M8L4/6 ,GO%UIUL\7C0G8XKCI96%OCM@'C8FGQ/X:LGT ;AW-";16SVJZ/LYJ
MA7 WMN(M$(7^O,8A*H&')9#;#N"!_EY&'\0>8/#!M3"$\ANMFJ"9[A>AO5#J
M-Z?-KI:I>2KOD6A(3)N-Q]\'A^ =U]+F^&#2WN0T+HII;V_RM+<WE/96*ROD
M2C$ MO;@<N?P4NK/YQ8NG"6,T#.V365A@7<H%F7>&]-DRG##7[AC;->1)$ZN
M.(#>K53 /$FPY?P,@O\*1YWF?R<S/8E6QD</*/*8"CG+<+R<15AP^81]DBBR
M?/<D6TL)65[U"KJ1K DI8<-&0:$N,*,=B][3-;$60E>HRYO$D8?5L>LH0)&-
MLAP+<!,I4)[ES5"G7CR!GY147TJI7FG'*ZP:K-YQL4)7.;^U+EO2!37,J,91
M^)=J?A/]KU>_.4_-%UUGDJ54\QJ C.9F'ZYS 20-\H8ZSX&U\$:AW0"_N%QC
M\3.5[47<1=>&0];8&&FFRMF>=! W^LR=9+I4*VDUG7=FDMO-04^N8O41)/5C
M$%V(=\(US/W4PD<UC9$1B1?@3S/XO:M1U%(#P(V\5),9F/O2^B5D9AKB4#,D
M<Y=/DG:%\\/LEE'PCWS?\$&<< M4<?'Q'/[U'OY+W\I%Q'LXBSF<3(2K(ZPI
M<9X*[7UX?RF4]PR7"%8>=K'QIN"_BFI.O2_(1S&&WI"<7"M2;QV_W @CS%RT
MC<=R$<YEENX'0X]GG)=$1;]Z'1<?SO0Z7"JGTDVU O"Y(S.O @=WYL- X4O\
MWH2-VL249MI]K>!G+2C@B)R\2I^A-Q!C%093(9$3%B((#^G,/"V44JND7I6@
M*UWNBH<&-M4,.\^@;85+L0X%UDU %[;M)5K*X:+2&-.E"M;8\PLEC8Q4F'XF
M^9B)G9;2RW" ,69-B+ZCD0.Z2P[1-P4<L%*=VA(MXN@:<6;!\,5K3XD'2&8R
M4H%"0*2-V MV7BSI48&@B0@M"2N5Q,*72H^8L01O;>PFK/3WI)@7#KU8]$_J
MQ:32;=V@S8_K"+Z-?,>9!W22UA=%1G&U>Q(A5\%;N3L#XB @?'79<Z%Y$!8Z
MLVUREP8(\-N-!DMH*)YCEX*0EX'_OA#Q)M]Y8VD&; 8!+K&/S4G9ED;,1Z$0
M#U%$[2^#=Z25L6[38T<1-YIZB&U:82L\F1S\S"%QK3GQ<QMGU6_9YZ3)6'8O
MF]W1ENG2(]#M+3&(.#/\X',=GBDT:3JVJ/RHB<HW4?G:1>6_HGW06:EPXW6A
M<./2"* 7(H LU+98N'&A"S<^H(RSVK/5R9-Z2\7GMU:CV-8[2E$P6%"4T[#U
M4FE+.:^W,%5!1AJL_"\IAD40&&&S@P\-K)D3-!9NP RCMH<XB(( 0>W4@7F"
MMT4JQ6HL)%K%U,M@G4,LX\MB!>\*[UAV$W.JV1K\#0Q9H%-$PY<26K8.U>LH
M"S_7M'#<S"W; "Q-MT?25^G-&H$C1A?@L=@?";;W>Q071^86/-M=VV@YK]F.
MQ4Z"[C[[YJ@*M6 RA\R9!&0.&X^3DE&1&M"YM5TB[418A@I??[R.Z"K ?9Q1
ML V^. W0\#6!( 9=N>^1$M\3+RW9;[>\4'R^<^.K8"8F(X?/03R"G8&/@)T)
M5K.%1L QF2$+B0^"%A6[3SX0Z8R,XI^M!^BB+!TY*X"@^JY,QT>A:(G TA@O
MC.I&$_ A0&Q*7QAB"_U1=BOIV70+UT@8R3IC'Z!H@=ON:-59&>^S+I+G+"QD
M/91.5"SJ_._Z3"P94+A^<:(7W-4H;Y4AG@G?T,K[K#![ SN3H?=-_8[PR;<>
MG^X.R_:IM$4J"A[+T-Q; .#?_HJDEC^F,M4CN=MCM5PI24GR&$QLU^HLDKL+
ME9U$W*VM\M:Z(=)1.F.5_JAFW)F:4)Z=**@[J(]"[I4.%^A7(,'18?)MFPGA
M@IH9]R2*!024]L?[Z.B'\O70;%)?U#1+K3BKB"?X&#QI<6-0 6HVJ//-$(V;
M;=3*%@P!8UQ@_@MXPZQMM#MGY;@9],,.'PCFF^,'AGX1P:29DHRR&&16YQR0
MMM=,'<6;?+A=6.1!$ZJ[!'=PBC[@TEMAJ(/[ ,-YFL:4-HOF3)FS(E]DSH_&
M8:UE9.'"KCJ]U%6G+^D@ZV3ZOK,$GX3Y)&K/I*K-O VY3A</EFF0+BE#J8 $
MYW%O,SLPTUV_$T6IM*C7O)F2<$5%\BQ^,PH#)"B>.@ALB.QD=XD*;C1N7(R!
M@('U0%+@DR)]4\@?LEGQ*D+'+]B1+BQTD[,H)5_:4'GI/LH]W/=F1NY/RO"/
MK2PU.E5.D8*3Q1A_SGF&R&4U);&CBZW)9F32!]) \0=G"2<4T'(Q,$IV#RX!
M"$7.32?N60<!-D_(O1]Y4!\[.GG@O%SI8>P <F4F-W:2V#8[Y>$HQP@)#&%X
M.K]$+Q3NZ+.>+V&YDM.;J;:"*LX++],/YT%&\RCV$Z>U,6$^J"G%=UPGI!7"
MR9"-N."?[?Q/.@DSK4,R;>P__I&I#!-FII]!*)E0DPZ^21M?KJ2,?2E%H  H
M9:!'L1[!X)EX:1"!%HXK$J,0.N/X#KZ#[E)T.KSARH.[L,*RE4D<NK4HYI;P
M%^"2_$@<.@("BK^F,&I9*DIF-DCHO&>P6V /'%VB)8(>^X"1BT+% OJXQG?=
M\*8< B&1*I.E/^?HR%RIF21[F,U1"(K=-7_&W&_%[+ 40].YO57TH3D(C8'.
MG"7X(1@CTEUP\W@-C;#439RM%= ]:Q(QZ11X:*SUR)E ?L' *NBE/S+.8R=$
M($P\ 04TMK*(C<39ZGUP:((A 7SR$ND>2";!BT4\!>F9MF9[LMH9%U-W%JV-
MG^%CUUN*7.*OZIE1<6'\BC/NEW!A^B74R>QYG0="@.(P4X>X@=4<^#J$W+G5
MVJ04 @>-!_S-X6KQ!JFTG_M%N)BPRXD-<S@'X5P_X<0*2LSEO^*PC!M.;R 9
M$5?_'O@;*90:L$^I*&D2*$K$#!7K!_Q]C$+*:E4!L@3["G_".1^S\N_QLIX,
MNZV^21*=[W<Z=SH(7=11'Q^Y8/IN-$_6BM$T?@\S\+ PM6!+!_A"U"W [O@B
M\WC_V@7.#Y^$5;*UH[P)KU\C $8RG@QI\>4YI>P!35PD0SN79()).E-L8#W/
M K9<Z$@UW&=GB7H$,)PH;E5[I:UAS/9WK3%<5!!0SJ\'(<X*=7?$\CL<Q#MF
MD<I&'@4KS<--<A]W?7*%TW)SZ(2S&^RGZ6\ 7RL\*@DXS/1('M>PJ4/Q.OC%
MJ_?G^=PTDEA%<X@,<5M_VJ@",V^..$3QQDQHL]J<#F3F&7^8:0)UWW2IT*R>
MF4IUFTD,\LD%#0F^>P8W<$./070H $J1E_&RB V\O Y%.PM*$(/0]EJT% )#
MHTPR1QEE'C=1YB;*_%BBS+?&D)V7)9&*221ULB$_:&RDU&<#)5#U7 DI.A8@
MK--IM:L+9K2I1-X,14#SU&XT&/3GIMY*Z7$RBJIK]@V,?N+)E093PR6 F9-Q
MKJY6:EROPT4>RR@PD3O81[;* ID38<P[XPQ*^1FH:HKD&:\WLA0F?ZTV@;AW
M&T51V\>#4+V=A7-)2;H$YAC5IP$E6M?BON4#Y&WK:  -@(>;]_]=PJ]V7UX)
MH7*^07*6<UX(W72?%T]"YGKH!W 5RR;;VM,^,!J53&-_K7?**&;.XFM_K:C"
ML5"PN?,D:N-*7-X.OVYM][:W@\'#E'9%];8[$P\7%L-?241?#%X3!$-,.[C1
M1IL5&[12C7=1B"J-^,%\= DN?%8W><X]VYSPT"BA^B7J5F EW&\YL\:]:-R+
M^[D7M43FSNRF@>>;30/?4?3@)38-/#=%?Q^E:> Y-PVLD_GU25F@B!4%E ''
M'(23W[, PAJ/";$331DWQR$<53@1:IX89_BS@-%HW"0;92O7]BKN^7@K'N%*
MO8_KR. :5,5>Z,T\0Y^N/070Y1=SE@"6>5"[FAL>):9F]'@]8C'EX8I;(ESC
MEC7M:U.LG;70,\F'.EX61SDR\>QZP"]J@0P%GSV;@27DDQ&$ N=]OE3CGG_<
M. X^H']PP$:?2*P*O2DX=8$*9[ !1[B(S%0U^R@HJ2QR\[*WE7:8>!8\R!QU
M[=Z30%"V8*GV(L-DR17(GRPV/:(295;)<59J8^7G02-*+4HX+S\S>5$@<_B.
M3)Y'?2P?NQ7 )(H^RTP^B>\D?**W'Z0I/R+A&B?8& 1AZ6ZK+Z-0&)I&;>3#
M:GP,J^=E'Y3Z"'^!PZ+XOP9;.:@K?DRA8C=;,QUSHAT.FJ3T1&WX>T4:C6GZ
M79)/M,Y2;?@CF?(27RIDPQ6W@Y'J!E1<\3>O>K^G1G@MS3U?V<T]?^;FG@\O
MZ2TB*[O!>2\)ZG,)CXBXB(8P<8KKSK!%+29$?5 A_&WBT^9>97&DI\MS@BVB
MTC-EC3;EX"&5@>IDWA>Q]V^,;"!Q>CB+_.\>V&W(S3<**/(2J&'IG,VQ[!V;
MVV"%]AD:<AY]1U;"4 =.\TR 5!&E2S;]>V.IF-S=,-FR2[TOFR/BW+[4*75V
MZS$=SRKWU[%+$0N]>>R$]_?_=!:8KXRF5@9OSE988!A@#?)*4>\B<6)1!ZMB
M^C=%WIUDJ10H+ 7Z"=24<J[\\ 8TPE2A*G&I:],:!**'H:44#JT\'EZA&Q-X
MD\@^(R[JQ$#8$D,N^9'EV;#O/YR#;B/.QCX$&)7Q5QPSLQK(!9%7-%292J;,
MP=R5)?RL&S^4[B._@L+-%"FQ2#4EHLK)<PM58/-##F+##VBC7P$#:/6+.<-
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
M.:L4PM:C5E=O57?UX5\5>\%B"@#QP.GS70D&IAL ?/-@U_P 1[3SHK\2B7Z
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
M8[Q! Q\!NG OFZ\-RJ;?5/L>$SIX+Z/B\#4?#WW'39+?%I;N=]U.M^F_>4P
MXKV&+AW2V:L'F'B\27X?5**\>+ID?%!=J2!:8_U( P\V\.!CP27&;K_=E!L>
M+SK8.>20IP8=?*@I+.ZX>W!_[3BY\"C!P?;A&[0<EXU6)W#P7;I4L1.9!$$_
MG$8KY3JA:BI_&U#P,2 (>^<I]T=N^QNT:GYH*GC42.#>EPL<>?"&S@]]LW\&
M_&_O"Q[VW''[\%V?'_J.'S7H]T#<VT!]=U_MQRCU LM.;%"]!M5[''C"J#-V
M3WM-1>\1PWJ])NOO^/GPM W^UZB9RGN\P%ZG>TA\O4'V[KZ!"T+OG'D<K;2M
M%H5-=E\#Y#T&*.!^+?S:;F_<C.T\)DSO?BW\FDF\?Q*6[@V&;KN9Q'M40-_]
MLON:2;P/"OEQ:)@#PLY3#?@].T[/K$'\'B?B]R"[/F9DX<$1O@>YL0< ]1X/
MFM?PV+&A=P]T8]\=L/O.O5?JE+AW$:8J5HFIKW@TCE #\OV90;Z]4T(&8[<S
MZ#7Y/L>$[.U]N9U6I\G6>\S<.^J[W>&PX=YC O'NP+WM)ENO-H6YQE!D).\X
M7;,&OGN<\-V]8KH=M]U,X*@)FG>_ L #EF\VZ7H/%)YKN\-.DZU7#[SO?ES8
M].BK#9KWQO-#YVD0)<DS)PJ=Z=(+%PHL-F?N^;%SY069<J*Y,X.G7E'KOJ0I
MT6U O\<"&]QKPF//'8T/KG\>FAX>-?SWX%JJ 0)KAQ7U^VY_?-CBSD?%QT<-
M!+9;AX5X&R#P:VS,UU&L8%&.^B+FY2(W.@]K33YR$ZJ!!FLE9?HCM]OK-V-!
MZP$(WD$Y'+XCRR.PXX[,/A^-W.'XX*V6CY/WCA(&[+0..N^H@0&_+E9[I9*4
MVB8WC?@:E.]Q80+WDDYC=]CK-^C HT?Y#GC'#<I7YZL>#PY:UOFHV+F.8%_I
MCMMH+C90W@-#>=*-KZI MZG/;5"\&F$*>\-!@XY[VADU*-Z1H7B'S?5N4+R'
M2N9KQMK4$L([I+EU7+;50QN'TDIOHN91K+21E7I?X(DXX4S]D8'FQ@P]Y<4A
M+"7!_#QO/@>-[J7-1-T&L_O3>OB=WMCM#QO0[K&#=MVFY]Z?A:6QYUY_V !W
M1PS<-3WW:@_RY58GV)D'[^ORR*VG!LZK%2[4&[CC?I.4=VQP7KMU2 BV@?.^
M9TN5GMO[!@V1CI/C'AS'>R  O4'Z[KZ!5PV4UT!Y#917F=WM=@<'!'GJP08-
MD+>1?7? ;CH-D%?GJ^X,W'[_H G_CXJC'PN.=] .2PV.=_?5_JJ:?GL-?E<_
M-.%>.J-]ZHY'!S<#CU-#/#B4=[]([<$-O$=@S1W;)9Z.W<&@Z;A7#WSO?M'5
MIM3V06W(7U22_.3DMIGCI6GL3[+4FP3*22,GC$+2^:?/I_"8. H"6!!\F#LH
M-TA@@P3^:8&#OCOL-@E CQ\*[#50X)^#HP=@3HX/7O;QT+?=0($;'-VD]-4$
M"MPP-\^]T)OY<(>74>#%SD4X;1VG7]? A0U<J 7.Z<#M]@]N*1ZG$CE*M+!S
M2(W1H(4/U1[]U#T]?,7&<;+A4:*%O</'<!_42OLKF3VUT<R>X\_^ZX=__1Q\
M/AV/QJ>#TS$\YZ_>-R"&W[,D]><W-CFTN9-+%3GP<_#GG_P4'C#E)U\K)"FX
MYV &W_AO!>;BJW"F9LY+-56KB8J967H=U^FVNUWG/%JMO1C^#F;F;9_N./;!
M?+/]TZ]\6$:8_M09%^ZP?"#^]M-@@_J#NE)AII(6+-W_V[LLAGUB2YP0_A;+
MW]#JCI67P+:?=-W.::?5=V S@1^%KA/%3A^8XD?7F<?1RGD"1LMHU.KJ#V V
M*)T,'-^3$=:^M8:EOW5;SL>E,B]QKKW$F65DUR_AKE3L)&35KZ)9!N9^LO37
MV-@Q@?5-HT4()S7#)\EJ>1F=?JOGO/F$S^AV6AWXT76\,'\'?#Z%=WK _=X"
MGJD8H%['_I3FPT19\:W)QM?UZPC?1E]$-@0_(,N<)"!3E#,!3T7%-W +$;UH
MDB5^J!)X'!!5ZGM!< .OFR=PVI,;9Z;T.2?X95@'KP'KY,M/6L?1[VJ:PL5]
MJ%H)G<+9"DAJZN%)+7AY^OG=WH]R7UVXK].-.^'[ZKJCT][F?3G7?KK$LBHO
M3.37>)B_M2Y;M-07L?=O/W"=L\3W*EX];G7REW=ZIW ]6UX.?QOO\?+SI1]Z
M+KWZ519':T4_4E.GBJUWNH-67R]@/!BW!I6O[[BGO<$&'5>]_G+M^< (O[7^
MP=M_HV)@[!OV0-E%%2:<1/%,Q2?3* B\=:)^TC\\YS_\U$:6+3KAHG7&FYIF
MMQXC&9%&ZQV:K-VJ>.HAE<H)*].?AOEO8$4_;9%J5>);O__R9@4"^W^S*3/>
MZ1G6:3\[I"]] ?@=F!GY%6DBBG_Z2YO^;^.O()S43QE(_!A_VO@S/QEDA8\Z
M[?SR0G"02[5 28F2W8@)6YJ#R!D [VMFZ+N]46>+*!BZIZ-!E>B^M*5DKC*N
M5:R<)SUWT!]N\'"'V 0TQ:C?WV1PM[C 8;?5!N4"LA H>;IT!FWD7M0191"H
M)*"OHB!;L1 U&@/?V^G@CO=XP-T41,MY9WZ5W"2I6CF?_32I4J*PJY$E!'OM
M[A81..B--R50:XLY^->9?_6W_X3_:**;!F"NH$&[+-%O#RE6"X'VC]_$<)\J
MC/5JRZ3;MSKO,6?BR*FU7C7]]__[7_;J<VRTQ!O6MI9LRW5)C"W4R00.^/.)
M-X<W_^0%U]Y-HCU/.$?$6[68E67A03C@TXQ_=/(?2;:6SW+E?3FQ3DR$S$F@
MYNE/_"W]*_)8].^BQ$<&_2E6 0V;PV<7GFJ$R#>YD^ZF;=BSG">O*)[,-?[@
M+&,U_Z\?_O+QW?EVHSJ,0,T%!:-:?O7#WSX22P&;G,-?D?.,P/;^9EW[-F(M
MGG75(7Y/WP(,EC$=&#+X;O,.V)_,K\08>CG_)_ :?PXJ.DR#&]L> 3/#B. N
M\/>H6A9T^QN62I>%3JP2'YT!,"<W5J3-5)1W3]H;SQ9I\F#'>3?+'GP-ML%0
MN53:]4!R?? ^?BQZ ?+%3LOY!-8;B_;$>I_KX,G !U$_M%NG^&.LUG"N*,78
M&D_P%MX$T00.^56HX@6<,:M78QKBM_$U+M[(&HQS(-;@!E2DV1<\ HWB<-,J
M!9W0H_W@9TYY-7J_XEH-0?T6-E-X+EN^\&AC^\I+2IJG"QJ%WP)F<,5;>OSW
M+6]!G;C=JX#'@RLHCQ^VVA6/[_/?S>,?COP^WDF]6[MD3FVWNF-G#:=\#1Q7
MX-1VJ]<N_Z72QXV!/D(\-'%S8^_:67G OLC(>(U)MEZ#K)@N<;[4-$J04J=1
MM@Y@%>2'X#+]%;B"5_";L\OW^#8@VY6?K>!)\6>%-@\:8^!:!O"VV%G ^U.E
M3903'H@*J\8G3>'4(KC<I'%=&M?E05R7HGRM=E]RD 0XAXSG80&-Z@Y;IP:-
MZK@=T)O5UO6XVZG2J,BG^AWX6Q;^>V$QEON38U@>:'6P/]OF39L/MP 4ES[?
M;><06_7G_^ZM1=;#YSN=GN5'57[^K?KB3Z-JV*FD0)]TA_VBVV&><@8$$@,1
M>/SFTO?Z)>?1?(T FFU^2^UATG,0O+B_;5#I5/Y>!9=VW'%O5"+0/KA[AD#!
MYQZ.P.*H]KF[[<$V$BVH$M!;L#DXN/V 4[R\_74.OA?5 UQ#-O>F:1:CJ@1C
M@UD8SN-C]3F@BXV*$'U!9!/XVTYPF4YDW&V!.V8=P[B'KG+!7&TT4Z.9Z@&J
MG6_G?=1.B&\/<M%,[#\86?JIAT/?MJ$_[AAT5UDT /MSS.DE\R';UIKWUE%P
MDX"'.HU"B@?XL"@*7>EU@3WOK[(@]4(594EPXY+F83Z'[P?H'X'QZ$VG*D &
M5UI2D-1)]$?!Z 1)P++':)05^.D+^@KLO2@M:'UJ#NZOK\+IC1BE!*//V,DC
MAYK]V14L? G/T]:YR*^*)^;@/^POR&9DPV<Q""^\ >LP7%CJ',,!*.)@:T%B
MPXQLM7=[PPVS/3?VNZ,-:_^[:[1=[LR%1D\C1@3@CNE&<SE=)(B)DDODZT(J
MB/T$#W!3 X#?C%HE^@QTD8I+2=^8^S'<0KJ,E7+^R( 0\(CQX9D?&!4SR>9S
M&J\!+ (&D\^NM+@M?(]3D+/PMO2&',-=RH8NT$?+!P2SOZ9?DF*!U>Q6>E&6
M!K %VDL0(80P8_^IL*YK+YXE]#2%?C0_^ ;COA4O]=#60N%!*(6M29E+:*V\
M3PT4X'K6N"6PH\+$A\-#(GA@%,8^ B^&@U3!K%KKPT^(?\D=3LF5A!]@B[-L
MRH''*%93+TE=?5-FHX@>^/'L! 7&#5S!PD](N3J,%=,3Y?GP7'-SN>FM77'!
M(8#"_15]DNS,F8+'A70WVD+B7=V O1YXX10^0QL#:L^2'-^A9W&P@(32!#QE
MD.9T$*&";R5>?".FD0@PVHSZHJ89O!T/:1%'U^".HW&<JH6OF&.6(,"<>482
M#C]U'<6?271Y:U18A6"#?06H.3KC3NXRN* ,.F,+O*/X2;\];/5*VJ'MY@$6
M%@<V%.5:AB(P;90MEK"89.G,@2$29Z%"$?DD]7*F<X&'4\<+DHAAAV09Q6 (
MJ7CE@)$%>\=>3RX*]5 IV.T#DO,G9<0<T4GL33^7)5J(]^1K0Y@$4!H#NR=,
MLS.UAG^0V&$6P :BT[0@:OB)8"ZLF,>%POC@D*7IY3[.G;Q&S07G[7U&DU6M
MB7ZUJJ2'K:-4T%N6R$0!)$)Q$2P^+2N<14QBT;='U#^-_0G<G3<!<<,[@5=?
M WF *$NR&-_EI8QLX>I]?"B1J#=3(+QA,:CU$UZ?>4L O "> 5X *PY\@&9R
MH/,SL SQ9- ",)LEAL9ROPCX/%PPJ<@M> O0%BR2F9C$7*$%HY*VEH=[1B,>
MWYL N\$F,&C!YC\_#HTO2_+RZI7BC5IR*<9! S&_^&'ID\X\C%*BJQCM(828
M\^@ LQ<:/G+E-OFVG)]!=X%AA#=\4Z3LF9_$V5I+8>M(:,Y"D@B13:/5.@I9
M)]I(YQJ5HCXRM!:R8%:*6LQ4X+&M8$OGK8\@/Y,HS/(Q9[!XD'E@# )3:1;3
M]C-*J&@.TI$3S^@)<Y#JX917'C*QM9S7L,%Y%A/.#?N>9DE"@C(!2P23U+KM
MYQ<8@^VUG'^H&^<BG&-L"K^+?^UTG[]L.1_\Y+/S&A@NBA/Y+?XJ 4\_(#$(
MI(3JD5+ 0EX,_OLBG"$.<B/?N;3OP$\2VD9NC^K;Y&9XFM4*-.OF=V)F8O#I
M\OW"WU&Z!('(H%@N @U^L7:93^C%<_X8:BU4<<CZEJ13:&CS<_B&Y4*0,^5*
MLMC*4ZHV)?%Q'(^#?P$I,"L; %EPIFD&1 $/7A#0C<]EV8HDCS?O@;\!DA!.
M.LPPF8Y4O6%^^,=GN#KP0UA:!#Y*4)$697.^19?>>?YPG/W:!#JNE1W >M*U
ML#QQ%>,$0W6@;N>8(L#:EL45)ET*_Z*U.<M69"WR]64H5J\\GV(5LPSY(TFB
MJ4_$2C< ^AV^B?8J4_3HN3&$R4B:D+\3L?6>K6?T3=3Y:/BQ^<\J#(,CLY4?
M^F33P/WANGT%5L+4BT%HH463:L?AM\N7[\[O LT<(**M<8-V!6Z :S@!!H$E
M_C3WOZA9U5U:(6:-%#&ZL14KVL2'OHJ^#@,N_<=?3H>CT^>W(#;^05:\.Z56
MHO\/$1[XGOO[X6\, &\'UK[BM;N2*C:PIF(DI#L\S<$BCH2<4NH40QBGO?86
MG&DX;%=D&17C(' AZ$A$Y,N(_T6QET%UV.&V4 F+(Y?BE493L&%A&4+FD125
M* 1%3 BD]$ PA>GW"%69L$R69 10H>@RT=89&K81JUD6K^@7B+7(L(=!1#<@
MGNHDGJ$(B3RGZ8CRL89-/E:3CU6[?*Q#!?'>Q!%XMN_)N= (>C&,MZ!/L/M1
M@O%[@YX-XHM ;9]NP"\Z=;P[[&T(6TG6LE_&>['D.&<M40*3]< .1K3O$P$[
MH)E5%9YIS*S':695QKJ^N[FCN?3-=K[$:J*<!9DMA^/NUHJ.SJ!=E6^>)V(5
M0P?D,4D:N<%J"XF%UN,E'3%G]C<VBY>"W!U*^2RR^.!':T5954)Z8768[<51
MM#4X@6B5":";1"N3PI:_E@,2B-EK']V.3C ^79U ML,*:IR]1@H]@+-7"TE4
M2D.SLM!TZMEIWTKZ*@BB8:?HR93%T#U<J5ODS:C5*\J;TUP =?-,-7&-X,GK
M*-;Q#OSEB3RW^,ZO\H]J;S*^8[@S7#BO>((<;MC_FQ #VG*1^83,F"OG?W3&
M5@&/SD[L&I]\U!EO2?TZ;8\V#4B;1$JJ@2!X26*F&!;B=KH65"\.#-#-!5<D
M:4755< YQ2,!=:VL+"&RGJW4/ FF$L:IZ1!(>:'L<^.LC^,HE[ZTSO>E?;Y5
MY%%(T4/XHF.C+)P'V"92J,S?*Z=6=GJCHE5C\@@XQA+.@L*M<JT</MI4!>=Y
M'C;AE-(DM+EC90A2_![%@9<C(QM%%T_ (BKD?EY[L5I&66*O:O-;I0);((LD
M"D/%^1-;DE6+J%"I/%E;-\XT\/R51?F7MS''-D9 %F!FJ& $(NI1R98;6:;<
MD9#V&XK\<P+H61'V-\1M.<T;Q-WKE6@;K)?1OK0-SG5!"%+$&*L59AC>P*9?
MJ[7GQT2>TR5*D"KZZQ:5;9F4-C[?+O)3H!:R?\0!,;5$<LRVE.J7R+ [*CH6
M,\PNP<!,F<0XZ\V$?3&'VTJU*WQ-2,J5+._"^V#Y;;F0@M7A8>?=DQA#Y92O
M@X%W28KA\%^<AS8]H\WEF"6KS;&IH10$^BJU02L<Y%@&<4O?,D2.A%L^J$1Y
M,<A7T@06C+P7KW3*[3/ %AL(KPB'Y$9$;+^J@%AC2@\G8LWR1% LD]CRA7O<
M')79=7(]W]'U<?F%P?OFG)XA0??STA*LXY$(+<4V3>A>I9X?F$2$/;9[)#3R
MCK:7VUL\C]C%GMEE^)&+]7*;R)>/PEV4:N'!B,B3P(AV[-K1_J;)* &>WB;J
ML;WGRD8U2*?XV$4$OFQ(M[( T^";9],<ZD8NI/FXYE*^BY)%KSN4:W:16\AE
M&%ABN>)@BWX,5^#FYWI1>L3F%7:*WQ^1JC1%I*0C\N]0-H9)LN/T$$N!B)%F
MUDVQ_%+Z!3R:>K/,$)&)72H53:Q.+5R0BHE"<,@1Z0O219-4NAK@CSJ)TDYM
MH:+!*"1L Y&@213.RGG577?0L;L\>,3LNGV28_HL3:T^2_"EWLA.?:_^4L<Z
M;&D,6DJ_/]VH#1M9K8HZG2T, Y9Y1:>+3QONS)..W3D'5NB7EI-G5(KIC3D=
M)[<E=8 5@#$6N!-,'I4[*#^:LC'S[9)4YUP=G:-8]@\ITY/>B3]@CM$5.%\2
M_<1'QSYE@].?=4*CM,(9GEKFTI8KS&ON^KV^A<MNN[SC$!MO,*OKZ2]1DCS#
MO)ES\+4X,^\UV*3./ZE^EK8'KCG92,F&8/G$^4 QQLX],&^3A,OE[()^M,_,
MH^?XZ"O]Z%G^Z!P)L-G%<Q:X2!+6FZ*^PZ*>7FN68;H9V76*^<K:^ZT,TT#A
MS!VT-JFL8V:? MH2 9,^1C9C,.OA^BU)Y*CPRH=?HR[15FZ^!LN>W[$$^%\0
M6%BQ@@G:?H USG VX-9B^N!2S1:*]T]'5-I_I[C__!2[UBE^U?YY4^;!G?TV
M5=H />I(V.6U',FK+[(YBW_T/K8PACY-I;]JCFTTVFQ<46:!C6_GE%31CLZB
M"9L5-GQ5*@21M,CY-C+V\#D)]M(+@18GODLFKD P)(>1/G"+=G*+A;!NUEGH
M_)-CN/(+, "2E S"B]QTY20I^X:IZ(:RUN73HLGPCMJ;=6Y%BZ"SV3<0+C&O
M@>M0VF42!6PQA12+J)@\0V4\=/;S")Z5%Y>89"%)<0^B*95HF-6B207:_&@N
MA<[VH_=%V[L5C"<9JFSQX\=3^+@V6XGQ>ALI#F7&V_I=N_ QOS$T99BA$$[
M[Z!]9!G85;=O <JY1;4E6B%A3S8&A>;P-;\#J20S7^K7O"E%2[ 9RY%<:#Y<
M_94U7/W,#%<O>Y7)$@N8Q!2LGL?.3=!(3^4::F"%IJC,:+1) MLZW>R12E2_
MO+=1D_?6Y+T=7=X;GNE><@.;_(HR."OU._P5E.2YI22U,[V!7X8[![UM4[2)
M% J)'-KQ$/96]1?QLZ6GTD.6H-RE*"S/4#J/6J[S2SJ32A J(]9J0,/;I$I"
MWVJ<XDH_% YXZ*8FY.);!JGHEWOMG@(;%;V.2U9-?].J<:M#IYN+L<_A,'TQ
M[IZD4K=F%Y/"RXN]OE_\YU\GM>]NL7T#WS#5YA<?C(N9KK<[E_+D#RH!+IJJ
MI'AN=6O><[8-C;K&4DLP8$['I72;;4 88Z+P^7$1%RQA8R0FD--#8F+$Z*1,
M& O:!=>;9RE6J^8- ?!5=@UJWL!MZW+<O.& AN6P4+M<G<W?!9'BIU9]ON"5
M7,MN*G\9J4@/\TZSX8V7<]GQ1)5*YDU=[L8[L&X\X:HW!(V\A,OR0Z "4'7<
M$239@)Z+WRR5U[L.>.J176]/W@DL% LB7=NUL^_%%8T5*UU:F8A$AAU1H?4$
MO[#V;KB4F#R:O,BYZEU$(K@0ZSU4)HVJ0ZW6 34QL*"!(A:0-QN'3YH.&'KQ
MY+#F,62[[-E)U709@IA8W! U$&3,Q>S< 804#%_M1E2G<$#X2G2BX/RQB/A*
M2:F\2;?P9E?<8<&*7G)M.^@,QN:FTM+>ZI> ^Z&5X6'0ZC;JY[&@]S/^ RQ!
MJ@/F'499FJ0>GRK=2(3!P]1'4R.VBF*K/EKH?& N62B:P2,F**HX)WJF\ QN
M!S@@E,18QZ*/-<%^6$,;JD64<D$F)<[HABF1Q/FN?>S!\WIKFX 5M@GPID G
M;&VB<*/0A7WCV&Z>HX:Y:4,9@E*UB_> '&]UL^!:7VZX4ZKP]3)N8\HH%&UM
M&G'K'==1X=(<.I$3=^P (VHBO.X6]H8I$LI<<+1&SSP+12)=9AC:-0T#=&5W
MN'#-]<H_K+,U=^(6SJ5\*'!%<RR)=UGV<*$Q@JSK6.GHBMF=E)$GW"TG,.JO
M* C(LD,VI.0?U@'\K;S'ZIS+QQE/]%88S:'.#%& ^2MXHY,";]<&;;C0_4*N
M%5%1H!A4^?#V1:<U&CL3T7]/O36(DR_4:26@,L..!0A()?&,),_<)OEG1A3&
M'M(%,E1NM@/9_P''"DMV4 )%7/N'\B DE1!?J1,L,+YX_\[139Z8Q&.VLU%)
MS/A'V'F:"44Q0422W:[[L4PU>(?]*O) F:[45I1K]*3;[1>C>:P(C#"!8YB2
MLI%6*S6[RHY<98BBGU$]R<GPP(I?JA.F?IV%07S*/6\CD/@K$W<(>=\)WNVO
M7C+S_G"-R#28-@&M/7>(P[$Z8RW6B]^GL"+>_<SY[?()UEX4,K1,O14?ZD0A
M@@]\2PT[" )?K7SJZL"/,@M6!L\\[/'O==;O0N<M9:ATV<[LT:D#V0+G3ZD*
M _Z%' /VE$;?D(BC.;O4FYYKRYG<R-^(RB^-U@$+?)&!<8 M7L[-:?!GA?$N
MJ9\::]B/1MN#)Q]&5YSU]2+RXIGS%#\LY'#Y\>P#;B(GAF=ZI9<H:9>>[URF
MT?1S'L2AKU]>OGI6&YI'JTML;*N#$?60*7598@.QI!1P0(N1W7794\&M$%6-
M_Y^M@4%G!=..\OE "4]1:VG+FDT[($+1OI2'2 V*=%>U8A\MCONON"G2:@WF
M$X'RG.:OWU*R(5/,OTRM!=J/=*D7ARN_XV8^;*V"42099L JJ$^W[ .4Y6A
MC<-=9]B6'P;\ ST*QW_0+VW@&4/,PI7M;K\X+*3P"!<3ILRSNE7/<@FXHETJ
M/CCC6B*[DP*Y5J)HQ"Q,5&ZD\[&6#'($;^SVA_G1X(%99^S$D3=;>6M7)XI*
M/Y90>?$.!T/Z^2'Q)/Z5*H!,2Q\5(IEMU,M);)6U\6$D(8]X:5M3I=S@L;H'
M$4_9W;:,Y4\L"?J;N5)L9]P#):2*R0\4#=:$W96 W.]>9VQ'W^?62KF 34"^
MO%',E@23K4W0F#96"*T4DF38?$,[$@\_E-2<[=W#T$7(,!V9649:QV]TU"TF
MT&.W7/!UX"I\31V5$DN,$[)'N:8OK]RC!EV?E4Y,MD^(1QQ83I:;.VGV05);
MIG)/>VQ6FB=^($#9Z^V1AK7EH!]8KEH(.04=N8[,FLM!1UN8RU$,3A?3HQ.W
MT..*^^>7G7&BHCR^9B5;)^3ZT(/ _>/LUQ48/*[T4X-+0KVTX#P_]M D S//
MYBZ,N(LQ=3;42?+"HEFQK\7:7ROJ3[E?^W*0?$:'D,O-U&=Y;+876J%L70=8
MQ@_8F,^;HGNP=S3G5$QMO JMHZG+2+YB<HJG-U/IN5YN+;:K#LY^#-RF<X4=
ML))L@MZ_Y.\SCO%9L?ZG-DF;'@$Z;<B"ALUL"LG6</@%2DGXC@0KU78L=]4%
M-I^:9J'A36[MFB9+/.@OSL]$3+'$GO#'G7>+"  "82@!;G07-HH]3+'F@5^9
MBVS))T2<(F+ #CO]JC25+EL,W^F&G9+,)(E(>4\4-V]+YF+^^,I/4_+6\]()
M?IU5;E;!=W"ZKK/4/>SHG"WZ$IA4'Z9DX; 5FN,;E@=?V*:Y?WU N-<LM-%&
M:IR6,*IKC&MML+NE#2]B?\8;\/_MF4,MZH,ERG*$)UK.Q;R( T^\\'.I8ZK&
ML,A-R-$,=W<W&D,2>_ PNJS@$Q=PUP06GX"K;4#3(LX155^380*"X*Q+4IR*
M$$EBL 7<T*^T0DUU\T@B3D.[.109H^DF#0"U@ZZ[EID>J?.B,*&NK&!,7B\C
M*LBY#I5T=&V!8M)W*X &5< 8)F,6+ B5G2<I[?$HSY;;71? HN/,=A@WV0Y-
MMD/MLAT..-'Y'.7;:X,&?!(#18*:-9O/S+'+UVH29VBL=,<6IH2Q2QN!W@RR
MH40K@K,]=S!J%\K+M"=<^F#''0X[5EKLTD/+187.#-R7T*' <;GLY,FH/;CM
M*UX<HZJV(IRH!&UU3$IQ =L%K:P0U-\P1%C)YBVF0=PK'#-P@^0M>>+EW73;
M=KXXY;4AZ$\,@>XMKM&91;C.=:1AD=H /Q>A4:^N.%G5-$'*" DC"PD>32F
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
M)H9YL:]$B%*3EI4/%\"X#%<X$<8#CV959@E\_PL+^97Z][^]$$'$*FRH,RZ
M9)U1?P.'?>N!\H2_OO<8"/\8HT&IL8E;);G(<$IOW1-@U75@MR7#E8;-&L%.
MMT)6Z=_!D2:33,=>98"J@'-9F/%0%(RAZP1*/)5!Z]0^E6[7/I7,@ :;>,$M
MQJ!MFQ9#K#9&83??J9.)D6]*X[#5%H96EUH[5X*2?0LJL3T!W7; :B>6ETCE
MU+8)> WN .H[3R^CJ0\FKFYRK5RBPLNE_^\L^NR1_>+B/['N5?YU\>L;AND(
M?SA_<?Z,DE(U41)R ^+,>?MI[9S].UMYSC^B>?:[;\XC)\V/EE%1."7+]B K
MPS(_-[V=0Y!:W^J<7R=:,W4\3&@T3WF&A#,N1 M&/9LSI66,V>J"!+,^:&Q+
MFQ2OK&0C5@@1^Z;X 1@1MNS#*MNP>&L8T[[#917ARDX]18%]/9=9N%)?L.UA
M=(5& 9CFEZTSS,-USEO_;'%B\:#SHV3IYH$2UY8?!:3K%A'R5?'!DKXQB4IY
M>W^&1+46JDC!=EX%< (WD<W9W$EHQSUCWDPQ-XVQ $?/@A=,D#J%:HQ!5U97
M$8BNQO4D22K/D>(M[NQ*5 I98?6?7 4F;,-2,(#NY6-#&'R1T6)Y&R:Z&$X+
MZIUNE C5&D^&"\SEBQ&ZF.72&_:?%\J4GSX9=NRH61E6(GH$^IM&SB5<&V)8
ML3"!H4#]^RUDB)A+[">2M<>122)Z^*<LJ0"$<4 U5MAAH KIVO&UK1%K:S\%
M 28GU=\'Z=(!F!TKVR;KNL-ZRKJ_9T$EI;SX\,N@7223TT$AR&S _1*E?'R#
MUC2E\^)Y7:3>?_RE.V@_=UZ\."M'AR0.6V#$?0WDC>P"TFS<[7W3[*Z,()5(
M8;,(]AY*#5SU41TONIQH4(H/@YZ3\IBG?_>]+[ M"@VS95H(/U'[C,&X0!EM
MFS(P8<SB\9)BT]7W[[,9?LX>+8)*SD*8;@>VU_ C%[QA5XUT"XIMVA'PW[<
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
M5<]/>TY*<IV@0E.L,LS/S5[HH&U;C#>OLY:=I#K224HZ2=6XD]1.V7"%O7I
M)([M%M7XV9W]IK[ON/U^SY)+*#VV&S-Y/_<6V+IZW&/>SHBMK1DZ0UM?9S>$
MWVF-H5P:%F9)L*3INPYVLRM[L@.7AJ2,2S\>8OO*[@8B,E+]D 8;T,U8=\J%
M:XQWN.6\VMP"-3VB7DC<&!MD*[8D)(8K^A$M!UV._!3(KS(]#/$+)]195']+
M3Q:C"9<\6RI372758\TQ3]CS-=T\_9EN'UY< HE^W3$1/$$R(_FM$S^<+O!+
M23YQ4PW1#&+59YHAZ/++MVF"[>0N4CO=1>I^9X-(:E9*^<?( (,-0A/]-YB%
MR+_Q4T7];GOCV9O4WWOKUETA(N^Y;<L24)TE@\0>TL)-U_WP4Q!'(1D7R'O:
MV /;RYO/?35TRO -68SE=2N3E_FI.H;ZET38IN]!UV?;F-G26%J+ BY0RHO9
M?8+_AYE"5O,3YBFU/^@)W5^8]PI&69*M>*266F%"MM/FL=O2<(L?=9/X*W&Y
M[\'".+K1TU9MGQVZ[P<;F%%UAM)^B<);75:T\$\M:YX&/F^:H#Q>? ]C62O$
MH7U2&%$RCC4[TU;HK> UM7=;[(6YK_NLH=<NZN2B.[]K!042W[R"MP4XU'K@
MC?QF/S$FE(J#,!M8 <_CML3J+G>@ LSW,E2- V]P]0G'U#.P\)1V-]O6HZ_X
MF=1_F,<I9#'8B!QZ769*Y&0IWG(X?QZ1F49N>0J#-^5IU"@NT!A0'3>5UX94
M@+\A'V@WV/J)/>-'S?/0GC#P]!RW"TP%]LO&)@KQX_+>=W&(]FFM(0&5(?)Y
M'D5'%0=:4,$V&HC 7U&#QQG8[]?F@[%_F8$]'\77\ M4W4&H83),S8(#F<]Q
MP+3W64$[LTS%(+/E3&M>$Y9GE%VE?"'&:\F7B(>C$;"F^$Z-.B<SD@;/J46M
MO235XW>N\5X5%+>+U/J7ZJB*\>U9MEIK7)"8"?C#"VC0&ZSVVHFSI;'Q&;3:
M%HG/5W'+QZM%_MZZ:'&FPO/?>9H##G_@N>#X#I?'U_(!N?G /<*0EGYXB;U
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
M4[IFCJH#]V/'R"C2^"EUX;(!=G4=@R1_!(' J>)Q,\,UWTD)B\:&NFH]A6V
M87Z%L(,9\JH#]JX#MG$A,<EL@$WKRSB?MQ/#88CY(N;+3>;+\QT=.Q[(?W]+
M\8L=342LFTO1VP A5]3*P$'K!0[<) .,JMW]PH]8 %Y/XF!F4F!,6I5KMTSX
MRK8C[LZ>(XP!TN "4%FJJF#B+P*MP@F+*W0IH=UC U@:!L2KLXO_>?J2ZJW@
ML_@Q,YEPE!_=YPE>>QH\Q).BL&\U*M'+933!ZFZ>]62%H927Q?,CZ;24./L8
MF-%2>.#D)@V?@G4RNP;F/U$247E//+%+#\F9%\/@KGW:,;C\N4AS-XX\!Q \
MTG51K/US(">MB0><49$^F5VV)F.A:VU7Y)_(O]WR[UTI[;(*;MMF*J@%VNB)
M06@!YM/"\MY)*'7*9A=-J2&K)#*)5YN29V 2 ' +Z';$>>,/\V8UP<O(O-[)
MP/GXIUF N_&!T<GIY@<(K3EI3F%*7PI3I#!%"E-JHH<JE@)&[<9 CI\3_O#2
MZ0Q.NEN$ZBJ8G>BZ5_U?_95^^V38MK]BH"*N*3PI?V$T..D47U)PW",+/2RD
M2=F2/7]7KDO0'N>V82,55Z(IJ^J19:M6SRFP/>7.*8<6LF )-]SY]4\UXU$K
M,VR1G^A!%!?9?Q91IMNG@3.=D?7,J-N'"#-#_3Q]:HV5EVJRSM_/G3<__SCJ
M==OMOHL]U9QAM],^57_MC+HCUWG^9M >]$]/& [4_^H6VYNIJ?'8_@O'P"_-
MA+&R/LU#/--LE?'U1P=F$:S1IR%H3._73.#AALRY>I]<\]0PL,8[P_931ZS;
MRDB5"EJWO[/'>L*)GSMG%3Q\A *[!.Y8G;8\35*._H#^PAI#R'D!] 9>@"!F
M,:A1N+\Z\DO9WWKT8O%-Y3<4(L#7><" X?_0,SE;+M[?G[WPHVO!K[;G^ENV
MU!<:5Z$^K=\3)&JZ.$84LGUHZ8(WCYB_/4"@$+R&#7++=CT$&WQVD)N/0.Z"
M,EC\N-(")<GN;+*-6H-]V8%&OR@+F 2!EB#EJPFW\KN?NK#(;/WM6?:Q\^J7
M=^KH*1+-4\*=:12I#"P>Y,F#@RC8\/J"A[AS-M7<3VG&5X*=4XHDU[H" RA*
M3_W^ZG30;Y^Y\)?.Z:CGJA_0 W]_TQNW>MLTT9LH3A?.V0J6./6T9AMVM&;K
MM0=#_=/^:'324?]HCWIM]8\?G[^!?W?;?5!\6U[P/(NCM<]!A5]__O&#TQMV
M1\-2ST_\('5 +6)ZBEOU963'2@6-+K,PG\F'E^,LN\0I9 K]1T1;<SUGFI2O
MI7FJE13-A[Q6D)/U8=.$H61:V$M(5+(X#ZNB6V]E8/1:SIFS#I912HF1:1[[
M,K/K[2E7*K"&$U,3G,L]+>R&;B;0YFQA4I:JA%Q)[4CE=/M[RQ*OH&9__LXY
MSR:^&<7.^=G ^P1>+?W/G*B]B(")%CB'NR0B#/Q/E1;&!J"1\RN\B+^":7^%
M0YT5KE_P?/2!,/ZL9C/K)V*RM('+X3Z?MDY/7*?3:_7P/\/6$/^#/P2%J&\C
M)QZA#$+]JV/*H",QU1@_C-I3?2#X[&1AP!,I0Q8? 0V#!.? 7[;,T9@>_QPC
MQIP10OX0+<K6;A[/PQ[2B;^<G["5XL^V[AE4XIK2#M6JAJ $UD[?>?WNW0>]
M%#TU&4_95Q!C@,)&9]-Q+V?/6=M]L!^]^T-/U&HY+VG.9$0BC+K%TK.2PL-,
MWM<EKE(Y9< ))VO?^^BDQ':Z'9,:6DEM%_P4!7BBDL \I]O_$0/U<)@1/6*>
MA5.>SQ>DE .&HP!!:8((HD0);L,+?(2IFN3](F<EOK?"K&Y8Z]7"9S^63QJ/
M;'FM1OAARV=_UKK!I=J.=I&XO/^:IR9.TWOVX-/T/L28E/,RI$P,_/W#C]&S
MYHJ^Y3S:A4?CPX&VTV6$EJ&_3'Q@Y=C/JS\X/2?V402@._4+; BLE)-?"/[
MB!E6J7A7:L \1@:QF S3>^!2\2Q9EG(S'S:&/\<P9Y#R &',9/Y$?R-YS(,\
MO23"M)UK,)P^(I2A^UAY>5\U\$+\.*%4);JH#-O@0,\8GY>I2;4TVA/DX1PT
MGDZ68>.:YL;F XM!TL #IC35/N:U3+U,HSKY">5#28.<MBI=&@\"A"%(!"\.
M*%(Z([/U$YV,*@Y69B#7 V9+/H+\J7EVD@S1_.IK__S!K_TY3DG&J<=G/#T:
MZ?P<#ASY-GEX$5!LX&Z'M[U\O6O8RU0W;P?5B5H0Y8%*HG\387)WR[G(5BN/
M!S^_ R4Z#=;%;;]3CU$9]WK&\!='_&J;[*NE$244Y'#(&C[EQ6PCX>[B&64C
MD"GU>^NB19-]E1M''S7)C)PDOG5MJBD39FT:#\S7]"4SX5_9[')E";1\6C6O
M&O,K5GA&)"W!650]*G0V'XE*+</4_(2U'R:F]:2N+"2)E+'4Y;2+2VHRN?61
M.B%U9J56>AG/"MECZ/+9-.5S9XE%Z64!%21HBRRQSX$G<O GU)JRU5J-88Z_
MG8S;_SJ8>VO= XNNE)T)\I]I&OMSM$D+]R<G.R;T%!4?Y=,0=_($\W64LG]%
M\[/Q2#FIAE7;\MHZ.7WB-YTHYWB:([7J2)-I'$S0\O:7T14LH5A:3AH[TU/O
M;SJ Z@Q$_W.'R9&L_2F2@HT)8K(@GF8KKI145?5T^.H&@S,S\]00%RINWW&)
MHSC_1L(UJI^"1"7K>G%\C0>%$UGR:\47$)-&[?N7: Q87\$ 2)@7Q8)P,[),
MYR3E:\(+IX;6>SQG31E-$;8E40,Q33VJ;9D@U#M!5D0/I'2-F1O51;;8K])W
M>K?=4D1)"D 'HAHD41T"+BK$S3%8$B!%_J/2Y+PE8^EY=N$6" 8GM9-$!W<Z
M"E2[!>P;0UZH;B"H"6]2\!7_??G1*F%PCR70!<1L^X6_Y(PY5J28UG[I4<ZR
M:B$!-G4,"[/S_I!)4>-$G-5,5QA#'%F\CA*MUACO-$7,7UR3M@.N\&CGG)H$
M5T;9+NI37-(?YL8)W3BT,Q)S]1TV_B." N(5(KAPO.0WH?6G569N,C@;#R=
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
MPE_ANH8?\,Z^#$&$OP!W;FEUL'1(<ZJ-(%%^]H-_X;??@T\7.>?9,LT0+OJ
MF,TJ2*@+\X8%D_C_SO0<Z4W%,BXK%AU!R#4+X1G/0)(A\9T/409B#?ZS6'EI
MDCF/]&\>%VPCU[D @OV&3K^U<A6S0>FX1,;6+U& L1>GH4\0H7ZH"1+IK7.
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
M%NM3P"7A J>(?!.'?/V!P//-:Q?!2D,']*YEX'&*-:5E><I=YF]'\\HXS2]
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
MH=]1A'Q[K7;=0[Z-]DT?V$'Y+0M5-]].A]S0;EVYY#C#R%('*U#)D89KFAK
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
M1/Z+_MF& OUN%]?="U&*Z#J=?L_RJ+TB%QHZ?N<L8G_^O]_]Y</;\]W\>I,
M^$ 2'2[S.?P66"$QG.KMPZW%L]YVB(>^EW0VP^W1]CWNZ'<_O0<M""(L]6?.
M!4HMY_<PL+:]/N@=4_$3T@4%V?(!1. <%&9T10*1]6JV@L_  Q(7LPV!*+]Y
M8>;%UTZOPW$DET1GG.^ Y*Z3X0[@5U[J7/G.PINQ(H??PZ7T622_6\(Y@62/
MLMB9!2"*TRB&]_B?_6F&M(+7S4&PQ\4$R(B2(ZTTR-8!3^C.D<2O,$?XK:@Q
ME"A"WITRSVNI2S("K6'] Y80])."'+$C9OR939F0QGIAEIW^W1V<L?Z-,)]U
M0:WW1?"..?"8/D7];P+>GK 0OH)S^Z+\L\PQ\U%ODD3++"V[+M]&$=,'T2S[
M&IVK_KR33WQC,%:H\(VH('>A"E20NU %*LA=J (5Y"Y4@0IR%ZI !;D+5:!"
M9RAD.!P9]L_;O)T#]T"A-/KJ^"O.Y?X$PYU/8 -DN3&T; ]'+0Y*/4@6ROT2
M>WS'N'H.@AUHNT)9H:Q05BA;4<K>; L]M.Z]>U++_@4EW\(*^2;[KBC;U^
MJBWF*"C'EU]%YFH@[(3J0G6ANE"](E07<\<V=U1F@(*D.NO/3A(M@YFC\Y0J
M8P2_\5:^7(&#";X'IOM=!..OG+\CS"#,P'G;P@O""\@+OT3QW ^$'0YJ*M68
M'YYYJ3*@=2X]J8XB=]S&9GKHQC(W;EKGKSXYW"UX\ W?(O_U[H*P<HUUBMBO
M$%8(*X05PC:=L&2$U(2R58\W72R\J]!Y]/\"+UIDWF/G[UG=S>0& ,7WTT5U
MZ'8&!VRU_.V)G!6?2I\;M0;P6ZPM-CT#,%%.ES]O:1:B:LWA:=481"&L)/*B
MDD0^>-?EYI/Y&T>2ODAG[+(Z+D^7J2.^\<TI>92&]8-[3 <:(=!S1^UAPWCA
M8,9/MV+&CW!<13E.I$^9%S9F/0N!ZX7;[&4P;<[CJSJ(\R#F4<-W6$>/;31P
MVZ-!G:G<6"M'>$DD1HV-E8:3KGJX33Q=.!V:AX-SO06Z$=NZ[L[3?H&%D=ON
M'C:R\/"\T%BC1CBNHAPGTD>@F^.#;M!F.BV/C!3LYOC,^8IY8ON%$#KNZ;A7
M9RHWULP17A*)46-KI>&DJQYV<^WTR0KI"W CEG7]7:>]5,[8[8Z:YD4WUJ 1
MAJLFPXGL$=CF^&";:Z='YM) 0)MCMN,KYH+MI82Z;;?;.6S>I]@XPDLUY:4C
MEQ@"VM07M/DM6^I*J:&@-F)8U]]SVB]0T.VXIX-.PYCA8#9-KV(VC;!<55E.
MY(\@-\>&W+R)/OFKB1\[PP/830TG9_,M^HHY8_NYW%UWV![5F<H"WP@OB<2H
MGL'2<-)5#;[!(%)G1&;(2. ;L:[K[S[M5Z,[<KOCTX;Q@J WPG$B?1ID"QT?
M@>L$W@P.8#4UG)S-M^<KYHKM%T@8N^W.N,Y4%O!&>$DD1O4,EH:3KI+@#:<
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
MZ<SQ45V<>R'S<9*Y;AB.E=XJ$(Z8S<?B0QVZHK=:C"!@2]6T6K7X0YA!F$'
MEILR?"5;IM%6>A.=L=.A9,L<']7%!1<R'R>9:X>T%-)QNP*VB-E\)#[4N"]@
MB_"&^-?"#,(, K:4,X?O9@G5G);--].;Z(V=]KM-(;% +>*#"YF%S,V"6O*D
M%L%9Q&(^%O=I='K8&6[58@3!6:JFU:K%'\(,P@R"L]R4U")(2Z.M]"8Z8Z=C
M26HY/JJ+"RYD/DXRUPYI*22U]&H-MIR%LQB^^>A5YH?.^<+/PLO'SI]1>"D&
M\E%[2\-.TWJ]5,,L$=ZH.F\((Z1/I5-N\V&2L^PR2U)GA$9,IR\H29,M["8Z
M4N,#=Z,[2G-$J"X7NZY61<U)5S?4HQ!6N:/!T#R#\"BMX/J[.7M.,NZ.^@UF
M!4%#A#M$4 @><MQX2"&JTQD((-)DX[MF?M.>[=T:XQH+('*,5#]"$@L@4E]
MQ*KGO:.YT#Q[\"B-X/I[.?NEIQZXNWVU&$' $.$-$1("A1PU%&)*B04':;;-
M73-W:4] ?MQMC$\L2,AQTOT(B2Q82'VQD&)RB* A8@<WP-'94^NT>TWV>04/
M$>X002&(R)$C(H7DD*& (DTVOFOF-^VIB 8CZ=\J=*\UW8^0R **U!<4L1-$
M[F8R-,\F/$I#N/Z>SEXZI^NV!YT&LX) (L(=(B@$$CER2"1/$A$\I-%V=\U<
MICVU4+<[;@J1!0\Y3KH?(9$%#ZDO'E),$A%$1.S@!C@Z>VJ=?J?)/J\@(L(=
M(B@$$3ER1*20)#(24*3)QG?-_*8]%=%@V)AD 0%%CI/N1TAD 47J"XK822)W
M,QF:9Q,>I2%<?T]GS\3$TW:3G5Z!1(0[1% ()'+DD$B>)")X2*/M[IJY3/MV
ME.@T)EE \)#CI/L1$EGPD/KB(<4D$4%$Q YN@*.SI]89#4<-9@5!1(0[1% (
M(G+DB$@A260LH$B3C>^:^4W[.L?MQB0+""ARG'0_0B(+*%)?4,1.$OG_[+UY
M<]O(M3?\_ZVZWP'EN7/+?EZ(PT6B2#N9*GF9B2?>8CF9-\\_J2;9%#$& 0:+
M9.73/V?I!AH@2%$290%@9Y$E$DMWGZ5_Y_19[@<9VH<)#Q((-]_2V34SXF2_
MCOAZL8)UB5CNL(K"ND0.W"62!XF4P<U/B9CX$OZ=>9<__PE^Z,%-?2DBI/A"
M/?F(J?]\@,]44^]V?WR0&4UED,A(3ZE_G,]&S:C7527P:=CT\[__RQQ^3I&C
M:>B'T?,?NO2?%\:\%A(7[GF?2'0ACR:1%%^/Q!Q>_5SX5^(Z5O,<C3K]8Z!R
M&,W@JZX>%ZZ$<](9C7YT\E]Q/=86<RF^'1E+IACBR)?SY#G?I3\B6NK/PMA+
MO! (+'V1>)<2GUUX*M$%=K6'(4J_(%RT^@-C!Q&%%^1T?.(L(CG_\Y,?OGQ\
M51)(OA)_!QF*EL+GUUTQ(=1'3W[^@CSIA'/G%7P+K!!GTBI^-LB^B5N+:UVU
MB,3T&:L069%-?+&*Y7/]B[D4($^:7?#Y4QZ7E@RBHTB34'_ 5*1/"K0VM(&Z
M9IUNUD/9*DNX84Z,G2O,#=M"9.NA/$RZ'R"1K8>RN1[*8MB6]5%:R[0%KH==
M=YWQ?G>=>K&"]5%:[K"*POHH#]Q'60C;&MNPK3:#[X;933N&[PS[^^U$>)"8
MQ-+="G=SH47#2=<TIX@9MG4_R- ^3'B00+CYELZ.>\Y@U.;J+=8E8KG#*@KK
M$CEPET@>MF7](:W&W0TSF7;<A8Y'K0D6L/Z0PZ3[ 1+9^D.:ZP\I!HE8CXC%
MP2TP=':U>8=MMGFM1\1RAU44UB-RX!X1,TBDW[5.D3:#[X;93;O6>!FU)EC
M.D6LO6Q)UQ+2-<W5881^W!,(M _I'22\;;[]LB.".!FUN4RM=718Z]82V!*X
ME>Z++*##^B[:C:8;9@CMA#S&W=:T[+&>"VO^6M*UA'1-\UP4@C2L[\)BVS88
M+SLAB)-1FZO)6L^%-6PM@2V!6^FY* 1>]*SSHLV NF&VT$[08S@8-XK$&XMA
M6Z+O3O1L7VH0X2V9+9D/SR=B1G/<#UVT#SX>)&9NOE&T6_7*KMOM=EO&"VGQ
MJ73=:><$OO6]0!ZI/@K4[P![5^!M%<Z3)S\_'3Z#E4E7UL]2\\WR\5G.JA_+
M#-9_LYD;SN4JD4L\=>KW;?Q)^_%_&\V\X=AFSAP>U:UQ;\E\F&1NF@_'B&ZU
M+AP+FP_%AMIW0F^]&,$Z6^JVJ]6+/RPS6&:PSI9M ;XV6*;5*+V-QMAXV*Q@
MF5KBE\91W9K@ELR'2>;&>5H*T;A]ZVRQL/E ;*C1L76V6-ZP]K5E!LL,WX$9
M&N!L,2.'[X>$6D[+YL/T-EICX^-^6TAL72W6!K=DMF1NEZLE#VJQ?A:+F _%
M?#H=[[>%6[T8P?I9ZK:KU8L_+#-89K!!+=N"6JRGI=4HO8W&V'AD@UH.C^K6
M!+=D/DPR-\[34@AJ&33:V?).K)PO(G'.HF211L[O87!AH?%!VTDG)_M%'_5B
M!.M0L;QAE<0V1K E<MON('DOHNG"&2%ZZ8VM>Z3-T+J-%E3/'?9M?15+]T;3
M_0");#L!-=?E8<2NWA,RM \1'B0,;KZ=L^.>,QCU6LP*UAUBN<,J"NL0.6R'
M2!XZ:_TA[<;=#3.9=MR%CD?[C8$]2$!BZ6Z%N[FXHN&D:YH_I!!C:CTB%@>W
MP=#9U>8=MMGFM1X1RQU645B/R(%[1 HAKK8%3ZO!=\/LIATWHGU7NS](3%(G
MNEM[V9*N!:1KFJO#+%MV/R#0/J1WD/"V^?;+C@CB9'3:8E:PC@YKW5H"6P*W
MTGV1UT*SOHM6H^F&&4*[U?_HCMI"8NNYL.:O)5U+2-<TST6Q$)CU75ALVP+C
M9;<Z#:/](HAZ,8+U7%C#UA+8$KB5GHM"X(7MR-MJ0-TP6V@GZ#$<V.*EAT=U
M6]72DODPR=PTIX@9SG$_>-$^_'B0H+GY5M%.JJO?=;O=;LMX(2T^E:X[[9S
MM[X7R*.%Q*6#.[L_O@#X0K=5H)HG/S\=/H.525>U 4!MX#C;<,0R@V6&0W/@
MG,M5(I=X[-3OVP"4]N/_-IIYP[%-G3D\JEOCWI+Y,,G<-!^.$=YJ73@6-A^*
M#;7OC-YZ,8)UMM1M5ZL7?UAFL,Q@G2W;(GQMM$RK47H;C;'QT$;+'![5K0EN
MR7R89&Z<IZ40CMNWSA8+FP_$AAH=6V>+Y0UK7UMFL,Q@G2WER.'[(:&&T[+]
M,+V-UMCXN-\6$EM7B[7!+9DMF=OE:LF#6JR?Q2+F0S&?3L?[[>%6+T:P?I:Z
M[6KUX@_+#)89K)]E6U"+];2T&J6WT1@;CVQ0R^%1W9K@ELR'2>;&>5H*02V#
M1CM;WHDTDH'SJN-\D<N5+Y,PL-#XH.VDMK>@M2X5RQU64=@ZN8?M)+$-B@\(
M8+?1CK(-B@^3[M9^MF0^3#(WS4UB&Q];V-PRN\@V/K8.E!IN;/7B#\L,EAFL
MN\4V5#Y,E-Y&8\PV5#Y$JEL3W)+Y,,G<-$^+;=1L,?-A&E"V4;/E#6M<6V:P
MS& ]+<K38AM 'PY0;Z,]9AM 'R+5K15NR7R89&Z:L\4V@+:@^1 M*-L VC:
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
M2YFB"PU0_04.=0+W3F"A5'6*RN=,GSD75&74N4@%[%N4E ;FFEP(?UYQ"U<
MGE(AQV+C*T1<V=OX QW*H1PBLV<PPRBYH.+6B^L5[O. >^ /->0"I(39"_)=
MTNO0 5P KSQ7A;(HF;5BM"[VOF.3*4XG,9ZM!60?3]D@<(WID E<F$#I8<T)
M^?P;MXI@3%F+;=N00-W<@Y.2\VZ_QAZ+:69?6<Q03&ACYF.5B.M)_$0GI;"_
M>E.$7?2%@YE!,9Z:TM;L8/*_5&Y$?&+B@+;"0T]D]X2F7&G+JOCIJ8C1[8ZQ
MJ(BS Q9ZZB=RS1C4Z!D"\@*B@.H@ OFY!JT8[Q)]T1B&8OA,,SV[B"3W2:D%
M8Q72ADLGYEAS-A^XR ;.UJDT^+"B-V==IG66'[]LF4SU)&C+4M8POFSN@8A@
M%<,(X._?LQ.TRN>2X8:HFC$U;W:%:UGGK]?)4-U"R:DVN<;MA0XV5?R\\N+@
ME-2#C18>:P_#)D0;>I3FXZ(6A\8<*M\_Z#HSP)8Z#^+&X:3U88&W<Z3%K>F@
MO1#:>YE;U7PJ&9+?765+J,B'"A+D+X[+*XUO(!^S/IZ$C1G1((63%>QX9%+X
MLM='C),LXCR2BJ,IJ"1ZD$2AGSM#4ZJ#!9+\^?SO,>=P*/]=16?-)< RCQO/
M9[H8E+LZ_35INRY,!.(X BB''_CN3</>_=%D2!:.94E'J8G=9]0OL@.FBM6@
M T$O\?F5L-M(_!JIEP"3R82;WF7'P;AAY6=NN\\NG )RBA6ZF^XX&J2S%Z2R
M/#)L60H;K(]A6I1(KCOV$1^KC@#4[\3[!H 1AO]!4V4>^GZ8U27?;>QYLV85
M1*3'M>;&7&CO.]7/4A4VL4A;H)RT01@<J3I8##KQ@SB$O11VU,R/PNX$1LL&
M*L]]6YQ9H;U2'[2GRE-!72EVV\"),+QXFI=EI\@2^O19[K9<IP.>;JA^B"1)
M:5[R",&Q!YP888J_BD11D4JXZ!,)BBE040*_"<!'0*.>Z_2[W5,^'N#&(<IN
MV4(  TA,P#PBI^"WJ91T>Z]O5>X]5>YM]2R:4=]-S]9*&0)-_'2YPM0FK):"
MWGQL9^!K*(*?A_/G5'?_@12G2_F(^/ \9[.@ I\.U*2 ?9?D8-;&21AG09UY
MA2C2HEIK+E,_\5:^Q[(NG'EDQLV -D'7*,=B9382L(U2K/H($$2%VQFL75D;
M425[<IWL%"^":';VG#B=4A*,0S&8$(5F!==Y>%BNX\US1+,#1A)A*$XLIV 9
MZH:+QH%C"-H]"G1-6H#;J.ZQ@Y<^?G"-&E4N]\>(8_QX+J:H%#S\'3[&)APQ
M!MOCV1"YB::P,& _9K48HZ\RH=Y@>%AH1)::+AEDB%F:Z"*,694@]29RH!C!
MDBO#-U;L?:/DRU@^+\C6BZ-W<3?Q_<*^"%L;D)3?75RX++@'@3RM&I#.U25C
M. X:EH >G'7Q4?M2&>VS98Z[ZP6[A<B9"PN-(J](5#B*7O)PV?FE'DK]?%EW
M8@@AR76.]4K"7!R!2RI"L1=Z*M( /2^20XXO%8O13C## T ,V<X3CS*JDHM*
M4=M$I* O?>^K5.&5(N+(HZS*3B$@2,=K%79V]<P7I&S4,!7XT:WC^*"9AE@(
MU'3SN O-P6[!9Z./4M7IJ ;/+B=K:4P41B\R=:8&H-!1_MX)BN&< 8ZI*(M/
M7>1#UA[&4J/G./<U*L^LBJCG,04Q%A@U/HY5D&DNQ&*"CEL^>!04O9@52\]6
MG?#<'"-*XD*LVA4%;U^&_J4ZY55G2"E=!JL>DYKBB 6PQQ5NFOK"6\;,]BBB
MN@L;5P+.';B1.GOBZ'C"&=2-*L3]@CW-'"?+3:M!-V2QZF9@M[SD-K<1[T,1
MBK#BN20,OV)M@%S<BCM7!D]?9;0U<&J6J,+)%\Q&OHK<U7^!*A,1 4WT,^L5
M57'N?\!+XYFG0K<H^.%*5L/4*?6E*#QC;@:]:_=P=M,UPR^.0L@BZM3%G(Z
M@&O)R /P0:_[(\7')RAFL&9H&U"TDUFL5BMK#L76S!E[L!.** _JR,P-!:TV
M@._ZG-]_W-P O!1@;\:65[NHBM&I9'EL\5HUQRVJPP[JYA0UR%CI%<U"6JK<
MB)4^>;< #EC?D7_P*YZJ7Q?:[Z$J5192E2_=Q1L(6 #<CF!4J!)4!5W^T[G
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
M?7CI&A<Z7TH-KN;5;6NQ/;9N?HA/-WL<)F$"U^8]S';M;ZM>G@525?D9RW-
ME^*)\T;$B7/2!Q$^3R(I$Y<(],\P@LL^_-,!ACPY:6B_2:.#^H<PD'H]8R/(
MC-NYS;SY7$;HQE>^?3IJ5=I&-4$S;Q)9#SIL'\R_>^BZ!:+XBI^0HK\ BP)Y
MCGZAIN>H[Z9IA.\!?8H-T\25X$Z?"7:6P]\S=4NG"_E?Q+\A\D*01*"V5!.[
M@ <W#:.5ZA'M\N?7V%<9Y"1P+K#=1\ =RB/])=\6B"3%LQ#XW)<7\(LZC8NQ
MK1L?Q47.'Z%'XT4E?[5Y$JJ'&S68NY#T.IK74ER#D,%53IQ.8OGO%+_AILO
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
M9#QJ^0H#E9%I%4T6\B3$@<5<KWL;_V(AIIC0-@VW8(;E[ :T1AS=+J9X#)#
M,-8AXSG'HW&/%M> ZE&0. U?Q[AJ/G)T1GBN#+]%1-ELT3+:."KN<SZA ?]C
M,F 8>FRF0P<SF$#M81T]?G]ESW'@=[E;A^_Y=_58 B@C5AW\O3%]=Q0[0X;7
MKG1F0:2"3XIHF:SR\0"*1W'!@[_CE@0I?J$9S[AAB1C?9"BCX3U.IE7ZB_[P
MZCO(K[HA/E!+!C"M%XX!=G$!6O"74?8E';8MH;$-U:#G4S KX?^'.@?YV#'_
M[2^SH?WC-\WC+D6Y2\8R+AHB3.$57/^S=!M.SP"MX_LRF;JQ[AS[T+4,]__^
MGY?/7[Q\51]9^*'FR?[:0:]IN?=$IL"6*=!X&8N7GG,5-^(E7,T:J.0=IRUP
M%G_!'?@+[>)&H#8"U10H#-00YH:+=CV01L4H^]Y#:[D"W="P3)*[R""'AP1R
M>X-9'.V]?+E/%=]_]FJAT?&35^4=TD",H]_29#R[_3F+\%/F#1O_<V;+L?TL
MQXBCA$TFZ"73!>_,U++M -6_VE]P$S+F<):":.Q@.*[2>XRU;_3U1E\_S@ @
M(G6B#< ZGCGQH7=&A'8W(M1U$=+<##$#<A.')/]<SJ>S%8+4'B-_+MM L>/.
M>F@/^EO1 %E7?),T]W'0T/G&&=L<)'>04*B(,1[KR()F4$YFB/T <_>$17#-
M3HU44>G:F'E=B'&!F$/@.]78Y7+I)5XL,<RH+Y0D)(7X/?L'MER5TK1)FFIS
M.1NC-%$*Q 3 BXFL0?@47W7H$MG(?E=EW\DPDG-L1&8C,H\0&226O,DKIK)R
MOP4'2;AU,5V' #QVLD1U%M%\(V<;.7N,G!$_T:2XTZ"[7)OHB6,#[2'33(74
MNYC[LW?E*_A@AZ1NXU5U7NKZV LFK<*DS[3FCS!EV0"T'.(/.NIN?<>DY@D7
M>'()Q"5!_SJ6S%2BJZHST(:KD)MV6B)(AV&3:NVK02__%(KF*0%VD0A+2:XR
MRM[';=\)2V]Q>Q"I/)/>?-0^'@GM'-^5(]D"-=I.N[(3+<^/MI"T5$@%3ZZ0
M\FPE3=)0<L[])XF&RPT*I\<TV?AM;+M4Y*28&:3(>>5^.L[2.\?GC2B-=C ^
MM84GH"(O>T*-V&)I!-='+E[MXH3#0"#I.$NH_DQ;K-^F"U$#V#?VE0,4$75/
M@KW>\ %WR7B>/HA.KZH4VZW0RVF2?7RV2?Z1.KFY04I$IC6IC<C7$8A'J<P\
MF";$IL]CZI:U$_7@'T8X0L$@ B#Z.4K_SOS4#+Y*Y;[$1JB9 ].ZK;'BLD0
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
MNMK(&M=WI8_8J]:%:M>WC<G"^V;6N? <:BY\0?&)*<9LU-YPRZ-AAMIWD8Y
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
M;W2]6R]$+IY ."PL&%]#MIK7^EMZ(UJAP1>(83?T=RQ5FAC'KR_7<9DIQYL
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
M1$K\9NL2[4"$\@WS.AJ<8GF8,(TM2- 1&X(4C$JR4KD)[I(QAYVY6ED<><I
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
MVVB[&L-#ND7OIKR=8^R&<=S0\2Y;SG]!GJNVH]^)WLQ+G'4L\.C[U,4M*)6
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
MI'"%NYWA_&&<E,J"Y$$N..UNJ\"M%0'9B4[U\W)KVX^+\V9=7F.GA]=NX"'
MQ)=]+O$G2_5M9\Y6SQ;6^Y)PRW]"ZFJY<VY]<^.7+Z<',1TUV[OA-6/WL\)=
M&.;HQ-HB^T8[F=8^(%8@D\*[O+75YRTH( 7IUM1[W(KI7E<SLX/0P-FU702^
M/1V,;X]M?D%M+VM/-PJ,ZI]M5P41>CU\YQI2\7DEFR0FUL2%-D0V;29J?179
MSW[X,CAONPQLLS4OA,'>L5M'MK&5(\]' _Y?CNJCYG7Z??:M'^1U[5<#T>?Y
MR(W[?FBJM<I51G_6&W]%%RPRG(BFC]MAW2?AEVDQ2VKLNK21BFE?SP.L'?,J
M#II5N3,MQ]B;>6[7K7-LETOMKY#<?IV'R)%M^1B>W$@_]HT*0&\+:YBU7;9,
M6#((\-OAR7_PU(-+#!_;7_OLFUSMSB/H 5QJIE'>]O@BM&8)VG=20 ]7?#<U
MU .9@S<N(;"Z/*ZC$Z#/#S$01<JGEJJK_Q4)TGXA(PA_:OR9\TI5,<Z&U)/-
M>9S8$RDARN3>#6>3[)H%]6==N&G>2WME/B&;4_#P*?AU<PJ6G((K!^"&"^CL
M"][1&_'_9Q/_WS;BO^P2* 9SJ3S.(^S2.4X6713_H(, N.]WV+!ZO"#$IX%T
M7IV=D$''Z<RR5J-1:3=T]L_?;.]%S]Y@;.#]W"?/#PX.MO<.CO<.#[?0@<F0
M)=B]"+Y_,9@5/M-^0*GZY[$DC-9ZZ\&2M^[O'A_O'[>_-< '',;R]MV]YT\4
MG/1R T[:@),Z!TYZE!:J@4C)"Z?B[VQ0@TES-,$@#.M]SC6JK<45O<',(EWL
M[V/UW!LE3/S.JOV-@8K<B:XDF,L=YY8]T17!)49_[>]NO]%PUX@(A&%9;VU'
MZI0A_<1',,HJ> E7:%'[4/]OI#,@EYAI0/C[(9!I[XB 3'M8(CT5T,O*:2+
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
MK&=H+DPPUIPI(Q;W[15$(GK[%!N_8J8&:8( UBJ5J./%4PKX'2/]"VJ>3<T
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
MI+>;MHQS-1@H'%C.JC)/*E95'"<!5</ABZD7848M^IXF*_[A_@;0L0%T/"5
M1[/(T[JV 0WTX>ZANIQ72=G'0O;MBR_C=$'^"_QE?W=W7QPR08NQ9X44-P4X
M-C>)*49_F%J]X1'CU5(1V&Q9P&!][;NLYH>9=ER'5&=2L]5;]QVV\1<W7!?W
MIDPFZ7U1?HZ>[>_N'6PQM;B;+\UK-F.]>(5V>T%>]470F5#6]QK._!".NED-
MC1W0M9E5LACL")HU"B,&CUP4=+B][[]DB7XV$-Z$KD[3<8%K&ET7X*;@?V[!
MRJCFT0DR1I._+WSX/;;OD$F>A?GMVP\QEVH-4[3=<.V8;IZ"*$+$;\S"459.
M,%-0.*)LZ3OX@/VI)4340*$];;K/$3+BV]>'MXKX-XOW=]V[[^BWJW<^0CBY
MVX]+OQ_A-N(,W\!^=,)#MP61;%9=!?S\XEF^+HBI"S;%L?KC5:(4(5=8*L2B
M>9X/?ECJB280I)Z6W0?M-,?AMEU,LUQ ;H^(JG0HY?B[P/CMJ5O_D#7V+\*M
M8T";A<X_P\=*9M/4BNSOO=I:=E!CPS"ZYET424(T^O/NI.C9R<75Q1:19C#V
MD.0AME4QIJL*!2.PPL*Y@M)&&OOWFI#S-RJY'[]V..ONE&$[(3;W1]P6<<!=
MH5KB!,-#LJVB676WC(:]H-HN..ZBNYY]S.F04,/%:BMZ]N&D=_%Z*U[/C9?=
MDC#[&E=B6%P5*=,(;W_$+^I-RVP,JHJ^<X#L;019Y233/ ?G=<QF0.$U%0?:
M?G2DX0=JW==(\4N+*/JW4RK5T!BWA;%:PM8V2OU5:D!$BA@GG%6\-+'XB/AW
MIK:T9';P0-',\+7?-=? P&>W,ARKSBIAV2FIRBH/I;BYS.LOF5.01$B$*H.X
M,3!$E"RQ?:UU[+0):0 NF*VU'R,F)&_*T3=$VVOTZ<0W*V_35%06,$J'&*J-
M*N\MCI-[;U69-ML^C=?287Z=1E[R2)I3I[2[<(6+RT';M;YZI]E$UZ3T_%]E
MJUR.DHI[*>? :7I>7'H3)AZY%UEK>#GI([FZ=K+_FO.+7J=IO;;,1N CHK.7
M@\DC8RW Z2='EO&XH\Z*PV6,7&#4Q*WOT^0S*9'T"QP$+(Q+*Z> -!8K#^!,
M%5]:7']@E=M25=3W+G[JPQU<*VEV!Q]&B3DN?3%1U$1)NL#ZI*/J<RBBPP99
M.9A/<)4&0G_?3\=9>I?Z@ &OL205*FH=Y3:^[RX?8_ ]D8OS%-.7G@_@K8_;
ML^?Y9#P8$Z]KY%_6/W<_-[6Z-%CB6 2F\Q)K2[\IA8<,Q=^P0H])SNYM19W(
MRZKJ\%U)90%>@2.SM7ISOTM.]@>F89<G7<.I?GT.=EG&M;&6E( ]>& ]?VCN
MU0SGJ[.O/]H-^F;0[)/+ !YL,H";#.!790#!K-N6K=_;VSF:?L>NCQO<P]/"
M/:S7,=5L,M:/B.R@G$GKX?! 6^N:CW/S<,Y*?:M*(HOA\F:LQ=0^PNC[6OM2
M<RC,HU%*D+9+[P#]]S9V<_V%%=\]S/]!G>/^GO2K8CR?I:^TH>F/N!*67VOF
M@_#'1UUR\K^NJ^GJ)KCKKOL/R?7M>H_K+]5?HF_+P]::N3Z-:5^A.KA-LC@Z
MN06%\23G0-%SP?!*"/V'-M;M2,/.[\EPZB^%>OC@I]?Y!'!X AAH;\/A#RGR
MT1 @WM#FLGP< H5C4%IY+M1=^(AQ@IT0,^3=Y[R1T*]YUD;A::0KF;U6<<@6
MVDF .*IJ7X@?-\  A9-:2^3>Q&GCU74\8/Y('P59IOJ$UZWJP6&\ >.4S_#^
M[O:;3OEN4O!X?+R;# >CW4^#)'GQZ7!TM/OI^,7NX-/NT='@^>'+P?.]@^-F
MP>/S7N_CZ?GUR<6[=^?7UV=G;\[?]]Z?G/?>GOV_#V>7UY^.]O5+'2E[?-Y2
M%_YU=8\T\<C-/')3CWCN'= LU'95$2T^2(*R3L;LA$+Y).QODVET#?_ME;-;
M^-;O!0BX)F8I8 VK(^ (#CP/'"K!'T",]90S+?!.@E(44RS^O(?CJ1V)Z"S!
M4#D'3":49O:!LMH;,SL<F\#2.;8/ 1_U/JF&R=^C=\11-QTG2'A-O+\=/)+#
M-!T-GP]>?CIZ,=C[=/C_L_>>NXTK7=KH_P.<>R!ZYINO^X#R9@[=[VQ @0I6
MSK;_$!1)250@)9)*OOI35:2";5H.+=D*A1GLMVU35(7UK%CU+)'A5)D3>56C
M=9YE14KKTA%WD(5$LIQ2RFFED<TEZRK#RAQW6!*:OP=AQ'7XSUX^3BF0UR*8
M[&E#3C.<('T*)-D(^"J!L=#7W6@1*:FWOD&X^2BYMMWP^ V(5YV5&>:V@>E"
M7*G;"X;KQL$HVQE<$$3O#B]6!OQD&B)\75,U1_L0Y.L.1/"''6KF9W_Q3;UO
M.R.GM]K^91Y08)JPW&6'>6%$5A,4QL#<X(O@J<UU8=.SP'YI[J9AE1<2T*)2
M&'(J0"BY/=X9+.>&ZG3=MCDLG2_,#@@[09"_6-SHX5$P1/I] U1*\$9@O>'M
M4%B:1'V6=^HK\/(E))I%HT0N&2RE J? [<&F*N#+)IMFRZ^.!&7"@]U>WWZ%
M39$<%_5F,+056!28.80.RKI9+G(^@J_=9(X7+M2 P1U7TSM2_Y:_I.XQ*4&0
MNJ9J:"9L2\_HJF;(LDJ),M^ENI3(<IT(K96LU'+ ?%;BA7@R66Z6&O%2(ZT@
MSJFZ4FOEDLJ)Z;#DH7389N+$=N8$G#IB5 @G?PJZK8&ZT\&+R,C]#;)?9E 0
M# ,5K=>#U138V1BJJ9^H_9<S>MK.[1?TD^%]Z9Z#3EYN[WUW3'C+.4C>V6'1
M)>C@O=5L71.=!$''30(^0H &VUC[WW][VAS".*QJ(8\F##F0"X+4\?I<W#IS
M"98KN/R--(EA&4'>5%OMJ#BT&*'*7;_I91BQ\ZY@)4X*WH?*=H9U!Y3LU&:^
ML_Y%D.Q$OSE^0C2H1H5O$5E4,/FVK&A8&D-?_")!>HZ)T3>7O0_,<0R\0(>5
M'+A<X329&Y;#&W$"&T'?<!@1I[ 1,JH=XXWX]HW JNE$-@*KIA/9"*":&+P1
M7UE._IC7^G6SECXPZZ,JX;^>\HN8=QW8[PP=Q#IP/O_[@__QV6FP-Z)P]'GL
MXPI_*]&1=L)KKB Z#?YQ#QFE@W\J\#+8YGPUEMUKE-TP 1 J87JR)-#%0F)]
M4/*$97M]BS%8'I8FL2B?B2A'95RCA)OYK'#3U(W(G+5P0V;_I_*,=SEJE\]]
MDYE#**WM,???_Z7KIMGM?JT>BZ.Z/DR._\>;35XJ-!&=KX9<YILCU]"C7Y\9
MC3BQ]^/?G_0OH.AFD\,AX+M7Z5,7,@X08G_WO/_[ #,)TF??,),=>*.BQ6[!
MD7UR&>7)]NY.9.*:*"@&SQ T*4@4"=32H8WX=V\R%NZ_3<!<LG"?@2\>V+ U
ME]Z!;1ES:%MV%=@^1R!_P=X<&+42*Y 439]15(DE]&BY_M.44(H'EH4_D%7Y
M;H^AH2T/;5Y8'"IA;_+20J60)! '2EBT+RY0HD529*5H@[:^!;I3(O_\V&^V
M^[#.D.[\9FU5=KD0;FC9'$<4[9]6XM_#L;%S6.#EZ]!7WPCFVC@S_ VUX=:P
M'=O<+#&DC7$(BJ#^_-B<3<^.AC3+L!)+B^N;,[ME^ \<<?T[V5ZOJ?!R3=$8
M8B-MY<S\WUUK:1I1![5W5G7-*Q*(T5.WYJ^&^AQDFF>BMI*O*PSI!8Y0-O8I
M=I\![44IZ[/#W3EKOX\=)+PU]FK#VR-__3;EO;ZC-C8U=$_GQ>%YH.!'9D":
M^?:Q]Z?'UC=GS->'U<,+J<%%NLUEE3?(8+]KC6XV"NZ%<L,(/3A"F1-%Z,O$
MVAHQK@GODJ&;9/MAL\-_N=/O8H.?UV$3W,A[>CU]_?&0G2:\J;:FC=M>4W4@
M0^S< JOR7IQMJ%GAQ9%UFT1TYW:C+" W*.SZ'G+=O:40(F[0P*\#!M%=!6^%
M?&V0!R=L<[FANED/>D.-O@K9RRQ(\3:=:6!L =D=G&(P].".R_/E17SCL!Q-
M$F_NZ(8I5)N D2RM<4"N]]_4#4\ 61O!6:Q5V?H6LA\#/\7&Z"+O^CU.MVNZ
M 9&;TW.U<<CR,P8?1[VD@_$^7XI]<U[/@OG(+%Z,^\4W!O<W/[C^IZ07([S!
M"].+[(GJQ74>:"OS04\<U!,6"=M6'6PU%OB09J![N$#:QAJDB Y:GD))'#F0
ML /]N.7$6C=<1[=M.R:Z=/J&O[%'0*.)YX1@)0/O^QMO-2+6K\TMW@BZ 70?
MV(PA]81(_->^%%P^$';$@I\V2Q]>'C[(C<3M_>ZG7T(&/\>>*UX2[?9F*%L-
MO?T58I+57:L#56X'S(@,'P&&;\.]CRC?@!JSK3%8@<V' ZE ).3!:FP:502:
M<=NN8@+9TM;V$@F6N<N*N64T#]DOUY>;U[L1LK?8O35)"V*6>W$G\Z1N29X=
M$R:'F3 Q$^9G>^&%:16*!0:)UVA5,CJLRG$ZH\JL**I:1^(Z';9+:9TU \GN
ME?^4<J<4*XU<N51/U\K%1E8IY.J-7"E3;\1+J7@M53^Q*_^I0UWYWTZ<@#,G
MP-2)<.[$9O)$NEPCGK$,'8L&X%7K6'+\G?8-)Z5J0^%C#%:F3(E1N8ZHJUQ7
MZP"YXWF5T21>8XV.Q@ELA/ IE68MF8W7E7HYK52;N<9]74DV:[E&3JDG[L&&
MY$Y,^)2#\4VL)XZ(<]#4B>W<B<0]$L=<O=Y4:HB"(IY.YPJY>$-)$>O/UKY!
M$.TCB=_;_((?O-EU6O@P.$YF6)X!0-%,H)QE4^W0;%>5NQ(O&(+!"E(4L5L:
M[',IH^1*-24#-%,M7FK4DTJMD4O? RT%F4I.#!_I@W%*H8D3N1*QG7I(P%,G
MMDNPP]:"E?)SH=-9QNQR JUV#;:C<I0,/ *A(ZBZ(? 4WQ%$3HL2NDRR7*N4
M:T#59,HMI08)]115I&2:DD],VC*'8S +9TQLIWPYNO4O33MM&"S+L*HIT(+*
M"5U*E70*>)BBKILZU=487H^0HFPQ5U+J\;32N$_EZLE"N=ZL*:HLT2Q[8E*4
M/904P1D3P92)[9PO1R_M_]Z_H3WE95WGA:[*4KP,%)6FJ1W6H%2F0W5-69(U
MDXUB*\MM%QD8">"M X, W'4EERG= D>JGCH5[Y$ 8_V<2+T4S>V<B<VDB7#6
M1#CM9!#5-++Q!E&I*2VEU "6M%Y1PC]\-XW9L_7+V4116X4)_H49)%$#'F /
MQ+B(E=C;[8>N)%%A9J<E72P'OR?(X^5@\U$WX!%$SV?3R7A\ES0-=7,9A9W/
M4+(QBBJ8@)2HFXK'+J%R="-.>J?MFN.2J!G8&UVRMPT1@O: L+_;+.B,XSN$
M90=- &'#1GL..ZBA EN8Q#.#/CU!<2=LN+HM@(53"0@;/S@)>_M;FE_W&-WM
M86B#.>AKTEHKX&U&;0=-8S,ZU*DHZ#*QG@=,@KXR$?3FV)OKY1%]4S/" EA0
M8H.=HT;PS8A<'GU'%O+FYAU(0=W8CAJV?)UK ;$;K/[ IAJ6,]NR\(94FN%2
M6CNK$*Q+&BTBZLH)ZY%(5 T'U0LAYV[0,P,V<]R*XL>E=$- B0H!K_-8$P%?
M[W<R$<8WU,"PJAK\^_EPR37AWM!V%B/3@&R=/ZU?D-:[!TE';)A2AA1_8%E0
MRTFP[*A1M!9(?;BKSL)&1'YA_3"ZFS1\,W@U'-#K[T:O"W<MS'B'1.:C0,C6
ME6'$<PY$=3.BB"]#$['-5PB3(QAH7VF#'79DW6E_N!ERT,P4<K@&!+";9M0S
M&T"%J  DH)()FEC0_NNG-0]6 3&EVSZ U[;7).*P'P5K""=N@<T*J^=1(PM7
M"CX)F1]#PGJ(OK?&\C6N[ N3^3''0V,IJBOHNDI+!@_"<KJK=KHF!?P0X/'J
MX.,BJQ_3A]AI7OH>)^+V[WU4X ;D4DJ-  $U\APJY4(NF<,IS7.N'O&X>H2K
M1X?KHQ;J1MGL,EU6,U1>UVB5HSNZ*O,4T)*\*' ,S7"Z03T)RBKQ6B.7RZF2
M(,F\>%"UN8^GX2/!&!PB <:XX6W8"2?%3>^(>B,.?@&"ICHP":+,'78N?YVP
M$ ^5K]@VR]C.^*OMP/K@@3E"+6EV.=\C3^E-9JX'/!;D:^]TLY!.RH*$"!([
M "\RK,B*M*ER;(=6.VQ'4T6*,CL\+7-4-R)S)D7)(2O#_.MIR:%T27+8Z)OO
M."/ZPDL.IHU<97@89WN$T@^/S1C/XJ+@ T%P=(HR:_"B1-$\HU)"5U0YD1)4
M6988E:?H+MW19$T7Q9<R*RMWV5PB!Q4FQ8H<<UJ"*A_NQ$ PR^M@9!?.AO7X
MXW2JX=TZD;_H"<KTC2R?Z0P_>#]<V E+OHU.[/WD8<JR#Y2RC]10QR7^V?]T
M:0832Q]DE-L1\=>6!;6OGVCN5O^<P-*\SC_W\>F' #ACEKD4.B(\61_933GZ
M#+HB'R6>VS92?0(4&"]_Z7+(GSCT(X>!*7U#_W_OOUB]TSKV#37_/4>9@ED=
M] YYA,A_^0:_5DIXMCQ<1.XDYIEZ#'S2U73_MQDHR">W9?YG.G/\/V^.)GCL
MSPL!"G,QNF=-8["F13,LO327M$'?]/WQ >Z2O)G,">\:Z&&Y)+F3?X>)^_A.
M;G[W;]&Y^1>)H,]I@F_#!8/@?*8X/AINKP*:KT&1^3HHUE"I&?@__J:M7QUV
M0 /&E=B%*:R<)X/+BW54?+P W#$8=QAW3W''?!7NGOFS=7AJ)"AUA_7D*&!N
M'ZIM3XA4=C+!]?"2-<VL7[/S&649- \GXCJZO4;++'?Z(/X;3YFY8;&CC('_
MMB_<]_V)]_N??V!37O"--SUG_D_<U?O6W/3^,8V>YOYC:+[V#\V*O"2*_X#@
M@:8I3N!EAJ9X6N:E?]:ZA-KH$O:K=$D.)?-GKDD20<Y>\P*=,O&?G%ZC2*)C
M^@MX>SKJC MTO6'Z/Z'90_AY.+![QQT217,T@N>\P&M]%^R=:<)>JKKC3AQ7
M"\\C@F4$V@AZZ4 -A5D= N#O R<+]YS&HXB?:7@.K.3<$&#I8RQ+4^(O>!L9
MJ#;42!H>$S,"<HEG:@].:Z/ZMF?0X!CB$]<: 3T8G/C[=08NS=]H0^[F _RH
M6!MB;?@1;4AQ(B?(M$A1C"Q2_V@,PU*RP#V:RQBG?EDT$Q\'^@-BOF:B@J41
MQ"M0Q<'3A'.3J(PT^Z671>X<#G2"@]@2U LT_4YE!^!U$&5'"Q]6=DIRJ\T8
M$;U$_'7IRHS!R@PKLZ,H,TKFH1='R0#\LBS_TZ=85I3-Y9Q;?)DF0QH#%CK"
M,],$=/+&0 .LB#BD:D(4)%^KF"CI%<4$3_<'BO=M)74[L\U L5+RQ:LH''UB
M%76LZ)/C>4ZF!/!/3A: BJ+ ST!%T=2"N?&7_E?H*&4\&3DKI(FV.FD=83[U
MKI!'EG)OH#.VL(GJ[)VZBZ9NF+7R<L.WH0S7YC#:1HNE8_2.?F)9-D:S$LUQ
M'U109:!MT5TG%BDIX>*5%(>5%%92Q_2C:)@BHQD.*"F>$@(_2OQJ/^JCN@K>
M0S.7ICX+ D)X\0Q>:7NOQR4>)A1\+>_U$84&(UDZ" KI"U=F$CX9@[79IPZ_
M2%]7<2_ .Z(P/0]6!E77@<:IKPEV+?/EQ::+@BC-8(QBC'[N@-H7'HM)*N6=
MXR\PX(@JL[/4MLZNN1W--KU8>3DR5^L2.P@@F(O',X/QC/'\.3Q_V7&;9!KC
M^7UX9H%]QH#&@/X,H-E3,] R)6!  P.- 8T!_3E GYB%QH#^E^9Q!(WQ_#D\
M\U]HH!W;"]ND?*KG#%$H5"X>R#ATQD!^S\44 -PO,\3U66=]1#H@Y83T0I"Y
M]Z?V"Z)Y6\"R[*"K%WPT;*R4=4:H.11X"+S6AN>M)ZA=W ;:D"4$V.H+AS:%
M3?0I(%O^*+#W;VMZAQ45]=M$HM]UG?'F<(KMO^<^ T,$'_<#@EWSSC=ML+H
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
M^D*OM*1.*INC'MCA+-EJ#!^84JXH@D<C-O9!-A]$W>^Q36'(9V)RHA5K37O
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
MQRQ8 7Q- /,A!6#W'MT>9R<UQ6JG[XQ65:SW1E6@ $"<PI&L()(2OZ_)(%8
M[PE*L (0OG\53D<!'#E<^9 ":)6RCB[*$Y%*RO1@6)MT9RQL> 2C$H%D*)[D
MQ -RI9U(P27C.IY'3%RG:_FXX/+N[.IW0_@$%%GT/G_WPIR.;CMR=(. 6T&X
MC5!F#_WI;=:>=C4J64P*2R=]5TMSD,@ A#.")),RO4^5X9PK5A3'+M-\]\*<
MCJ(X<A2T7U'$]7C:[//U>R6I<J;,9!XX2X.* H0],B63+'TDLLCK5131Q9GO
MQL,)*(KHXLUW+\SI*(HC1TO[%47ZL3>LYR9"O=DV"AV_V\J)Y4(5* H9M8<6
M6))FA?,NVI0G)EQPNT>8RXEI>Z;W^SSK-M_E_USZ)-_B7_CR?@!?,NVK25!>
MAP0?MR4CEN!O=BVO0(*/VYCFF!)\ACGB#6,RXO']\6_=##II E^6,"POZ$L"
MG=VUSX2SR/B,+CZV_T59X!"-<=LH:N[0A,&+$N P(H2[+[5]/L^VE&'RSAR,
M5+\M]P=Q54)G7!B.9+@C]?<^A5S/">6$+WW>^&C^L7.Z'X(]OTRT8G9M66RN
MFJ:>\[@9G6M  FKAQ[^L+)$"O^^P+88]/GZ/C]^?1H;V0["?2OE9(7XK#)JK
MJ76OZ6UOTF,A[.4?__*\1,K,.:=KGX<E&=,V86\=&)9HQMBR86B"R+@.'YB<
M<Q1R!4KH>U.TEQ5?A+ "&B?^!%2OJYVY;JJ+5M$;44F98IE4T<H;JX4J!T$&
M3_(R/D6+,7S:2>K+"A8^CN&%U)";<J6C*9F*7)5+N<?<Y#X., PC!@JX#L?J
M('HE&,9I^HO#\+'/9GP8PQFI8P\J=6VDU!]35OFQF4G7YK"9%'#_68XA:6;?
MK?L+*%343,_47+T?5"K,N3ER)K"?)BY4X(PE+E1\/;]0@$:@P5);++ZNONJK
M.Y=2'CJ,TIX].&Q?4!ZY115VN -Q!,>3M'#$,.*[$7!*!]BO /JX6'%D'J&/
M05^>.,,<E2I9RK1XG[^=U2QOK"/H0\H@B>0H#'U<L, %BS,(6SX*?34V7DS;
M=[,>E8PK][2=D.WB;0]"'U["E4F)V9=X.+>:1=GOFR[A;$Z=6[;NC$V2L,W#
M7<6]= QC7I%S(!:"FNSG>0<P"*R;&R(Y!-50D97,J LS]5A#4^OL,D&-!QZ=
MG^;R"UI"C;=A)80G>>;E::M?.(N*@7])A$)? ?PCAR\?!K[=R!4F5876J1G?
M69C-1M](CWL0^)!*2"0I0<+ QT1"ETTD]!7 /W+P\F'@CZ=SQG]4J[GA;%2-
M67U.5^PD CZ,7EA2HEY&+[_.NN8"WMEP?&VT$\2$U15<7,$4(9A+Z%QBFS5Z
M0_7F12BW0KZ8U1\[=Z8R7IBWM\W,LC"E>VA0P*L19)*3+IA2Z(0*,M^-BN]>
M%\PH].T1T3O4Q<-C_[X<;\7H9MV]3<6LDI^959"Z $&02$NDS!Z13ODJU07F
M%<*\0B<91[U#72PI+Y:/3QR1&L^[[5LAS]3FL.;+P-!)ID22$O?UC3KUR@]X
M9Q _$EW7&:^C)<?&=U)P%O<,RC<7&NT$D"PX7I1&RDSN8^/)H%VGDGR[>M\3
M.\QDN%!I-KC(0I$<>\1KLU>0Q<7 /_WRS87&+7N!7RX.[/0J-O6:X_ZPWE[&
MY*9XAX /(A=:ID@6-X+!Y9L++]]<: 2R%_A:J]#I3\N^.K3<>,9HS>:+&A6'
MP(=79GB!I(1]P#_/\DUP!BTX>4;\#(LWOP['>_K=\SNAQ.VES_O;+M%\\\1/
M(^6([XR<0 GBPB=^S9*.KTB<X<1//2_\_$9 #KC(KNGY!S]%<\[IX?,0M3.F
M++J T_EKX+Q^M2CO@(!.4,<])>.-LJWL+&?%,PN51AU^19J4(IK[X5.Y&*DG
M14QT <?IWT9JO4_5TDIYN&RNJ%2N4"@\EI:K'D1J</^7YO'%&4P_=.+T0Q=P
M_OUMI!JNL&QY@Z%',=/>;#R;F@VV'(=(E8%-Y4A&>$DQ>MX'WE]UV(,,ZL6D
M33&ET-EF0T^GJG-TGW\.D <)!8*RSAJ+45TN*6KE2F['&;;;;O6V,TC,;Z'S
MC_KARB1+[:-"QNDR#/I33PR?#NB/'CZ\&_3)1CUSUZWEVT.F<YM2DCTGU],0
MZ.%!#IJD^ L^@8Z3Y%>0)#\=U!\]%'DWZD>,L<J5VM1]<]41[XT!-U].IE6(
M>A"3<!0IT.=\D/Q%VP/-LHF?(\?S?A%@5_6^9O=,$(P07<URB;DVFIF$TP7+
M[EIS1!CKG3&]$*XKG%==X;+"C31 5 L"JF3ZJ0V>XIYG^@5+"[:S:&K>S#6-
MLETS]9GK@M5.:)[E)1$N<W;3=DVP5H^F 8'[RCDT3E;R1J&2FU!E,[Z0'P99
M9]B+J[0(@Q6>(BD*GS_%T#_M0L5E!1U?!OU*[/&.;S0?5TK[OC'K%ZMU(3U$
MT <A"\.2HK3/><'0QY4/7/DX0+AQ-+R#]0)#B0!^-N:5,]G>0UZ9#4W;2<1R
M<UY80.##J(4C.>EEMX;+JJ2D'=<$ R7,91C$]+:AS6%CEN_.4.#:RB765B[@
M$%4(P2309J:MKQJN9GO!1-8J+&&"EYD-;;E/E\D,(UIW+:<ZS.=*;3J1J0KW
M1D^E49]I@2.!-!SQ_,9WPP&76ZZ[W'(!1[0.I >$E&IK]RDU3L727B<?:Q4'
MPT4<ZH& !Y5ACWGB\KOA@ LPN !S.068CZF$YYJ YON5FNL6>LU54ZC(M1Z]
M>)@A30#/B8FD$!'=G&]-9ENLVMRK/4(4<]8A"[[^?]J$/Q<0S*SU4MG>XG%O
M"B8_9<#8DQFAF<S:OLN,E<>.4E5IU+E:(GE^;P8&YUXQ[C'?SVG%,:^I@.?(
MO\]T)M2MD^HIF;MB:UFL&*Z?Z$'DPX-B$BE$!"H8^9CP!Q/^G&JX\E[D3RS[
MH1N+5=UAII?M&,.JI-0'"/D@,)'XEWU:/A.5O"84IU"%^;-IX!#) X1K+IB6
M_8*[.%Q F%-R;">R1<V^4&=YMQ#&CWY=ILQ*K^DE!*';IZM@?"C4X4F9VWMO
M#V=FL=:XXF8.%U#A^936N+MURWTGLQQ1FB^662-1997F FH->"^?)F7Z95]N
MK#5P3P?<T^'R JQ]"N1%6[SQ-%^V]%29&B?*/3/SH \S-O(VT(V<ETKC?$H_
M?S9]'3JH_+4.H'QM"=X(MI PIS, !G@CQ]1<&PS%@_=QM&X7@$3S3=P XDJ.
MX^.;.(>\^+]F<4Z[SC@)!F+9,["<Y4U;E: 8'3S7@%@L6K;C@EU>7QR,V\;3
MMR@(IT73[SO&_IQ10GFX]]2N.FQF$FZ1Z=0:8@X&3ZBO-\URQVV$=P4^SW4H
M!'P_YY"D -^I$$:-D>_<FE.N6<[&Y[%,.UDL3I%"@.4C5B(Y 2L$?&OGM&_M
M7%9X\KT*P5UU5;D_F9A*QM-+"6'9;A8S"Z@0PD82G'"8RM(IE9%RF\@'Q$*V
MV;7\;1F)P'4D?&;_A._N7&)X!)1:F)))!'#<E]JU5=%LYQH971GWLM/2:*7=
M#?IQE4'-O6E2EEXRKN+$+@8_OK!S2O%/%.)?N";Z@Z--*Y9*9=J-QV8ZES!*
M1A4"78"N"2EQ^$X.OI-SJ7=R+H":X/U0?U0G7GX^*"G-3+,P*=<MK]I)+R#4
MX:4;EF3WTZB?0>E%P;45?.;^[._:7&+P\?&<"<O+TOWLL949:M6LV%_D9^W"
M'7!,4+MMFB)%<=\509Q#Q9H W[XYQ:#DXYJ@^B UVQ9?]10SX^:]Z3V;TF8+
MJ E B"*2#']$KO8K4 3X,@Z^C/.=Q9CW*X*D<S_//4X*PG#ZZ%+=C,9ULF/D
M$H  AN9)CGO)(W3N5922B5O)X*PI+IE\<=12<9VNY;]"REJ?I%):D^GXS;'9
M]8I5P1E6NCV5X5!H HF,(J[+X)PI!OI%E$<N*RC9"_1"5YPDRGZF15FN]-"2
MU$+&;U8AT.%!+DHF)1$#'1='+K0X<EE!QUZ@/[@/$D=7VC,E/Q*-6+S1'S?3
MR**#R(*1(=G/89K$O''U_TO%O&!ZWF](0;:^I*+YOFMU9K[6&9F$[Q!@LC&X
M8ZXS&H&A@,>"DW"XCH*SI[B.\M7W^DU_FS>)[R"UX90<>P>F^[I>YF+EE<IW
M8U19'\J5?*Q;Z// GT$M[WGNB&>ZKL!QP2H!%U2^^-+^ 52"XHIWQ8([U90Z
M*\9YRO)*4R,.50(,<3A28/:=3,=: 5=7<'7EM *=0VB%67S!/&:RIM+41,8&
M\J"[ZOT":@40#_$@')(.?TG_NZ/^TNN!4%*S-<,"N*D[(\TEP/+>X&K,)RF-
M6(!\PYG!E;TB!?@>)K1O6)G348I?&CW--6L4:,3_G[TW;5(4Z]:&O[\1[W\P
MZG[.B?N.T'J89.@^IR,0$6=$Q.D+@4PB\R3JKW\ ,ZNK"FMLS42E(SHKTUP)
M>^^UU]IKNO:B7-MV'3YR97/K6BDSPJQGEWQ!)4KP$<"#=M0V![2^/6#!:4@O
M=!%"STD?M(X!%2;F':Y(>TY]\C-WI#VU/GE3U^MW],D^)!9M(\8MP ]"W'>@
M<=\<YOHD=;R(9AU";NAX/:<Z^9F[TYY3G?S,Y6E/K4[>U&?['742>^R6@&W/
M,%%PY+L0.1CW5[DZR3)8,%$G;G#%P-N">UXA/9X:U,*M%*BU3!9 Z,_:)EN4
M^TQ*/<6%2O_G">],:QM[0U%SA9-OUE!L-Y>S0P*B*V$QW9BS%KCM"ZA^;;<(
M^@6U\RI2$S7@LS%^J5R O[$XX\[)GBHCT4S5R5KR40EO4J0(89GO WV\9;5;
M)8QE%<9[NJ_L.L+XZS[%+831=_U%LEKP.DT)IY&&C@\'7\^%,<O8?/QNH4HE
MC"6[6>Q:PGA/=X5=1QA_W2*_A3"R4F^E"2.4%8X#Y)!XAMAJ9Z7@6'ZSUT?L
M>R'!^TR3Y,L1UN)053*@?>JT>'&4<^9&YOA[3[A$D<\[30P]$%SE16'!D*DF
M@R'+TH-X87(&S4U!X>JF// +"FNA9A-4%3)ECJ2KX]C>J &KG:65C:,PFT&Z
MP-]29*HB-'BQX0P$GIC(#2YJ:]-EJLCPO#2,J#>Q9ATG'C@D^:QB_AZAV >"
MM?P#A?#K[L1;*H3)&-_;0,0:-'7:=CHKQ&*@::X04C<#!>LHB-1A JP4PJ.A
M7]Y)(3P*_.4?*(1?=VG>4B&$P$$\';K@@6XT4+V'=>9MX<!E"B%U==!4&4!(
MO7FE#IEE3#(HAA6GRU>E&1X^LEFE&6Z;9FB?)>F"CID+_=T$7<I3>M':][HC
M5#/G&"E"Q#G1 #]*+7HECE6BH32)AF^+XV0?F [77(3F CHH3<1<#\9K/1/'
M/-50Y?VJ5,,SB./;IAJ^+8Y.4UPXO$Z#= -54"SL]^+=+,G$,4\V7+BI^PF2
M#=<VR]][RL\:AZS2#0^0;GC17868P@5E=AC"0ZXW1DGSV)[PX4$ DO68$^&\
MY3P*U6$ K>/@#>_X?>\-_ZR"7B4<GBKA\ LJ86Z.X+&S']CT0NY&H^X:6#MG
ME9"E'/ ZCD%U$( JE5"E'*J4PQVG''Y!)2A[247XQ#9-RAL?.NWEVO"27"5D
M/4O .HC#=1#^X=U<_S>'<I=&9J^^D60UP_)_.;#95JU)<N8R2<XQN[[+<:.L
M!WV0?NSD=WGI@635/"F(LBXIT58-U6ROY-<R2"E_:IKA2(YLI$0IAR(UOY;Y
MXQ4G\.UUS F3?/>DDFPI?_ZL3E",_5__DWYY?9!LJ5*0*8/MR]L^H9FRM[ZJ
M N"_;B+>7W(%0OX6[A<![S2:GPT[__K__W^?#_]O]=207<L-_GA%7GTVK^UY
MF:!<7^EJ8Q.HDMF0M/35?TA6(AW#EWGB^/F0RU%=?WQ";V4K46M^Q/'_JOW]
M;;8>A<6TI4/CLR5[T8X-2]6B/\Y_]?I1KMA>/W-#(Y/)/P+52G7/7LV>_<53
M<[Y$KG<;ID!?[+1\]>&_6? _TA<O^)N/'VK;(-.8_YJQU*7=F7^?ZIQ4%5I_
M?KY?7SY*!3"_/B(5K:S=;"8[GW:J]#.[]<NUOK2(4JXE166#X!A&("(@IU^0
M35,1)15$14B580A&8 S?8!_.;[V]XLG7%_E[>3??%.D/?U'DF&SWR'&-9X?D
M]!P Z(VI5,5LS@MTGB#%CE."7IN<T6U^EGX=T>,9SW8H=C29TEUZS/?F=/IW
M;S;''\[KLP'7_AYQC>W4OAAS+1TT.Z(_3?=M1GX-/?NR\S!)(F!":XHX#*<[
M#P$T<0.D7U1$59L8BN(R@;]P17H]T9F.O/6-]DD!F,%1;[N>@69!S-3^^)IR
M?A!@3M;&E@ Y\^4 /WGR;IJ(4)%RJHFG3=#?M>F%/M6Q-AV0C7Y&B7Q-25#<
M?K-%$Y5&%YL9+T\V[#IK=YAY&%]2<M,=,PIP0Z/C=E.)8<."M24IPL6W TT9
M%??^.*8'"[BI#TYR?X5Q8BJ/7U-JP)CE:>O0I]6EO1NV61;>KQ.Q6:3<..-!
MN]F.2, >ZI+?")TE"'$B6J3L0R 9(+U@1+-NVQ([&RZSOD2L2,E$Z_5 YY F
M('F+F.Q-MTZ<9)2%&>'8U*::;1@U5=/IBT:?/4W C+*PGJB/C#K+EHS0?FAQ
M;H=7W.4Q$?'BVX?!<=9HM^&1,+"XI8TYS*YS($6B2 GY2RP4+;TI\!2"3A<'
MQO0,+J4LO%W:CF4"38(I32T-AA7PF<HV$Y$H<I,>]?K]Y7RWH..!OS3:!@H-
M0ET$@>+K5Y""@6W%$@7;T9GF3EQ28#<G+>X[%K9(0 !H8(!"*.VZY)18<1EI
M8:@;6[8Q']<WPL+!^UN$(WM"NO% L#B K3_8DL,! 0,#0>( M[^84@TRL](+
MI#&PC+KXNH69_GPV9V)U&Y.']*GP)]+S'4:OYL09T)V:$I;DA>H?K]]\KD+0
M5$N\F!39&22?SZY7ZRD_ZZ4X<E\_.)_T^2=?V .?N4\O-,6S/0I>!_;R0O"L
MH7XN18'B'X'OIK0_.U@_>[Z;/E.SW.15O[W^W,B<PS_.QE.2KM,/[9870S)_
M\2NIM$FMY]2WN8EE^0,U?B9,?_E+MO++UW\8/ &_FZ.O&/%&C, _5GPH Q\J
M@2@)(RJ!* <?*H$H"2,J@;@J'WZQJN:')NO;S1K_A5G?5/1+/>740<H^_-\/
MS0^_.WWB(_Z^=T#C_S":M5*E(*S1CJ(JM;8JJUD.IP:#]4]AJTH22B()^.6:
MJN+7*TPF/TCN>%=G-5%?[N"*KP_"5[#BZT/R%;IXXGQEKP+?T.9?G.;8I]/\
MJVE61UE)1.,NC+H2B\N_>\Y9=<RV;AQ*CA*>?W2U\[_"1_[C^;MVE@,(PO]<
MPYQ[[SJRJS;+/N_Q]Y[2VU?&G4^*1ZB+*VDO@N]VHFQ(]$)B3& L-+101AP+
MDJBF+B)9\O&FK:6KS?Z<F_T]^RMW=D,3C*?>A/;-E;^!R.VRHV:5$\B-VRM7
MF_TY-_M[]AC>) O%' ;:VCP2.CX!>S%_%#+-CEZWQ?"[.25LM%6#'*,9J%O5
M"8V]^MI0Z]]6NB;_^>,!/(^W$]0'GV/%R >98\7(<LWQ#EWW3["(O%C_PU\=
M-U#3@=;D. A41S[6HD!R0NL,_)>471Q&&1CE84S!*T=YG]G"N['OGMLXU.<F
MSKEOS\N.I5XV["S;K^<)DHXR^WOW,I+AY#U^@E2B'3T=??IUDJZIJXS5B-5F
MTN&"Z6B34-OA[.8>4'<F/E=#CNF9NHAF00$,K8/XC>[%*H-LO ,VM(12E"W$
MO^\[$O VHI,^*1W7!1E:'8_PG"#1M<G[&YZ&2<2;FAFB DG=+[0.$<50PW\J
M(:J$J%P1AG<6HLYJ&2,B[3,T>HB[\ G$YGV<%/.>E6 3J(-0L2_X?^XGB/&U
M'9JM5BW=(_)6<O3TF>E/FF0$M;UDQ3FR4WIMU==(.=@(T]5*&;N):J&:FJY&
M9*AAO>:H9WRU=*A5WE:)O*V?MUE?KAJKN%=QK^+>@_F+[W1>?]'G-3V\^?3H
MX#\=&N2G$$=+35^E3E79DL+0T%(^YF?ZI]^'W_$:9\C:[-LS:0! BMNAV9YA
M$Q@IYGWB"."*ET66,824']WGM$-V@F?7G01J&-52[JNU,)&\VQS,[VWH5W;^
M&]GY-XHSR:'A?U=IM-/%V.?8FI"+T^EKV=4^9-A5E=1 [;WL\FFZR?ETC_^,
M2=]HZL?I#(+F9LQ9W&GM,BO>Y40\BRTA=1 L)B4?QRVNI.7M#]P;19EN)CA?
MR\O(GG?G[FGN M2A-X\V\L8=$GHJ+TC6)^UQX["5K#R,<?IFLD*<AM#>.E"V
M8#N2M!^V-VW.),6\A1@&?J^VZ]XB16VU$:BRJSLYJ#4S*]_*XGP&)? \$O]^
M9N7T[^W+:BF5[2HI9W.1)QWE:Z&_(.SCJ#\<SJ: 2T-J%!M6/+9))KN,*:M<
M!NH8]#V/LQ*".Q*"*J+V4-Q[@&A/?I5P=K3J/\K8*'^;-GD"1]-2]J=*K0H'
MW=9H?T?HZ:\>\==6;]4FN+]-4.V!:@_<J7?_,ZFGOQU\^B!;L:(J&:'KJ$Z4
M$@6J%*IM]?SO.0/U6<:)S&X6O^SO#[D$.(2\[IOL=K>8X;9+HEB2W8>:.OQP
M'6M>/^GTIE)$7<"VW*<5?-V*X^>1V1N7%U\0U]?P6OI3*JA9M98;Y#G@* J,
M39S?[SMSQZZ3#3MP+2LE>?76+X@H(LVX\3Y9D";47(8-@C]H:CO)[B%.W70(
M!NH  C^(G_Y>18_/(PTWKAB^O300GMP=.+LC3U.-@;="Y=8A6N32@'SX"X?K
M*'S#C$XE# \E##<VYVXO#"@.HJ=^IWF@%P8>QX/M?M;T<F'(JWOA.O[=WFMW
M&$9*GSE4P_"/RZ!EZ;-EK$5N+9UVX[.5_)3A"1_&2[PY#JUR_M[?D/Q-[;#N
M!UI3&KL+VD<\:.5@(]-;)=D4,L.QCH WZLM8!KDH$7RFDJ#W-SY_4X+DR90\
M^5 7!6P@!H82S[2;E)Y-(;_NYB($K1*A2H0>T63]31'2!O"1H1<1"!R9MM)D
M0@UHAEPVA2S B-1AY,[OT+D482P8HI3D2(J12A/O6E)02U?VXWTZI;>\W19.
MY5IQXVS)GD^PW\^ZO'3N&9$PV'ES@&:8-D LEYS7RGJOY:WT( BKHS!815FJ
MK7_O9N&%K1]ZM+[>[V3,5!=#3^2BUG"+Y?WY4I,/@]/SJ@JV5SO_[JVY"SN?
M\?<3O[<3<,#79*&_</TEE239SL^"B2!11YK%JP*JKNU5U_;L067OVHY67=M?
M^%)U;?^UKNUVNF:OG=7 C\W7R>3=M$$ V30)3!$WFV9J(,B$*FX(4!%!M*F@
MLHK",/3:U_BQ^KAWR3%#\[TQS0F]V4I\LSG^<%[?Z>-^'G.M-ZZ=1WV_3=S1
M)B*IF*R*"(JFVPZ14%%"0%S$084@FE(34 #PA24O?X$C$*AL4"G]B\R2U>1T
MRRJ$)JH2B!( I,&0TOSB+U)[0)CVAB??[>]-J2-H;017-LLLTRZ"A5;9[:$2
MG>8KAA!X;0MN>5J%0U?/2 MMO:< B&Y/5 ,7>(73VY@&-)0&*4*I+'U-BI&=
M/G)2_)V@Q@<!;,C-&-:RSN_% >C]:#:?C?T)39F](3DZD#K8R4D+ V#VJ2VS
M739%<Z"%!CAL\]$8R$D+C>\WCK6< 5XSH0=.1Q/&IP:YY)-+#>7[!Q5E ASI
M"P-JDT38=,[0FB["Q;;F4Z6]F&F=V9P>< A-'P?IEJ"R9Q;G[Y$[KC4?]AN
MRD:8OQR/#[-^]E"PV/Y=C4^&Q*S;0(,Z>3UY%HMM/"<M+-5AS2UPB(+70#P&
M0HB4>YVYG0^@,-:D2X13WY^U!=Z?+6:88QX-ELM("TME=T:'7KL[F)AJ-)ZO
M6\/!>!Z2V5(5IF5%('@XKE<;DZ?W768U:7=GI^3<+^&KM?(6^UV+(%P:-=L(
MH!YQ09>3\_W;7U*&!V#'QUVV)QRM'HJW5NWY/,ZNI2^N:MRVZ&9#B4C %R<*
M[C%'<,/DI(7WHZ(\=1;4G* A'0DG ML>PF;V_N*JCM94:S@9S04 G:J [H\3
M9Y!/JKBJ0M_ T_,!F +LD<!/$*T'5"N[5;RXJJ=8#?N3QBX4),&W.I[47>WF
M9+94A6E!ZA)L,C+;,9D%WIHT.C$ZD3BQ65S5J.F/G5,C<.@!&@)B-S&2)J>G
ME(5)#80EM .]DV52)Q].IF8O1%;9,PMS&@')7IMU')!F@<.,:M/R[CA.4LK"
ME%Q:#UW&735H2=3GCM['L64ZI>8%3JW#V6XT-QM]8=$09Y1\ +U.*QOH!4[Y
M_O8@>ONYR0_":4ON[YPNE),6)F61@3A?LW'#;/3:R5R!YZ(.YZ2%66%="QZZ
MFQUN\N-4T0_)4.3%;%875(41Q?#2].;T$>JLQHY*GT:G;%I%3G&!.J)&Q&YG
M,H?A?#]8P/1^1)ZO!OWJH<30[6^1I@E ^FJPZWFVM#]DU\$4GBG$4A^$(;\#
MI!:(QX(PQQV&V940!4JS9;=FAC%9 HP]B.36P&&E4#]?'O&53FG/&@.A ?/
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
M\NO\J<6R!3A<KSTKH8%CTFYOI/'<GL]RTJ+^9$Q/<,"#;%)FK^$-M+G"L/D
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
M/A+9%;S%<&$OIH(=>2=JVXFG:">72+22R K]4GJ)?,L$T_M(*+:!/(E/F!G
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
M[ R="#(EK*3>U'1$<>*Q\8**Q06I,9P^C]IZIREQ*>-^G7$=/5 L1]<$Q7/
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
M Q'2B?BDB?A)-E,Z#RDA[FLB4D)<QCRDA+B0B4@)\:'S<'&9!Y<7LGG54:K
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
MZ6>A+@])RX@#2]JDUL"]6 -7ZDPZ%?SP\]3[YHX?Z<MJIX%N"]&2HA34BX9
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
M;#=>TX%![;D [$W7"Z8(%Z^M2@;(Z/#IKT((ZWT]7#:2JW >&\#( R\O*#[
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
MZA%&3(C3LE]A'*SR@=P WE;-?"52A?D#7L\(UNO)CZ)@B2GMUD:#^[)#Q0$
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
M'5 CH)_I3FLO+$,PO5#6!JF)1PXL4)<!#!HU=(PCA-Y%^#EP:2+&%6IJ^$K
MT!E9&IF))N/3<]6)VF$&Q4W3W$Q(#9.];S$,:P<<GQ[2GDYT;-AQP^1(2T3[
M5"T*Z10 7 -YOJ(6$*JR*A@.1.^+[@:[%Y&-M]@U0I*AIV6H:Q,*^A4*>2H-
M[4)*-XR+6G.=OGNZOUH-KIJEB!AVY'._5>JG$R'52UPV\9V,F=Y6[C4/M,(D
M[B,1M3:Q;KU G6^NA"&^MK5\M,19XB:(=#8FID+2E$P!PY");B9,YB8Q:5[
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
M^_.E:,#:8D'3&Z!)NT%!E?R"<G)ST='\E#A_]CQEB 7$R15#9$2"_)WO"G@
M^*S6F#N,JAO$RB*RCHB&1LC&VPPAT])@P* <5=?B2@/:F#95@&T54WO46"KV
MESS\V\N%#6>*"!#-"[RP*$08G=YF/VEH$:D7BH_"%A$<%=5YM,NAQ3 DB 9Q
M! 2+GH-N>6F^C!P=^CY$*LE;:!_17 5J5/)=]'@#/\]?$9F$*2P>?5%!SPB:
M_-T;P5+G%)L#F=5P*(>:QLM)6)8ZD2U%9QD4?&\\SB ,YP6)A5GY:1QT?YB*
MQC)W6)Z?L+G<L83:70BGRW0ILJTAH'6QJR3.P+$#*PK<.EN0$Q]J81S:K5(F
MMC1(,<!LD2=8D._ZZ=:U=L6[T;_XKHEFN0C=@-.]ITT,=R[I+W8!@34Z8?SE
M_37..0!=-T1ZS=3-UEB.U_73?_'OK:UB&7=P^P0RIWU]A9 QD=,VE?,40@0K
MCFVJH $))NBKFK%P/5N",*IF^ZXM%.?*BF9OT738T'S].X0:@#Z&#M8.L'F)
M"5.:M7,#/?>"8ZF\1D!(;J?'8;XAZR^8DLN\QT;(/O4&_+F]_"2N/?:0\E(;
M"L?4AF-JPT&$U8^I#?M?U#&UX1!2&PKO2FTH[O[&RQZ^=_@#4]\\?>+0O9<1
M?LO@.O:7A= P:$3>*R*+UFH%6TM<1421(NJ[/D22D K+N8;;MHX)58R^CNBA
M.0IXV(XMJHXTZ\#SW0A*.>JGIE\;R]9B 02.23T_?C2.+P31FY@ZN^5(96&1
MD#+.9VL'\ XQ#X+/WD,;9)/'Z!!@&,((-* WFOH#Q6,V$8;:F,@E,KM'5YGX
MC7S\C_.RC8B2'W>^8+91$-P;2AQ&#"9^$_ [^U6LD'!./D(U?D6>$_V..7B]
M4FSFIC)%5T1C+!P;/48?1M38^"<$!LT$#1$KYJ%Y^Z\:B(GF>]Y$S]S.Z@V:
M8@*(2L)(-%D[4&F,D5CXF;LE9H:Y9H'0D3MW&3&JX[$ZXF1!O5^XX=Y!^XDM
M[^.-8&+^"U70_G>QX%GH05!R>-2*H0%@DRWRFN^^G,J.;VMZ%54!]]1+!4 ^
M4_@9_=R=PXL",""M34U3\;UE'F%PWQ7O11;D(XH]#QE FN=@FH/KA@6YV>?Y
M/EI^&@^K:/+"LUZ^OC#K4,Z/UP[-LT'I'K-!AA"27X"G<Q1,S=@Q#*,4MM-;
ME9TBU[+,*40298'P_7@^V]'1)8X"3^L(>2#)YS1?<' P_[A0#\T<,J($ =+@
M'@C918G%&PS8H1"L#?BIY."@'<28\T#4)(-=W^A9*!HY=F/DA+" V6/V2\,%
M!^#?YD*,E;C0C POO!T.M3&J9:$P(CVP3CU02D+E)+EF6#7.5AU_V)/K=[X+
MNU]8Q ]?8#[7R%F%!L2HG[#)8E\.7!D3Y71TH=T?/?W@UOJ)5I#R-/+D!$Z(
M0>YASP+:;ITV0XP,:'IPB?Z];R,ZGP[%W[:JZS1[ L;"4'YP(@R:V19O."I^
M.%*I=U4&- ;T,N[Z#M#C2Y.F\2;!L0_WV0*@'7 W6<\&O\-;W$^S0W?_)@&
M>R 5O*9V-+%& &,8FJRVR0OA?IX**\0"]QH0%<4%=UARS6B/X5'NC Y%+6DZ
M3^2<@X_\Q<%O&;'26].+]@5#K40\(+@$@HEBJI5?%Q:/4?AIFI+(OL)K]/U@
M89P%15F7H;G&07N8#$*^P"?_WLHEVA%S?2G>*FZ+N>UQ]E7;4X;?+FSF2R<>
MB6/,OL] 3EBY-U>:V#8C<G@X,+:[RM>/UH7#$$$FYQ=^6('>[LN)&9AT@U"J
M^!-UV/QA% ]/ABK>E@EW3%1*G?<Z?W>/I>IO.#;:Y95HB;&IJE/46G;MQ'0L
M?409B(1/J-FFU>M"JMO8!2>-CZ$"0I&GN,,,0'2"^DG[7V$O(K$+@?.F6<8C
M2,N"PZ!] .P8PX[F-(4U[0:9-$.2#MY"*/S)MD_ 1H++ N5>K-2MQ I)*7CS
M@ SD\1,A=VWK0RR-D]_PH-+3KKT>.6R3N!=^>6%".2F'.8+T_M_LN./X8"&-
M>I?E0)&0XN'^$=OJ ,WFVS*"?NO+K>5! N">7LK8&0 WG$.4M_Z//%_\]]*#
M*<?$2$Q*)RN6&?;;GJ*WP@:R:;X\O:U$'C_J%[I+F$1E?A&#*'"4RKP\;Z^:
M@0&6;ZG" NVZ+(66 SS!'<,T80% 3\SA0:WW[4O:0F'9BF.N36OF^760>1"B
MB$H:Q51MAH)#%5-+381M)>X]P-F_?69>23C-) S4@W\%I,$'%83_!G'4XC&.
M>HRC'D0,[QA'W?^BCG'4CX^CRC2J.1J8YWIODGQ\WM3FE66]TC-REW9C H46
M/RA/>D_FNB7;?4JG5U)"3[O]6GF3ZS],!JGM)\WZ?;XZO9K.:[<+]]Q^>,Y/
MYE5X,A-^,G7?;3C)<<.>M>YO&A=ZV5ZUG1)Y,A=^TM+S2N):4E-];7YFN$^2
MZ4X>2X/T]M>KM9HR[\U'&ZE^GW*DHE)>-,8=\N36UZU"UVA>R8MZ7[M0[\:K
M@>NLE_#DUM=+P]S<>ER>36NINK+:S(?S[GFC,\@,I/"3]_=I_3&E7UST6^59
MK74_F=SD[M>#[/:3A8=:OE"_+JO]U'-QE1XM2D-CU!GD0D\.QFH^.9*RHX&4
M3@T'F=Q8'A0RV>$@K6;&V4(A.1[)A?>_$=JWM[V3_HEWMG:]UM5/6^.,NYXE
M>CVG^K"N9#/D?"(HKO!XF<VY]U=EJ>LXJZE\=7HW(.<307&3\[O*:G1ISV:)
M97M6NYM?6I>W\&0V_&3C0MI<=E+:7-HDS>(TYT[*#RV@S4+XR?'=;><YD3]S
MI%SEJO8PGJRT^DTTQ<F2<C;.G9_7*MF$6NCISU?NQ80\N?7UYL*YR8PJY7IM
M<W8V7H^[G66_"Q2W]77;..^71_W2NE:WY-)9-;EL9<J3*(I+U2\WSWW]KB9U
M!\_GPZI,]N&T$T5Q=]724"ZMZTEI.=_4"D[RS%*6ZRV* RJ^/K7J5S/=JLFE
MDI68;/+]!ZLS*&P_>7;3&M]E[Y/&K)D:R4OE7.W?/*X'Q>TGG?+UV83L95J:
M]Z\><LV5>[[>K =)R7OT_<D=Q7<E=R2EG\KN2+TKNR-]S.[83VU:C&N2[__"
M9R:''%IZ>PU*"2P->X@S%]+^/"$1D_$;>]-,9HV\#2&^';Z+0#0!4.YMYL+
M;FT8@6VW2S;#]?/]!-3C -^9; ) X^!>5X5IH1N<#@D#!1W@(E*"YPI7(Q85
M<'!0'QZ6Q7JI"CA)KS#+"VRM3-VED-_BJ%ZUB+]1Z/< ;]%<<QR_HF5B 0"]
M$*A.[%@X+>>%E!^5+Y=7H.-$:6*0/+<]#[)7[H4)&8:ZIFW]A&EZRY$=1QY-
M,>F(!_.$WJYS/^/=4@.8A4)IEI\,(<QY.QVB&L29>'MGZ,BP1H!D=NZ<4)$G
MKMX_FSTT@+<M9]"F14LMJTN]7*4GS1ZP<NB!P'F7N#6#OCUS.M=:4I$VM:%<
M>':&F_:J].Y>;"-;6_Y3PER/UE@@O#+L7@TWK^'M761?MD9Y>7W>?9Z-I7G]
MXEJYK'?D*]HG/9<J'$ '^9_86VEVE6_55NW>3-,VPV3UO&!>+M_?Y^[7]S8Q
MO;L;;59*8[8<=+)2[31SE=R0O2W&,U+J,'K0_\3VFE+C+CE7+VLS-?W8+8X;
MC8O3U?O;UO_Z]@Z,F[(F+V\T2>O.5>FV<U>\'9'M3<6+4A3IBCT#(2#*[XM@
M7 S%G)>3"![]T.46B(R)Y87X5WN*U7_#,%R#C.'?4">&DUB)]T> 4B9US@0;
M.0"'"G0Y!BEZZ,0;)QQY1CXU9:U1!*@HK]T+'5\5 HK"91WW(N"+Z<;&#NFT
M\IECU'IUG3 2C9EO5XG"T*;K0(Z@EUPTED<XEUW=5W8!PG.$>]9-0X".=6BW
MD@#< /LJ;A6K%8W3UJKD36QC\>)79=ZU0R@5>W-KB_TCK7M*6)3&H_S<34S[
ML,+NF8 "9?_SJ8A]R/%=4$U<76V-!<G"# QT5T>@@JAN:G[_,#SO+]=.QFB4
M-G?J>>FS<#XT(\'"&=+)R[5W_IOPQS?&D!SD#AY;P3@(&!RZO+#5?_A_B),"
MQ$ V(? UCJ@GG\>2,/ ANX[)?Z!A#_PE$!R1!'!"^LQVH,.Q^,38!Y-TT8[B
M!<J(E@J"@[EG:22+C9(KG$BI_Q'WBWV/[YW@0!7&!V8#[!Z^:_S?B;4E+_ZA
MD:0UV:=7@S@LK(8?YH_*0RP>53\ESO86RDB^G3*$"-S__8^CO&';IYJC)L@
M(X@"P7:Q9:9.DMGC01S 011.CN=P".=P9(@#.8@C0QS&.1P9XD .XL@0'WH.
M_W$L4&,_3&7]NE47WK'J3V7]S\_A^-!-("83_/C__<C^^-D-*9X4DCPGC2?G
M)1=/,0SBQ'@<Z!-WK/"&#7LI"GD/)C\-U=7 [J?_R8U_^J]T,N[GLQQ9Y3!8
MY2T'O[4'_#L5\M+0TLBX9ZJ^4F%A\ W9L!/L0[ EX5@N_=^/VR.\P+XQ[X!7
M+,@8WYI<=A_X\:2E5/)XTG_(2:>.E]TATO3;SY 3\X?PZRM6UMX)]G]_)[ET
M/,/C&?X99_ASMX9?,/7/_QJ-5'4\_MJ+1$SS8X'5?SZ,+O>]N)\JV_L 96C/
MR_Y@!>]XEL>S/)[EIYWE-[ V*MU&C +8=%6$&OH.FLO!D-T7>L\Q5T?,$$L'
MZK=CAY_JS/_2Y9VIR@ [J-HVHSP;WX?DL$'%UI HV5_8 *D'J9JYKLQ*4F*Q
M3%TUY'EV/'M_/F^H-]563BG4;/6=\46K),DU6:M#AN=J:I]-!EFH0BO&I7Q^
M*ZOTR#9'MOF<+/9?9IN2KK=SS7O[HI]KCEMNM=+NE//O+S%X ]O<JY7[VRO7
M3=9RB=&S;*AN1E^6"-MD?OR;S,;3$<GN1[XY\LWGE"?\,M^,3I-5:[B9/M5R
MT\IR-CD=E9W[3[ENG(?'N6X_5,YGE:ETWSJ[G'2692A?ST$10RJ;>X%MOJ=O
MHJZ;0UF/T?*.#U<]][VZPS&"]AB\.3")\K4*+*5O2MY!J;*<9++M2:MZ7DM<
MJ[W6U76C.7WX%*FB2)U\+C\>.K/F]<"\:IW=+O5D:9 #)3:7*G[>57QDOR/[
M[5<1WLU^S?%&E?3K?E+*]9Z*G?+]?4DO?(HR/%R8HUL[/WV2Y,?:[7 \G ];
MB0EA/U"&,_%D<KLT\<B!1P[\353JW1RHG"\M>5:8%F?+5.IZ,'W.J??C3[D
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
M:WPT2&E$?*[[$?O0<//FZ,L8;H56P\/4(L@3DPCD*@2;@#?%DHPY4*>S(-*
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
MTB::<DBVH*0].60*<IKK4#_6#%G;!?@^ZI9V!@^]A=H2A,"8#)#;_I=GKRE
M[-]U,#"8H8Y?3V\LC/*[QU*T;O?[ Y9EE,B@NRR6U@>^0<24A%^B;4"=+5/2
M#HOA/D.^N*FYI\(Q5Z^:F:TM]/MS7;'SZ6CFKF1/__K76NL1:(UR;$^'IC8/
M3Y)(E7:H:"^0$L=.*W12TAC-24&G"9T)22'S6]S#_0/-PPW,XN895D$2H/Q^
M<U)'=-:;\5I/TM  4(G-"8:FE' [!%A;GD=>,W)F/'MOV?I=3NB,:GU^,+H3
M[>A**'%K@*'X;SWLX[?8Q;5$QKQU(WOFQN2VK<<&4^VPG)S)S93QTQ3BG_X;
MN78D%$]F .XW3 $;'W.0&1::QEMSB@O;D$;WO=ZFF!EF&456I%Z\5C<[M5G[
MF># )QW0/JC OC47Z3VLNJS)<WM.SP$YC<T)/:JR]LR9]/229"$F@/I@SEF[
M48@(ZSFR2#>JC9D1W^*2.7F\*2?+3U:V#;1_$H#XKY?P@\-XYV%@7BHB,_?U
M,TD^S3;WC!9)<>SC;IN[6W;3)2D+=79.S^2P*GUXWU@"S=-"6B T)Q.FP.&I
M.SMHCH&G%^(MTJP$:7O@.U%2T;.,[<]06?/1V;(F&!(/_?- <?^&%K+T-PG/
MY&A/#<E1C/DS:G#O(CKS;8Z1UX3?9.:V#=Y"Y+I_3IU./JN) S)S:!Q*'S6M
M"57U48TH2C+U4%?->+FM+]IO%L,NRL!I$6;,/4??B)N;=;\XN^>:'3DYTI<;
MZUY&[&C*&](A[5B&TE.*1B]S2FE\2E&<=4@3GHV^<&OZ\TYI/9_<K;F):2OL
M8X<;%.U-M\AF/^B42@_WFZ[5F^[ZU9:93Z960ZW(H%.R).WE4_IH7K+??%#O
MO;S[>2=5JRDC(\8V$PK/%"/M6*]MIKGI!YT4-Q=D93CHS95EJ5KN1".FDIQ!
MXQ#VQ8,Z;GUS[0>5)RVOSGI.BC*/%KEA(=E?WM]EE@_=>*^V?;O<.[<17[;C
MJ>;6&':Y;7FY+-=*\]G01+9G-.%_TM#!*CB/L[H#?(2/)-=WJ;K"1TIF;QIO
M=<0<=@>>.1)@)Z=[&XD!0 @ 6N\ /WD9DGH.N&=<F/8I6^#9@PES 8$XO!]$
M"D9%BRGS=L4H)*;55JSY=N?L92FVZ(Q503$G/--,+\V['%.9W4?7SV]D&(NI
MJOV_=[)BN]&4M:PB<Q#M+=Y?ZZ"MD+>UFPK=TLQ?H1_RW]#CS>UH*!O(0X/W
MT?9Q@F4C^Y+8E;IM+6S<KPW^1,\.OW LA30]A"/'YW7F+JKA&HA3K&T7[9PC
ML\K$_L9<XO &?73[+A)1(]QNK>2SG:%IK-K1:NZ@",:;,:M'8:6L(!CH4#I(
M;A1UHXM<"Y->T*&<[N]P9 =E)1^UBJW^-A:=U!8KL5]%)NV_F=3/4^CV?YU3
M5OFQI,+U!@\%_(.H!I&-ZX4@DM<1ZP+5..T!V80U.R4C7M-.J(E& YZGJD\(
M$5P!5?5FAB2]0$[+?B(14^J9M+*LW-53HVJD7DX?D%/\<\GI:9"9)KG'09$9
MS-58+)%@B\8:B2OF9\*'G/[!PAV1#:(;VEU1TD3GT/VIY=J%SON.F8/X_?9U
MN8%4:&D8>WP<<O-MSHA.Q$&69]<7E!O)4M](91IV2JG>:4_U[,.XTBZ@@T['
M?Y["NEZ4&[@MYT&G2>BW*4-=^^>"A&!P>]46& &@]L;R!&T:1#X(00!U4;#3
M5.411=#/%V0+S,^S'G)T9F1/H:4ZGE8)9G4@)19#YD'/,1.!V<XM/ET>9 65
MO9YX>2+62HB5\B;&=7?=Q<-VK2X>%\BNBS'/.%4?F'4Z"T[IUG%)L0"7%."2
MK@(3$^"2+K^H )=T%;BDV/MP2?'GW_(R:.4=$!?V7!?%/@EK])4 .2%'D+__
M@=Z=N1RJQVNP.U$E<V^M&Q)ZP0I /#I:[TJ"TD6@P, R]_;=A@@>&F"K8H@W
M@'N1F8(&(V9&/[N1=AI1)P]'7T/L;TOP:%6>RY;72Z!U&-"?1"0"#L/X/+@Y
MM&>V9%KRG#_\*CH6Y#_@.#_B/G0LR#!'H@4774=B![P+ 3U*LF1+-TS:;AO/
M#/ZDKS7'/\63",UD$XW;AD$@V:9E;",NS@G-!/E !GZ_!5/1IF%W2EC&37A9
M15YBR, ?N &5XU;?2_0Z&6_W2I;684\;<S1W>[[ +B?99.].( ],ENCI(&<9
MDANZADT-=_M#@FP(]ARF+,"&9\G2CG:+-\ I1^-L4NL"WB_,$,W S]1A(XX[
M;+UGLQT:V"+7CP2&$.5)-*1+AJ.W@6]V]$91GDPDP[,E[K8='C8.!" G;Y\=
MQYL$^@'F35\ VWOH?-+6[WBX -[5'C/U:?&#UZ^GO!F\\#&>?M_:I<W-_$%7
MJH5RI&/(J6YM MD5'S??/2_LPINP7UY*,"!(BI@7GY\)$]A7-R.N.9&6CG_^
MD=[C[TDWNB"3A!=X"]DSVQ"P-G*4CL,(0&WR1!9"_!PY7"0X!< *9P>\$0OT
M!?2#/0&A@</L-)5(Z-'=1MD+A,1OT5QT!YK*_+PQ"[+<+EDM'6?2.(7.Y9L/
M!;4T4OB8&>=9N7-_UW]'"NJ-V,B.(L=$;FDP_2Y7Z>87;2Z73+7_^O?9-)(C
M&4 #8,&-=A[M'MZ&,,62:B$="T>ZHSCZC"60B24FW6<P%6 4^N-7VF+.6>C)
M7IM2KCHH#*Q$/V(FL[6G=G,TR;6?3Z,>R4YBF2!3'9'J7->PGL1LXU(SU6M$
MH>_M!MXQ&/#.$SFA'JIGB5RH\VCH%;(8T+M"P$$ZN *R)J@V&'=4]P+3')L&
M&#%EJQ;1LK*$# \Z4ZR$D7 2T0S0VQT%Y54P.)C(6SR\W='J(1Y9-[BP$TS=
M1 8)+M3HB*\0YZIU9TDT$Z+;%C8(8+ZG>A&K5D.*2"M>M?'7B$VB:U,=OH%V
M 4D&V\0_HRE&^!7:6JS#98V0!Q:]:,98[V&RAF?.>1')(S.D24BOFSP@O8Z#
MK_H83D7R6ER$J[P2$%DP:LBT%PMD2AC$DN %!: ./++U#/QV:C5Y#+>+2/,B
M'(RG?B:MR(768LNJY:0=G!T@)A#7RH=,PJM'E@4-30/1NN:G!^N!WC7F52+A
M)[14IU\4VX6-2!J:M211%0!EEL('(HL85>CX+,-V[ ^8(0D2(1) 9JZ^<'!]
M,)C.&[Y$Y)=)D7^N"OF4;+E;&9#6SC%S6VXAT'&.A"MWYWR+G<ESA8_TIP\/
MI;@BO ?'\$8EDG[,;5/M!Z6B=+5>R6RE6L7YPQH#[)]%(SC9<9*3DA!Q[>!7
MFL?P(2@,'T+B15=7,)#Z(GN3^LUD<DAPP))88"P<IC*DN21NR=P,W9[.T"<+
M7C9 N$UL8RR;,^*U@"1;J+P@.4Z,6^W_E.MQI 8P3AKB94>.>:?LD098B>*K
M&S<A %Y<*C\U)+P_IG//!*+E"VHY./7]\+?=I<^01QX2T"-D*T1N?;]U T",
M>ZU=CZ;H8=SNZ1M!:NN0022ZPY#D^=@V3,E+)&%T$F-<9A <;@=$PV\P^)?X
MHUA8$<7K#! E>+6,E(89=C6ODV0E\SKVOTY\2:1TT60\5 Y&J>DLW&^I'A<!
MPUT.2=%QNZR#W5@@DI>1.^J8ODB0X2PAD+VXMPWP'9<Y[/V../K(/%Y)CD7A
M^(+TO50(TIVW->>+:'_0!#%[43,>:=K_W&;ECB-X$=G%_GZI6;S AJY1O_>X
M6 ')^"F1<453UFE%'F4BT\@HUGHL(O<OP9[F>?$1G'NSSEG _$\W*_GPI,I+
M*Y9D!K/:Y#Y6K]W;68"])>,^FX49Q=N[_3 P?XSO)V$PDUJZ$&0!,P1$A:Y1
M">_+$R0F1*=-'&P(;EW2O7:%@+X'1QP(%D<0$+,9A_2HT81ED(0,#6Q[S20"
M9]M+%Y-<+:1VMH#,=!TI=<+F$'Y 8V:R,#L48R:1-@>!*Z);9<OT2B*0'2"6
M93)=B&'0WCHD$H 5! E@NAY]5H"U((FB'NEV"-MY9!UZ._3M@5.S+$,>V[C*
MA[,2T,*.(B>/QL+,>3&.LZ(G$%%\X'8!F2 O5I^"OX2>M@_&.EX18"]I[!1V
M=X:\&N172!J1[P8A-6KZ.#N-K0(29T4S108I  0M,#D0PTCBH5P'>L2'I^.3
M!:F,Q'B(6*-[;8E/# +D5(%XJ0/O+&4(9T]\]L$]MZ/JO'@^!KZ->G (;C25
M1Z=D@PL[=32$[,X7HK8D(FSM-271#J($*@\[3"2>BF8R=A*W=*U;[]6<HZ+!
M/]#&$9Y$7Y<V@B2)WL?33;%T"V+GA#J<0_D[C#T#X 2@:DIYH:DMB_@-=+9@
MU5BA;#=/7A./,I$8<WE3#$]=Q,;C 1R5.O0A;*&0O<5.\DPBH6W-LX=H?R5Y
M1;@$"%<V]]M/G%^\_XY7+: O>R/>>_=>))!71+R(Z?9^E]?&<X[BV$C;4MPC
M_LV0S3TEO\7\.0B/NL;3D?E#A4X8*$S"DB*TXJ'^Y7'F YF!R,P#P3C>NJ+/
M='%QCHR@/J\S X*O)KSA&IAX#^E '[O4B]P[YDPW#GH\JW!H;< /&CQGCLP"
M@?*V'WL<6, T2D.8C&X!%A8DV8*D$Q97^_53 >'SO#"E#&I'$]L?WN%2#N%C
M]"P3.4PD'2 @\D2K<\2::0L0/YG88(JB[\$O8#F2]=(800@Y8YAD)?@-YN":
MSSX*!68PL35L&F#C$X2VA?ZV /*\$+L>)&?0Y(CG@#T90YKR6*DYI(Y4*R*F
M0[\)D2=V#ZG(5-%W(&PTF<":3X=3B;B/Y,F8%2!E)2 ;S>OE0 :1: :HN6[@
M0\,Y1)]$$&)R=*[(+09EX^8E0(ZC)9&#E;'$P"+7$V/$*W.(&>02=:"\R;']
M_80Y$BNVL7>VL<J37"E"A#?.>!&MJ>F>V;@D?*)//*&Z\CXH'78H_(\S9\[A
M>")<GK29,.,U"&\>Y\U@FY&T)7]&ON:61E9!;//.QW2*5)6Y&^+D'1UQ!',B
MNLFEA9\N7N^U^BFWA]B+!XB] +%W%6BQ +%W^44%B+VK0.S%WX?82_P68B_
MX 48O \SSK/$<?:)I%$'A^2;W1 $B5Z(.H[4S"6)>"("<LC@GC&V&?7)!(TA
M@#0<23"@C;1C%I.<-(GNA.@MTN,@"CCUT)D!O]I)<9DS27)2'&06R'(\L0;1
M=D/TW8W8J_+$O?[GNT@3$J9H_F,(3XW1]P@:#VT+>ICEA$<U78O0T"=]N5_,
M!$?-U.U!-G[_KI^A <09^2//%M[E\6T=/T#0#7"&=9+<]V8Q=(CND(T\6K[K
M7^(IP>:N)>11@=]KS=R0P,&&^F <L;>##APN%<F3+7$*CL)KGI )=CEPKI+L
MSW$2RCN4T@!VM3XZP)\U1\V)-_TQ5Y<)96F5>:[*-'/M?KRV6,=^OU.\&]3O
M(N)6B<??<=?V2D0_TIDO<HW=BE5DHY_I;>.B+LK3O_Y-I\(I]K0%Z5DR($<;
MQ(Y2XKP_G_9V1C\?6[$/$6%66;=_O[+['VW0+OO0>N"858KK#AJ/\X9HSLKM
M-EP$#,=3'Y7U +)[(>U!,APGK/ZI"0YP.GSAT2(2+XLU1OZ*3S;MB@A\[_K4
MIT!DM*9;3J/AFNA[NLGBP\BZJ_>EHRQR85DIL<PR?&Z=6!03\<G#8QM:_3)I
M'SYSPO#X>KFD 5T<TQ0;)O'[B8J#1EBVD5HN.$I!D%LA4U)5'/0W9 K'.*A#
MR8/00V*5PC!6NFK/#Q]T.-Y)TX1IF@F$/>!,T.,1P4#&?&'CE)(3OWD&BX[3
M1CZD$0YI2/9+$TA\P&P]-!7^#+(Y<^^5$["B;W=H0C#QA-&^$Z9M9L#J\JBR
M6+22*I1*2X8SL5-P<OA6L_B_L36K?FG52C:%&"=)L=1JNJAFDG Y.YX(,XG3
M9C2WG+;_C=VY9\:92=0NF\JRTIT+YJYZ/[Y'A)-,A^/14\+!+.PJ'UES,Y04
MS6X>R"+S&6%T[,,?JKGGXIWGKK!<U WDVVAY+*>%;0_MG4F6#:U\\:\$AV@Z
MQ6DV5D[5!<6MOKP9Y)?<7)?67'*^*LT>)7,Z&4_/5$_Y0]U"@;J%= ^H%2P@
MLWF_[$M?L@+60\2$F \B]2()HH1^@+_%,O_@R K]$'\4_0>B^?2O_Z$?_1VF
M2 BZ/$3!5#7A')?%$RS 8<+YV+&S/)2!&0(M0)_+&H]='PQ&)I893N;2/!:N
M[2)2IW'O:)"\3[Y;_AFJ(Q/.XAWOE*17O#?$/&_!G$>^CY%TV.3#%3[@E=ZM
M(#J7'J(#]#L<0*^C.!>NI W-6!@VM@7HWT_]+>0B>3?B[5/R%%/"%@M,$;$S
MM/AQ9GBZ#'I]"D"6 G;#3B>\0$*(E_&D:<+*<U*G4PY-">)>VT--#)**F6K8
M_:9^_8$?;P+U$:L5;&T';8Q,E-+QTS T'LT@ @ 3"^.-?7C+V3Z2M#*PU<6C
M1VC3""2_$'LXW<.1N()Z*:$?-+T?!E #=5& ZB"6L4"'!.DR?&O#S9B&W#I7
M<+E PMLWL>%A?R.O%[G7. OM626>L9.)A><>[@HZ-,C+F@3MPK_%'X&/#&D&
MMRU6>+@^ER[HD4P0'VFX.HH#KD(S=<"@S[ ]" A9E'G#3<336QMD4Y F !31
MFU@ 0*H@=,Q01](03X]E5XYUZKF]K.)L0T>#\[S&HQ=K)T(OGRWL!U=X-%T
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
MT]ES'R'$J\BLUIST*)Z,00#ZV*ESYA+USL4\GDQW'X&1YW.D+8D&I\EQ]]T
MTX [!_LM<69TL"E$T2*NU42":3I(3..[%3)4;<!!)61O28@VL%N \V+[Z[K1
M! FJT^>)N@=1(1.!N+\<((M8]F.C@]^#9:@=\XP9\JH O% 2'+%%'6Y/O(DI
MXN&0X]-+&+R&SKX#*K4#QS</_2 TD(ZG_Z8.?]CK")-=1:L&5U647<RAB_BB
M8'J'"/;.,*(U-.)8M& 4MDKTIQO%"_OBA*CA1 'B!X )3"[$:#+<56$KUR"K
MDB<A:M;N@6P4FD;H!<C#O:PB>R@P[$0OCJE!PF!IL#GW)$F.(<H22@24H&Y/
M9SY7RA%[N=H8/ >O7(N^=()1+-9>/$$G2=85D+4<IH=X) F)V6["". 0C'&,
MI^EV Y?N3P/ #M@]HN"QXYF[BR.=#U^8.QMADF^GOE_HR0#*X=W^L%WHV&B%
M"M0 =(<>K='%\N EDN]@HQ%-UOT.07B<' PL_/C#.*$06 A=!!@V .79BRDL
MZ!R+]"/%P(= *XZK%-PZU"(=0"T"J,55I/D#J,7E%Q5 +:X":I%^_FLO.LFW
MC;CX"B[]X<(NY]X/' 0K7-@%%.[><W03Z[5R#K$[OG\P1M;C#,"YV'ZV-0DX
M.W80XH.@.>W+#ANP=W[W%_-%:4P#U[:%K"FX<.YYQZ$W<1@3AH?_Y[.*PV<Q
M,A@?5U$W7@AK'91UW ]R9F+V<;P21"(3/RKN> ^!>J1^P2 _>$Q-UT1=*X-@
M&_.:TL2WGD08AK>*/F;1C3\TZ\5IJE^2K$5EWJT]&??9WZ[C6$ '@UX\A3Q@
M5A.[,]VPX&>T_6,(569QM8/CBHX-WC!&J\JB(_5:[4I_'A4?TVM97M2G:^AL
ME@XGH6O=44''/6%A:GBF#MA!Q@:3&;VROK_9L4!_WC@9C?/01G(48X T8B/3
MP \AL8<NXG5(%>!SPW^A'R!J0<Z*:1V=]3GI"7E!CXMB;)'NRVQ4G!<GHSMN
M_ON%KO^ $"I\J<]V6OR$2Z8V:GK8CV]C$T0(T70B'/.I[.ED7?;2Q"."<%T.
M+ 6RJOI<.M!+1LX=.I)T!(@!N5-%\0,TZH^C:4@Z-2'! Y(\1,N_(#F-7>,?
MW6:Q\[=S8>0HOG$487,2(G@:81+4T_2#FV*>65\N7I6UIXC\'-/LY8A5,AP"
M$HC /V1%>8S=,IW+2TT<$6K2\-./KCVVL)L?3S$1EOD;C_%>,H;?[TB *9)W
MD6-(B7!H#ZW]63;7FA/RW#\T'4U$XLS?OT)[7L"ZA,S)PEG$\M&%W(.7\"^^
MAT898-E_.^%K$_*"3OS:>SD5OUCPO-A[XP7'PD1;<(*N>PB?YP'T(HM[0?[D
MB9B2/8\%%0@8E\.Z+JI,+CB2"5H&CCAO$5WI@N+$OB&D1$%R$L'''4,#"?#H
MI341I!(.PYO>V[XX!SV)[#%]WM#R0>3W-+KLM1?VD3PG'N<&[+YA4+DI6#H-
M[$5?9-)H!"G64(XB(4)$,-,[8DY$CTGX\@P),6;WE\S=SVJ>F[$X6+?G(B($
M]J *PB9.?H;D>#2XXHM9BA?PY\;?^YPF05+08C]NH--SU=W][.!^KD"!8<#%
M+O #LD'.<OUR*AU(P]K2RVMPMBF)V![I%XLR.GH?<<XH:@[?T":K<7)7WAOG
M1#\05(Y!7RL<R![?? ]Z*;[*!_EF1+T CY6G],(R3?R21QRE:NB]1K@*BHT
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
M&0>X(KF5_EH$_1J8X,*;\$F2[,IWX7IDV^<=_-EEVQ_CI*FQ3N)GEOX!&.E
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
MDKGX2V\\G85M2*/[7F]3S RSC"(K4B]>JYN=VJS]OH)4SUU9VY\6^PYQ2*I
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
MX^XF_E>"EJOT\;H@6GJX2M-6B\UJ7GV(HCDG'S3&'3CWZ* EE4UC]$<W=N[
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
MV#;4QK(B;#BM5BI+N9D4D!6[<ZA10U)8<MOCL5&5Z*C+713)DWG2[^2G4RW
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
M)DAD0R(;+B4;8%#ICKGB0]F0F$PQ-)GN80]^EGVX_CW36&[+0_F?UTG5?KE
MO&#7\V]/[$0.)*SQR6Q<W.3 YTRAVW;!.+&,WQ8^.U>T[$(&SQ>O]&)=GPY^
MWM<NYR5Q=*@(>"A $M5]<B\FA1Z%;OL@S<U7$Z/F*H<K3'M'/W3Q#\Y]>,=)
M<M3UJ\M53I2.S$<<]0MWL$[N<>WE"[<7+\5(NOS>A:NF9<K/=Z[V7_5;6U\H
M4(V2)C*[.:<WY6*W<XD+5L]7 %Y?( BW(;IRU;3<UFP&?XW*'^;AV7F@-^ S
M3QMRLJOV3EG4,4[IF:TM1HU)WIM'U[.S:10[;:^4H#:1M@]!MWW8Z_M*6^R!
MI&T#']'UEL3/!6HKX([,-?7F]O--N:XD;8OE'9?-U4LSKL0L%EB1+$T7_+YP
M13:=Q4^OOL8XCOES2WU?:?CRAGI<W,X'"4!\H3+Y5I2\==SPVQOSK5  _;EV
MR6O#14YR&U4NLRGO,DQCB@Z0V-GR@FH,:F.D)@NJG1?J5;;#*1@;%3M"J8^Z
M0B8@3L3Q]Z/DK<.WW][:OY0XKFTI*6<-YX30:A([Q"D3K(-^OE7EM8S]RF#9
M7(X)3>"KEE2H*TJK%\RC.G%,FLQ^U-3]UXW]=\_%QB)XGW];,>LN(_7Q$UU)
MS.E[T3O^F8$]Y1.*)PA/Z)U$H^_#/GTV3_+[$.4%;-.634ZJ[G2#>*H]8(T1
MSFZHSS=>O9)MVO2-16E>[V!<:[,3&ZO.1E[3G4D6VJ88>M]AZ-/BK4G<^4X"
M':VP%")@O,Q>O>RU3A+?>(0[/[$/1Q\&A&P(A/N>"2,U\QG]\I,:P9]0+^Y.
M=?+64!(UM5GT"_TV[?MF["+1;$/8*E*O@B"9S7HL-TS6ZCFP2#T\5?)1W".!
M=R*?OPT!XW;O*O;V_QW(YZ*]:OE651D) 3EH6D6"[;)J[,ZA;)=<V:%'8PZ0
MAV/FQCI3ZL^@? ;F/YI&J(]._=UI:#I^\$\BV?&)<_5@!XH[C66=+.:X)_S7
MQJ>/M1L.M)ML>;#0]W=3;^B?:)7L).?/2*8X0DK5BD>5\86P*L7.ZE^R?K?
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
M,PV/4TA ZC_G0.!SPX!(B67;3ZDOVZ]CERTDHR0ZBXCUX ]P&>!O<,]",+B
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
M5X1_@]]C8?$]B$D7+[C&6O6=7L<_ ]JF2\R*0DO4.,_+<]MEI5KGV_ (,5"
M&,VD<?2/6GLDK/^HK!]K3?5+K)]32\7IO$^TN7S'97/9XHRBISY@?:"O< Q)
M$]1'QM]].H-1S;X_T6!?O8(O0_9/6_+<-&@;+V$0:SUX,%M#WG]7&I3)*5ZA
MLB10AFJ^1!"F@=;,^82"BI#$TPCS1TWB$@ E +I;;?IK "H1=6Y7<(BM,&BN
M\+RG$JTA P$$U2F21JD[=__"SJJ)\_>;F<S;]JF+%ZCO0BN^BV?)K5>%:JO,
M"6MJMRP6O/7:G74F6:@0<09)4V=JW22X2'#Q(,KN75RPTT9/X2JY)L*+LC8N
M&6N/'<(+TE#/452:Q#["Q7VZC=<#36(8/_+"$^K>\<+OP";GSY5^3(R0)#Q]
M'[9WR+ZPFESNF7G/&>(]=DO7RV.9,PK8LM(GNJZ!P3HK&&Q\@*=I\K2:7(*!
M! /W86?_&@:RC6*W7J\O-UQK$["53A[56YL.P  \6\"@Z2QS6DK]WHWN<[6&
M'_/PT8.;8[$1"'>A% \55@O*]*1',Y $78DBA=%:SPJ&SM#%TGAA&M4YK"4&
MU2%"I6GZNYS92V"3Z-%?A<V$J T;XP5.(*T-U:WN9%FK%5@(&Z!!">9LK>:[
M<@6CDPVO*AT]P"V-;W(!+5YHOPLE&7)[_879SR#>5'*HJ 79.1?TY9&%$69&
MGONPDB9,X  ]F?W(9$XPDV#FP33D+V!&&Q%&S]$[FE 3159IXH5@6IA#S  M
MB5%IG'J\W$YTKN$:BO.K5Q8G8SG)_MZ5?OU83/0MK]4@>I[%M0@_(#(+9E09
MLW")\-0\F4U3R&GCPP16":R^NPK^&%;HF&7SC2)=1OB>%IA;9#80T0Y<8JA]
MLVD:_^D9PO\-JYC>\KXDK(+ZJR@XJF%[^QK$3=@YW90L(^K1'C9LU_77;;Q>
M2FO+4:OQW^VT&56//JJW?&BT]V$!X)?NCB_-*)_.;MIS_?^@Z=<R_2'=T ;+
MWH+#S&IA*9[M$5$W-(DHDDM)HW9X92:UF" /&.M,YP>A,IXTS"*[$@;]XM8W
MO.:F[[)@)/5VY()S/*%9EW$NGQEFV6:F5V!V9SL_S/)5I#LD=PVAAF.JF9GX
M)L/,SW5^<+;4NM_OYJK(6NEY8W,X9VD</O/D[<8PL%NY+9\52GS?+R&EWJ;3
M@"/IMR,+0:?)EV:3F:8.Z&I)&F5+'9^-;CB_Z=* T=T!V_=YC<JO?*2]$E@N
MRT;W-X]']BO;OEW"29FCT*F&529"C5#@K>F3>3K$.#<8,SU&",SR>#BP<C.I
M#T>>S'/;QD;E6KY2Y(+BH#+>J;MYG=E?1#L>V1@S M=?]FM::84NA"%>DE;L
M_M[.\4AK/935FI&U!$5#.FAW@Y2V&AQY,D^ZS.H2:^1,3=$)!6>'C(*8<.3)
M/">#,=+4,UU6JZV7:U(CUFPP\\]UTLCO&K5)5MXH0F8K!U+7+ZBM!7NNDT;+
M8G==O]S'.&_;FV:F&[F28_P)?3JRV1^,9R-JV.>"Y6Z);^;%0H"?[;E!=IJ#
MXF(SUI!67G2R/CI6BB/_;,\-H#=\<C(B<228.&JQ:M@=TCO?<T/W"=K+>=A
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
ML+YZL]OZ3U^?_?-?\,]F'=74%!=2T&C]LJULA"]=\PV*_OLL1 ']'LW=G))
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
MW?./APPZU.)1:[\R ._^I9AS9>FM#\HP3SBY:0/[A>YMC'IBF'\CSS]"@!Q
M$T[3V8'9WK2<Z%O[\W+6G[TS7V"-&-^9G <K^&$:F=ZBX+_*8?]*B,<_D)$+
MY<6_&@)WM-,%_@R(#\@!<Z]O:_W1'_^$LYN@A<@YX0 B;TO)2D3-9R:XS6')
MY\.^U:K"L14VG6<KB"B4V'I4Z)VO<$_;#I;;VFY%:/ BTA 03JB '>?3;(-/
M(YE\A:UP>;:$B WP09FO-,1-] [Y$R(B'(_UUXT>*B/4D4:.1SH\6Q<1OI(&
M1TKS'%].\76$P&((4%%H^"^&P)M1]_H?+W04#/W86?[,VQ$1-49. .R9O@=Y
M07H2GY T'-KE>C&@RTW- Y_#\6USW=. []0'1HN_BZ&W9?J^0#HF:910.\H#
MH%7Z&J')3!+\0ZI87^X-J 10_0I*XRBI#DCTCX@WE8T^)0M4-S,N"V.)RZ?G
M3'FZ)&MC%MH-+Y^49Z6)XB@&:<3'P50M#/(JB=7 D^3+)[&VZ^BK^5(TBJEN
MR>F)2J9G#F7\<$U'EO(Y7EE543U8EJ:SS*I>Q^;@R8,U^W1 V:I#%]$6[:8\
MLE53,HVY3,@')Z+=<J-8'I;SQG+9HD?]%>W'6_"^X(,GEV(O.R,=W^5;2U[,
M<..5YH=7-AX\J<UQ$9O5913%BQX93TUJAEL?@B>)ET\2^""?),K!1,J.\/Z\
MTEY1>A:N21V<J#23&I7E8H$&T[HR7NH#;Q' 4J:#MX^<^6SBF M.FMK)C&:M
MC(!OP%NR#MY.L8E5,REIAC'E)X2I- 73YF#UX,';,\W2D&98JL$7ZX::&& &
M;G+#8W@O+-G>,CX9XM+2-Z19KY<N"L[P&-X-!1-F5:M0EUK-=D+O.779=X!M
M)M,OGQQGE_WEN(ES4DOD-;9(V59G5CM&(3FB27J#."U+-)>0 [)H=.1![1B%
MS+G*?$+F_8)$:\EY+9 % ]<AU1V\G=.''C.D^ZPD$%/)\24N3@#($X=O-VUW
MXK+=_MP0XF0%HY)^39ZSX,F#M^-$OR[P_$K@I\-LBYE-1;7/P34/WDZ-,8KH
M3,4\JM>M7+KK5S&T7SM&G]DD9XG)6BDMX:U,R:JM*GDW<90^V]6.PPR+54F*
M+UK+<<_P!K9VE);\JI#(YPH+AK>D45>PT]; !1R7.'S2L1,*HPV$H:$WQVPZ
MEU$'S>E<9@Z?G."#0M4K#S%^J4N=GEN-YRM.34X>/ME-VDF_H4A35)]PQ7J\
M$3=0:AUL>\%Q3<4M^T!H\N*(6?5DUDUTA-"5/E@TV2SJ&F4.$T;6)K#6@$]Z
MM+UQ"5Y(IA'>0JO*J"_%9\,E7BS4F@&03!AVN.HP-VWUDT/;E+1$==B;>5:%
M9UGH1AWRIS8OEO@"1:.MPLCKU9TB+?3 !HX()[G<2&G3A=E$6R,^T^UV%D*K
M#1Y]QBDP]]<C+J/PVWH<IMMHCT=5B>?0[%(65$X@IQPQ7X^Y?/5;;P['/$\4
MX"U]B46:_!5#4_>!3E8/!P3\\<_3QJQ\:W&DQ+,BCX1O>%-IG]=$>LP%_5@H
MG+F9J12?F;/VFW$Z[*<=&<.?Z.NG Q]H?J#Y]&=^HJYZ,=/7C_S9K.7MB.H+
M#D\[,P__[M25\X_3.C-#_RX 6!]Y96+6R88-/4C@AY/ V47\[T\->\CRVV#D
MZ\U^H^][$.9))U[>BN%]O4&'WX(@\'N1WY<CB*_)^6O7!+7"TVI]1 &;5:**
M?%>S%-U^KL:'M89(?+^]RT/^U&UDJ2FN=YH"*>P&@'&RJ7(;'K^I0J87%<9O
M7#7UX5O]=BJ0XIZF_NH'+B2)MT;J; B.C>BMOJ&U\(^P#@G;5A+E_!4U$YK8
M$L4%LZ23S4G:DFM1%@C!GQ*'E3??A ZO4MSZC0CV]:OTSDNP0@>E9@V1&J'%
MG+0,EN:$YA?K9"2"/3%G(-A(@=XMP=Z!<_0)#7E0A7\&'7G7"O$>A<EO:[_]
M>MI/B!-]V%"<8C(M\2VQ[CE>O)O EZQ,AOJ/?"+/IO_N0W;\1&+\;<WV96*<
M)JVYD8M3#2/H&5.Y6#8F"P(6Q4#=1C_19]-M]T&,W\?[BS1:7_=4.&(= =2B
MO73^OHVA_:,<OH^VE$X"5Y.;C<8BDVRSJ*$;6H,LE;UZ:53[[<O?OSJ(]86@
M2J^ILPZ(LZJY,(*U[42)XUN9E2$+:K>3G:51O%5/-E$KTVB7A]%D8NKI3/?!
MWP)=__M!TB<AZ8_<R7Y9DJYP+)[G+;)L"'JV-\\M*I)=J$5#ALFGPU';W\;%
M_/?=.XW'%>LY)B,__,2[D3"G5IIOVO<?E#%,D+7&(\UJ\$HFWU-3J<F"RJPG
M')-/;TU;N">:/:&._#GD>FJ%> IR=;A6Q<M9O:;$K2K9=MHDR_G69N(P^G26
M&3I7<$U?*L![:)/>[7BXS$[9L,%O4W2T:5?$8PB@Q\"-)HKMS4N!'8RO#ZZ<
M:ZZ&*!X@:!,."OT5GNSU:,U7^_KWF:*D>9ZFO3):L!R=8QDV]C; BU.FHQI_
M;/I)>&^TJ,K-08M?+M+).,JPI+8"[*D!OIF =_ANH)U6+GW[=@KF%-T4%/V4
M?%-B[/26[JSO@#7A2/$-T#:_QZ$L^A4UV<\!F-[M;U_7F80OWCRJ]#S'#'SM
M+",(3ET6_3R<X/=-#?J!B!M !$8\86\:3P],/%CB9R$"PYX2;_I!#TP\6.)G
M(0*RQ ,1IT/$)X.G[]JMW[,=X4W>OWH!]KG[BMXSS*X.@*UO')V[%$7.3]6B
M\+.1_YX)<G4 K)-H.Z@_=5?ACR> FSY_P_$5\QWL/[3<]>G\W4EN-]F=%>F^
M.^[.6M]T=2_2\#ZI)%*2#RIY4,F[FO2[$<G'5>MK<+F0MOTTN7Q\&OI#7=\*
MB]V\J_I_#Q%[?D7\P/\/QO\]H?]K?NFU:V_?.&$(F[ZF.E'ARXL+ E[^U=1M
M[1<XAN;"GP[^'+[D5V@>@;=V-,5%>!N>[6"*T*^3<M5U:]P_QFA7\X0?L'F0
MS1=<XP=L'F3S>5_Y&X/F-D/2.\<?!YZO#Y;[Y\=1G+@;Z_5,/2EG]S&O?#?H
M%VK\/W49Z)OUS.L8DY<.M K84&,.0RYEL+N1=^1R,14?B,5A<3)'BQF-:%G+
M'JF6YU%')X;&$DGF3-TIEZ;>*TQ%.+LK_<W)_.A]MI\C[\9D4*B@J-SC6]-"
MS8P/['@6'4;=G1@5H[#$@[QO-5+P3:D[O$,RDN!?).K$4JY55^/V'(UW9F97
M5VMJVX%$30/S@HX1V.&5D/<>, $((._97SBK(?4M)@I<FRT_:UO!8%IC[AQA
M3VE9\::YG"_R7'N>,LEJH;/PYE&W;R*&8_3Y5,ZU*?MJ1M:#!2YH=[U.^E9S
MT*&&^7J77_H]K&(VYB--G:\[A\D80SYH_YN%>+X)Z;]CE+U.\4IZ$9=&&<I'
MK2$=<"M>PGBE!B@>VF)X#*7QD]MBES:\J/OTB![AJFLSU9=,JI&K:4?X+"-F
M1O2H:%@\9Y+XA"O)&K.LR8EP\EB,8LXU>^QG^/&/,-6YS:57R+HZ"0IRMY92
M>"LWZ;.U2:)4R,"[:8'!=$9;Z0>0](.BSV,%O4+(_0(_KUDE193P9="95L>4
M(+>'@)#I2#Z_1<QW&Y*BOXWS\@A)W2 [?L5^RCB!>X0]X\GDF%@T--2(RX.Y
MWR0H01.',A.93QCU5L3XSDG[$9/Z#CSP$2/K%=JOYVVU$R31 C]=>25*#$;:
M+%X#M ^#4@^Z?\2C;I#L/V")O4+M[JC 9U+:LLR+E3I>-\N]K.9 24]'DO[T
MAMBEK:[$?;I!CWC4M9GJ2_:4/COF[H@YSBTDZ9Z$ZKXAH=.D6\BX<SD)[2DB
M1M,/W_W[A*/@$3'\%)S[8Q!X4_B[$^GT$95_7!BUZ@5<C+>+"MJ:R_5^>[7,
MMKPA$$;T^\+H;F(O[]55-T::JRD#7W._C05_@:#,%7OIORD;?];(8"')OL'<
MB[XXX76K.N:MC)7&NTU]6>_/90P-30TBAA'GNC_@!CC@EF(W=\0JI[98?B89
MW#L5W(G ?,?N>4\^3HHZ'31P?L*+2JK>%41U*DZ&4#[2'Y"/MQGQ>-?6@0/;
MD$'@!ZZ&6+JM6X&UOFMALH;<?7HKCQC)M;GQL^;+L7@[@29F;!5?&5,QV5VH
MOEMRVZR,8=!BH:D813YZRKY/=.3.Z/J]/-(1>C;%B20(O79'$N2&GA14KI-N
MS"$]DT##H#$B\2@^>P2+;LIH.M:5DFZUL@Y=S/-33L<)>9@CVZ4AI&)@)R6I
M6!)[2RI_FS 1A-DO1+<F ;Q,4H?S"33/_S:>TB-D=(?,_"&;2[(W%YUJ?7ZA
M@D=9"_YVA-6[LZHPX*FBRN,XEG/F?E[DTW.X<3Q46&$OY2-D] @9W2^K'#7C
M/L$B1$*S:%N6&A*G,65+:"L9ML/"#<.BH!B!/@J#'M&T>V208X;A)_A"2JL3
MOA=O]0R!&%4Z>CE%]Y:AZH#1-, 8^.EG"US;)*Q4FQ"NCWC:9Z?X$X!?^TX
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
M(\!/;G'<4WI)2<_-LK25*TQ6]*>EX5X$C-W,*.>V1^,V)S\J%FNH2BMRNY)
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
MK8+C-J3,FK#Y%MDMABMH9.A/-C*?O*'7,QW3_"33J0_=!K+R4=\L=@(W'VC
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
M;I"VL_S8:8T0SL_/):-FCGK+0CLNG4&1-)JCKE,]<PN\G?H20."?+@7H$RE
M93Q7#>KY;-,U!'R8:V31.KJQ/MA%_*-2X ]K;5,:K'!$0:9NJ-2T19\,XGH9
ME$KCK[:N2Z3@H_'X3Q:#MY:-?*88B#.Z/M@RK,5E9K*"4ER'@#A;!$3DPL@T
M@5\0 OO3$Q*O>F]Q$=/2#E0GY8:NIYIN.F6IWC>(3KY'K/E.Z=W1-2%?0KX?
M0KYOW9_K%HRG $U$"UH((3(03?4<?+O'Y=#^W-^L$5:<*H9.LHVJ$,A9:$)1
M.DV2%VR"? \YD9>+?K^- YVD2.X^11)Q:0OR*&--N#V'GO.0S<IVY7)]&\%&
M_6F]QBSK4AXVB8'IDBR11(D_+%=R:4?EAY+YUI,!)V2^FV!W!XE\GY[TI2WK
MCVW#]DEF=M_BZ-FMIG-VM$3IK8ZQ03BE1>0SW5Q1EMN:3$$[2J%IFKJB*?T)
M"C5A]JL?.+R=V3E[--6V8UN25$XNY?.-AC7Q8/L"B))!I]'L58 R?@ZS_^@.
MFY^4&GD[MW=:'<4TD5S;,*VFM6&&7C?HPP9V)%#M1!K[;AF0J(GFXWWJ_6WD
M;Q,27#^]\8.;37Z18Q:E0"H[3CTCPVK!7NF5E37DPHY/#LF>@7B6)M/0/:.Q
M-(9="5/E%OC]EC(=B61\MA?W*\GHC[K&NE-#2DC8J$PRWA!UUE788 KX<E0V
M39"O'9$GDG&YY% B&I_M\OU*--!@V5:U-:YPBCW)M2>!-1Y,VT TX-$7FDOC
MU&O 0T\0?*Z#E'/I:]E7;^]VD6G>R GW=0%U]C"93=M3W982GL?106?-83DH
MCI9(2>\* [&][B!H<"4<G2-U@+RC2Q^QZ](GE/F.F!&Y3B/5C!KDMI@!DZ]S
MUV@2^R;TJ*C>/T)BLE.*XRB6IL)#,C<5Z-XL-5(L _PX YIB%$803/$GNNOZ
M:LJ"9($@4M[C Z.<.O4?-P6T$)@:T$O/0*'6JC6Q86]98!W&L\>>>HLP!=:R
M5N'SP.S!J.BQ2R6,OC8!CX.X5#LT*7NL*U%KOO$8V \PW67,'0^I;OQ\\/XP
MM00*#GX9?BF>+$2>VC\2KCA:3QJ&=PM_LH>9@I]%2]Q_ +^;!D_3P;=WRW6]
MZ/U@E;X#A"2:7SHU\KV4IEJJHRS >A0/O&"BN]$44U/'-J.O3H$]3"EF].%N
M1? %,0#6GBZZ>_0@!VZ?$P-V3=2HBVX*ZFX@<W 28\6%I%I (*\=X>!#]RN(
MEQAO-P3%\CT]/M '3]--4YW K8S> G;F<0/\);!I^]\.9'55SUM$+'(\=_<A
M50(TC,<O?0=,<4\M\,,3OM+=5R@<M2!^3M/4Q(^XPO67RX6N0MXY8KC43(&P
M8F/H. !_Q(>+-./O@S^XC[CG,0,<^(1Q]V]V4T>\'>W0\UW1)_LAS[G\12I
MIH_:)N\)=D08%ZBX'54>.?.P6!O\ CZ"+]ZQ;_SD1_RV R?!9T0K ;OV' _M
M$0DM_>(NI *P1?]]83_F!([47*RRQLJK*%P-X?-MB:@O [S]L=/^LR;AN=?2
M! PG3Y7)N*6&I"'INC>21+;"4;TV"'1I-(W2IP<1T79=>2^ U9N8DJF)6T=B
M\34VR(QGU:#]P;+XM^]%(Y 71':JKY",'B*E9;:$%,<,,$MI(H>G\=QI=).&
MG+W<:^:'*P(=_L(O^L"5N\?VQI;:S\@9J<&9Q7"]Z7BVYF2T<\VJ::]IYSQV
M6Y0RF45[,A\UNVP0G&M6;9:'N9)2J!H(+U,HN]U8KEO1SC6K-M<M#5/8$$>P
M?& KFE38+EIGFU7S<S[<T*W!U*@9PJ@RWA)#RFR?:U;=T;><5VTA;:.W0*F"
M,YK3 :^=:U9=7RZY^D:9E9%PZ]DT@7)\I\*<:U;=WW87*JLV2U()T+^##:J#
M\OALLVH>F69GBT$G*ZU*HMY>KRD]5SW;K'H\K]2H(:XM$&40\L9FUL':.>9<
M8VE%S]<US!T'!FEZ0[I0Z8Q;X_:Y)M#&I,$(;:JK(;U!*6]F)RUY56T_;0)]
M%5]T'S&U''OBC[U>9,Z\L  ,^\)V?>>,2ZI,>,$K#S1+XKEZ=1O:Z)#+MV_+
M)<WN7%*&93L25TCUF$Z':8J#%,L+HO!5#NG!L@:[;4Y!C;2&+A;P'%S?!%^,
MG)>1NK"#ZZ)Z[@G_".SYC 7JNA+KHQ<0/K<=10D+V^86"<=*C6BQI>H:N8$.
MRPG"YZN5.Q-]?>;A-GC@%/+<;LOVOT<@W?^,'%4Q,@'8I/]$[AY@NG\<=:%
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
MYWCXWRDUODP&E3&TPX=OI_?V]O!-W335B1Z[L$N8J3B\Y-3L[\U&!)DY ;8
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
ME#/@">-8&LF^5IA^;[E8<:;H"\ H23"<!,.7\V[%LBP9N4H^E )6JHW553?
MEI7AS69E3^Y@!YR7Y66G(PEYHV0O1FA6UMNPYR1P:BDBC9*GZ=A$@NY#@FXX
M&PO$9LDV.]DFL>EP_*2]F?D.*2"MNPL*T4QGE!4&&]'HZ42S9O>[1F^I0?F!
MOFHVG26O&10F O2=3- 'W5 @2^.J/G>*=8Q!>N7: BET5U(E=ZNR]%R$1(FL
M9XBILN'"T0"KE9MH?3V/3!"L"*#2:/:;%\;RL%7YMPE@+XNB=68U7XBX?6,*
MX[T^JZNOY(C9JKZCNQ,]FI3;B%I>R#S1F1N6U,00H9-3^!KI$'W]7MQ8NL@)
MU4&S/3#,1J%@$N9X)2(:W)OH?E<Z1[Q65G3G$G<[*:-$-#_J%[\JFN- :#OA
MD/,YTR? O_VP,??O)<O4QMU@AM.*AZP$0O%;A&*/! ;N#:RKI=,DE=35)J)Y
MPV[VJZ)95ARCIF7G"XDGPJ:61XLHY]V+U0SX[$PEF2'-*9ZF.JV,QS3YR&H"
MSYM T@A^SY )7R)^=P];^U1/X$!/3&P?=N'^>8KBN7N-Z%V%[=JTP:EY7U *
M2&-9*]R+&>96!:EF%*8+2:W3[7%?X FA":)L//*0<2)-T*_5/=V30'R5T4TD
MYR7O%\]5@WH^VW0- 1_F&EFTCFZL>[&2+:8T-J>KBB^MS.:X'_BD2HL,E!R8
MXL7I-$$FDI-(SG6<4VJ&C4*?+3E&IH.7K7Z[LZIU[\7FY,E>=A)."Q3'$NUA
MBS#;S2&M0<F!!099$DC.:Y4\=YC:!<]D?<=1+0^V[DFIFZ5JN6KJKY%JJ5/=
M2\H![Z],Z28"BI^W[H3</VK=]TWN6T^%)%UZDNJ"FVG8LW.0#N_E8B<I'[M(
MYP[W/%M>=9LC!#%[XE)LE[B57&K+:-QKATQC6%*C=J]"<,,U:I=OK_-+SG^Q
MS"R8E/U.):/Q4LU4-LM0"LN+920"1(2:<>;.8E)EEHC [?7*^;@(>*;-CR<]
M.LMAE-QD)RI?;\\"* *P3(Q,4TC2[R:)-6XYUKC/^[N7[W?S<1VP'FJ.3WL%
M#N&K([^Z6JD+E 8Z(.I90Z%I D.3*[C?6U)NO([K:BUKWATU%63";HMZ%S.$
M]F0YY8<2(' ;RDI\,R%WS?Z*B:C<@*C<L&-Y^5XSOV%4A!;:HJW-B-.MC:'T
MZG5T;42"$B$2DF?J(G[;K_PZ)S)I'/-=XL8[R1]>O'',NRUA)M2#V5A9!Y(P
M<_L99HYU1QD0V4;-7W DC5%)_C 1@OMJ _-N(>@-E_4AT^5(8.66S=J*KVP(
MM@V% +B#!)7&S^!N)D*0",$M-W!YMQ!X8M;9XB@C2IGMHEI;KBUL5-*@$)"1
M$&3/H&=^JQ1BTH/EVT5Y]^$&7KX'R[N%7W$V18',ESPC9(0Y-NNUYS2,\^C#
M'='3Y&$B*HFHW'\?E7>+RI+N%@<9TZXCZ@;#)^[&+^7(2%2 LX@1:81(<H>)
MJ'R]2WGY7BCO%I7Q2&-5E>\5N!YM(;*V&&14+!(56..>1K*71Y/^.O<QZ6=R
M9Y'A#9\K7[Z?R<>/ %:JWPAQ9$!*O>:RS@TR66O+@K@P%[?8.\4.28JK[D0
M[L/ENWQSDG?;L;!(T=LFH_"&7I+\?)55&J80B0!P^4CTBOY>(@'?20)NIJG(
MNR5@+LY81^@L+:2T6K4EN@[\\2"2 .#)T=3EL9!O*C.8= 7Y]D$<7#**7>+J
M3$+C6Z7QC3HXEV])\6[UWFJ9XTDIO\DAPC0GMLO$-K-J!& 5D8.31K-)]C>1
ME*]WA"[?5.+=DE)I">,M[D\74F@A9IWRVOQ"8:"D $<HFT8P_!NEM)*V$'<=
MSES:ITFHEU OH=X'J?<-PN $BSU!E?UV6.SO/_^?\YCML]J<"\T&G]$:6SQ$
M-!F+X-3I-(6]E@R[<YFYG5@I$:Y[0%-_MW!-F3Q9IQN"+Y6:[?5R+:[5&<)
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
M*W1*C]$S'C7A=YG3SOME^"@Y>$?)P>L[(%&Z\'#9AY*:A)(JFQYJ8+43U>T
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
MEI0D5FL(W49'(MB.&(!$' T5V.I\UFTV>IC>SDW*2CI9(5,T\@6/ADXR2]#
M%GT&8P?I(4=FE8%?@^R4/![J^[2RJ2M5!M/MA%3PNYLBYL&GGB 48Q&TUJLT
M*UA"$6VN5^L0N;POX"<HM5YQ!9LW<RS/FCE*XN=J>5.'3SU!JH757!)D?3Q5
M"=7DIMQ MVD%SO4$K;Q.J3DALF2)X9(N!68CK6<DX5-/$(M=NA@V%-HTKTQ[
MZ=5B83>+'!23$R08<N6TFNC-#8RM<CF]W[>]ZM(7B!,D:)72DL$39D]E ==R
M,AJH)JVV0)P@P5HMEQDZ)2Q5;P:6M-?-#-4VG, )$MC+J5'7L]4\IF@<5QJU
M@)8QX01.D,"=;N3Y<&AM^ 6^,1B"]GS:@D\]08)"17+=5=6KJ*!$6871>I5C
M2?C4$R288Q,RC;,DKRX,;961Z!;#J%!3G" !-^%:--,?MC&N(E*C!I4I, 8<
M>H($G5RYFIP(,LDG<LT%79ME*+\$)W!"8"JKS8;"%_)8502A3[ U>SBAH5HY
M0:UN6>C5VHM$C:FUQ)R[ECI9!VNC<&@W])6/OH.JL(K4>))/ZP559XGVP*-F
ME(Q/ PB*Y#%@Q3NCD:I[XS?>A;DX%3Z<.\YY[6N^9RYQZNG9YV(;3*Q+#Z!_
M<SF7Y7.S+)O&-%9#_US8F7H7NP4&PI9I()<Z &B![\A;H/( K44,H,H#!TE3
MQ""P5. ,4/;?@H$^\FID."C<[NMBN4@S('L:8"='R.JT(==?)AO$#L< +\Q
MWYC]E,.J?3IGT$JQ26NY=@39<G/(EDSR*1T!(]Q#&3CQ1$1EX/= "!Q[RJ8B
M2MP!)2*1N!-"1")Q6XR*7UKIZU;V'?G75SFZ^Y4V.'_E[[L1Q=MEP6>I<_ZE
MR-V\F)%VGZ$GPI4G\?A9M^ J!/^3'8A8X#=9(%)W=\C]#[ '6PEX;("$\R%?
M7(,A?K78B$6NAJ$1J<N[DX[[WH/[=QC^.]*%$?W_5-'=X/;F058^\T2\.F5(
MA&\=[$/A^&3GY]DX_]8W=V_0)FQKY^_JYNY-=B+B@"_" ??IYGU4U3U?#0[N
MJ_[XAY8DVX-JSQ=M6S3<=4PR'72%]$%L_F5JTRYOF6\,S4$[ CO9K['1M45:
M7;@5D:EA;*[-I^J6GVQ_&HOCZ-H!_&/W'K.R@.& #H";L@3H0D+ @_!'^EL>
MW'UT JQ#2>3DMMZGAVH)J_.KC0"8064+$X"GXMG4A2K2KL[+-RBV^6Y<3P@9
M6>?U:7=C\_GDDA@FI%G5;W\>B>EB7$^F>B37JK ]GJNWU8$[GRT480L9@&?B
M29PZ7R7UXWCM1Z8,W; 2#0D@BL4DN.F*&]-,2(GSV;-;^W'G-G'WY9Y]2ZOW
MS+9%TRZ8WMB=>!K\#*%5G=(%R=EF7.IE#$DERIS-6NUJSAU,PXILG(CCF?3E
M+."MN?]V1O$[R\F=V,D/RDD^74J-^)G",V)BR(IS66M4)]LZ;1R/9S+O>8I?
M,]:K&$LXSK37,=]&["Z;OO&8WG$4Z=VMS7MFLA,R28Q463>Y<H$I57.;KMRO
M>#6:%C(A\F[JW4KQB#V_ 7M>WM2\QYY:,\_6QEICQGMIF_!:%IX0O#9DSU0
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
M)KD7E.3OS/%W<$XB>+SDK]O80"6*#;*-E7/^:NFC^?W^.<F_752>=/G<P,M
M9&)^EV7#N3<]'?Z:=#\)##@MQ!F*$6(LPW=D9?G/_\!_=D^2-"#:2*AFVY][
M%AGTLSN1POYU$<&0 &JJMUMG<C]<#1==3*2H<"7!O(-__^__V9__BTN:D$S-
MM'_NY'MO83. !#"@IR5.06)L U%-B!/XVS]%S1?7SG:A%/5$/.N.G]C!Q-)/
M%/6OV,N?:$..=E,75XF]/3MP8\)O[=X*=,+N/=-1$'E^VD + %/0LP^>&A#&
M-:W+4.5$QH!\)L'_B,>2$=#Q1VQF(W7S7UTV?U*&T-]0*J!6T<)?\T,Z;-_Z
M\4\7233",LDC[64@9VW+NV+(OQ=FN-UB4R^+'1_\XG;"8U.3X8=YNDD7*G0S
MQK%UNA.Z:)5F_NE__CV^Q^DVV2[#Q;IL+,\VX8PK!;K+%&+%2I-NYBMT/<9U
MX1L-IMGE8DAUX,1_8G_E0V4!Y+_O=%%%MA/KEIG8D*$[7(QI%N"2"DR>:>28
M3BR)QV/0X&'!OWB B(/LW[67@F._MY:_*D;(1-V9Z3EPM@Z2!?Z)>XH53$T3
M;2<.70$-./!]=&'<5QP0@Q$0=(;<?0J]K],/%=(I32/NS/2\7\_BW<PPI8)F
M3IHDJ[E>JDP+@5\:R.3SR*;7**\L3&MB9%+@%S0V2??SM$ <CTQB^JC=PY8^
MIB^F[LQTDDQBXPL!M,7AR%8B.^*M4L55B5QC+ S7=%G4T3/)UR/==8K(9FIB
MEB<]D9O/^4IG@D+>XU^?9/. :-37-*-4BOQDFF-L)H%&'OVZK]2GFU6JK*A]
MM5Z;UY?%R;I"PY%'O[Z8M!)*(T'7&#$YP5BEN-F8A"^D!.SUR((V(!/X@NIA
M'DE,*X/1K,RM:2%]/#+M]1>CR2";X@E6S"7DVF V(7V!/!Y9RR_X>5O&*XS.
MBY7T)I?)RKHO9)Y'OC+YX??&@E6DQI-\6B^H.DNT!QXUHV1\*J"AJ=!]#.2>
M=G\U.GTI7&WR]Z0&IYZ>52_;8&)=>@#5W.4TU^=F63:-::R&_KFP3MUF1'#J
M>*K(KF_G6C%BHB1!MR9 5/$5=Q:#&B7&5+JQNNC'8U!Y*/ Y,M0X,+"29C'1
M1LIF8ILZ AJ;*&Z@FW:U[8JQ! [40;% _UEHK /?C+4Z^1A4/0;\)/"N8E41
MLJ&]C@6*&:/B\+D@YGCC.9#<F&O&Q-^-?2S/!D*OVUT5LP,:4Q45=%/UAM.I
MS]J'P4_!LP.^AUIK&_UTS?U8R+%=H8/J\NF5X@2O&HJAZ)[> /H8V$)AXXS:
M10)OJNM-Q>DO>LM>0Z7W8R7B=T$7^G";9Y =H+L'0Z4.5-JL4=AN=$%Q7%L9
M>W 3<^MBN*V58%<11A #.>;@^G2""&.IIFC;0GU1!YG>I,-A;'HQ8"=SCUX-
MZ1__'",Q_"MFVO>PP^)J;X<WI:8(W"FG,%ZN[&53U<9,*=S7#G/57&>TEDHI
MOE9+JYIEEB:KM(_ZUI_88O]E$E &4-H6I1^?8CR43#LF6I8&#39R=)$$>D@7
M3*%,P9&*!6T[%(G3I4SKF /= DV.C4,()!B2!. 2:%#P.!?HEFDCZ=H#!A3=
M<-'A"!.A4 3^ Y1=Q8#"KX@:?!K\7C"-L8ANY2'HC^"GPY=0CI%N4)[W"KTC
M/LL^E%Y'D17XNT^QLND#^.5WU@"?9YANL("I$>!C*)/@\>%O[<U\.Q*L+*@;
MT'-,^"WX\,#G";Z"9N  $"QMXKF07P,7#WYQ_TMPNRP F<?8SES>LNM3C [V
MH0"D@ ]WWB(11YV'T"?H-V <^<(W@2Z#^Q1\#Q+2-B$?0R;3UK'_?K"<#;^_
M+F:[+':RE0MN1],3)1N!0$CMFI9.#M<]3-?KFJM.5O5)':F<+!'/G.AI?\2'
M:&_SI@ZCNW40;&3^XP36PMG[Y8":XF0".0=NLA/8"KA'\'-@'],6$@'.?6N(
MXL%W;T\3[( D"0=(B"P^%%X'& >JJV6;*(D#9VO:AVKLTRH,VR.8IX!L=64(
MO.H!?9I66C)T%ML__C',8UI9NZD$Z@51Y;1*BP48I.'48C/1@>0 1DP798#(
M:P-SYV3 KVE0._!6\(7M&M#S R$SH40_"]84&,!&X<Q;#L.+[.OHZ\^."K)L
MSU%1?)^_8OY.;>XY&NAS^/_&OCY&*PVTE>B'O&>#J:<%RL)YBG7A-T0=*>Q
M_#UC3X>]57L:ZN<9V%\AXN+M(NP #P@^[.+:XU=>#E!XM5:9%[(\ZU,VWB^/
MR5SZK'7ZZZ;I=IYWC XVDIWP>[MXZDM_J*9&/2O=S(!)F5$<EA1*%JAK.E13
M1#9.)C/'G \9XQ:D.'"')EW6;"?R>9SQW,V\1V%4G4N=M>#\)J3(E#"A6C)F
M"8R;C!P"=XS\LCM%%B-.9(Z/MV ( BPHUTCC0"+X,X!D.W1$=!W(R") R9E
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
M]0;E=4?B$D-2V[4VBF<RV+UT-GH9^ '(CUOW.=K'[%&<F!-VLD&0/ AW,40
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
MX<87%I;[#-H^XT$"=U?B*KJNK8R]\!ZE:[[4<',F=,AC%4-Z>JY/"F[#?H%
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
M>J]V,8B._AW<W;L?40UGV_1T^'SIK,RSC:5PZO4\NS, 2:-II@_W/!8V-7&
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
MU3(S*-.]16D^&Q?I<M% )GKJ??;Z0KOD;&,YI_(8']#9M=>+W&E[/6!5;B8
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
M';<<D-7@&[=&G; 1. N"\>"#B0B^] K U563U44MT+868"::#IYBZ;B5GF4
M<0_N&,,GP7>!QT%9C@O7H3'!UX@3$?=N@H]T:D/#^]TA@"M%!2>O@[."FP7
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
M.1K9/D\82$,CZ\546]#H4)$=IB:)12@Y7Y\3OS_V3DU+=7OZ0A:%YSC>=>$
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
M$59>7!&L,@5#B44-:]N:$YT#LSS4,U0&RP.8:(5WDD?&L67 BV\:O[!CPD,
M="4:XAAH2*;]<R;R@&W!!7!=B,C??@SS=W!\IEZ.SY?C\ULXW5Z.SZ^?U,OQ
M^1T<G]"5>7RVW/O0\UT(OKSR",0EOVH6*K9RIKF-K[*HV]L&_):8D6/;RN1U
M*=2*%-1^L[4L=Z=NE3/+"$U9=O&S+2!W50MAP["8F6APL@8MD@YX45K6..D/
M=T7CQ&89[]MQA:BO%ZE0F69KBKD^=B*?O@ZM?/B/ + 1V 48@:E;PKU<RK'K
M=C!).B[E-IV'DB10K $&K5*=8KUV#ZZ[NB2O6_ ,*((8_ 6O "<_ KN!7JQK
M+'36^"OH.!HD3 K$%'6TXU,WNI'>^-$BQ@GD@.;+R_0Y#. S45CCV#ZIQG(S
M49CXWN_YX116 HJWAS34LU7/I(4ZO8/HNY?#!&)91@'7CI?(TCD7BD;QO_!S
M\!94P$_EA-,5Z^%KD.*,#%($] .[!%ND:/1HM/1&X"P<KHT2.'6OZ"1^7#
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
M$  1=[(0 !%WLA  $7>R$  1=[(0 !%WLA! :OFZ"_$ !ZEWUU"I[+S;=><
M2"V_*K6,@ Z< "\/>+CS$*WI0,,^8"O 5N[:5H#4\N-8 A"A ;0+T"[@2N_#
M,AYM5H"M %NY&UL!4LOW;P& ;@&Z!>@6<*'W81F/-BO 5H"MW(VM *GEQ[$$
M0+L [0)2RP]ZU ZDEH%! *EE8!1 :OECV1N06@9<#*3 'B%4!6*K8/G!\H/E
M!\O_@-DI(+7\+R"U_'CRD>_<0P5YUD,%*;7QW2;)YJ&UQ0>N12<&NI%8][ K
M6VJY"T]216_6&SRWF+89I<\V4^\LM8Q#&(5 )(Q]W";/E3OJ\@Q0658#O2'7
MJ@\',V^@&=/13F_3Z#PXE*VU3+H]3ND.]BW-9YTZDJ#:O*6E)ZUE!$)0'(+I
M#XQ, ,RG+>K6C?A^ 8V_T(C/:<)F?T.H*)SIQE;BXIJJ1^^-J>\VZCL(S3!%
MX&83)D<1K[:&N9$,E9/:,HK0$($ M66@MGQ3F&%,.^W4""ER56S*= FD@^S7
M:<E.)T,Q<Z82PEZ3Z\M@*E3QO3173FK+!(12%(20S&-W8P=JR_=U0GCG,/U
M$>,OR??M&\1VW!38B/?EA NG+A),'/NDMHQ!),WD%/0U789' E-Y42" W9\1
M$OX2]+;*/).$]@3A,Y&?'#:S S.ATI/<,H/!$,R\YH(?"7@ =R#BNZ[<,MN2
M5KR\8*HN.B'$^GH26?L]>Y9;)@K)NI<Z'Z #^Z-4]]RYT[IR2/=+3D.JH4UO
MU/%0357;77OBU_L;Y"RWC.=F3T'TJ^JICWD ".26/YR@Y!]!/-\EWGM=>,]"
MV8ZCX6&J.5Y5"<F%UU][[$ENF:11"*<^L-CR/9W[ 3#^*5'@ZX#<ZSR[\6%=
MYK>;_6[57\>FB]EGM64&@Q@:J"T#/-XK'LL+%%]'%6.)LT$XW-IN1LR,CF][
MCI@H)[UE#,U)\6OR10!40&[YT:+&U^$0;ZPN:0W"$=R$VRJY(@^IC)_EEAF8
M@3 $?>SC/2"V?(=[PA\E#_N!(\J?E(;EI62^;/LJOZW/(H2*R*2W>!);IG (
MP5[;8P"8 )C*!M.[180_!ZAPZ)E;]$ G<',OSJJ+R:&W3NRSUC)#00@%#@0!
MH#Y02/=SL)![ X2N+:HZ[/OR8=@,-WNQ_:2VC# 03,$ %O?Z_MJ=P^+*0=G/
M&33KV//J,C MMZI@:M_SVXRHI6>Q982!(8Q^-+%E(&3\S?6! !F0Y/NH"P%$
M*N]D(0 B[F0A "+N9"$ (NYD(0 B[F0A "+N9"& D/%U%^(!#BGOKEU1V3FM
MZ\X!$#)^5<@8!OTM 5X>\.3D(1J_@79XP%: K=RUK0 AX\>Q!"#Q F@7H%W
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
M"N?XH5Y]]^XQ\[=\$@8;JY*;0R4H HE*:-GY<T5 :/A#%?>44^4$#  8 #"
M#V  #Y!W.1]$JAO#>= ^?>!-V/<L.^-5/>U8 4W5!0FVIL:N0W>$VKY>=B6V
M:!-F.JEW&OPV2(CU01AKLV7.0XE3^Q0:8E[MVOY(!@^J:^XJR_$5,K)@BR&9
M8?.NN!PN=X$ED,FD;&3P1E.SVTV1U"RL-4]IS>VTMTJ!C.*T#H8AD@#OP@)H
MW++P+(>&U(D,2>LQ'I]LHPX<=%C-$LI._HEP35!AHN_S(X*F5F@C3ATA+:!1
MM#W!<(B^P0L(9=/Z,^-C\ZD*\[N\GL!;V0\&XI5'(9&LIG/5MIH*0K359+.S
M04>]24JE9;M*E%(UTW$C K8HA=/&D]JPOL[W@Y,H" I#. R440%^2J>:.7XL
MI(^TJFP$P\8X2X;D=C-)M;+QP\]8)9KIV[6;F*.Y(ND:C778 C\%U22)'TAG
M ?P _+Q/;Q9-7\G;+#$Z&UPC3=>K$NUA9^*7S4<SJKWTU&HGT3AJ'<>*MIJN
MB"-^"F5A!H,8XOI':660SZ:5S^LZ>\PH$P29=TDJZ[QNKTP8]O34XL4HW"'$
M8;H;<F6#>N>Q&\$:37HN*4?&,F)$2K:5G&L>227"0#!&?)#\"T#&7=+%'!E-
M-9@2C"3W^,1(YNUX[A/LHNS:D=ZZJ>.=YM#1C.Q@3-)&O6JTV0(91>T5AD ,
M Y !D'%#(I@CPY05"Q86;,<59VK"M.;=WF)9=E4O@2[#+-*E,6S1FM=O=C9+
MF$L+9!1$$$4AA/YX-55G;BA914%5T:<OJH#8$,2&[TPCI8X>S?FPNEFQ+%R5
M)W$;"P)R6KHL.9:9[;EJ#\>POPPU;9U:Z+;HU'?4!V%(" .I%0"?\KEF#A^A
M+1[V:,O"70..DEK?=;JK3=FIR:$H3^F4$SU8G2@CD[5&S<1F"_@<3\%QB$)N
MR#4!?OX\_+R-D>;XV8@[)R VC2%/3@X1O>AN8-<M&S^K_F$S7F_F:]X9<=7N
M(N;[(\$N\%.TC<8*__,:?AXG-:D&2;RLL(LPOS<0:X)8\VK$<LKJZX-,#3:]
M[<25VYZC=^F8ZD=EQYH9/]Q+_9Y4TZHAYMGS. FT0^X9CQHB./,#8 -@ &#\
M)F7,@4%6TS3M15;-W0HZ.J 6L^E\5G;$59WBS'KA;AC>4II^HZ>2Q*)XM?HH
M(<+ $$6"1I8 &#?D@CDPG$X]0#$LK<-52E<WNM/MKM=E>PQFO/+&@^70=YUP
MJ7,XV^GLO*/'*+@@0D/XJQ7%#YV=/"O(B?F7S8/K=70N^^E @/@H-+)9T^-5
MSUMMO'K-5?E:,_"6M?62+SM U,1)G&S:K26OUC=U>V)-_0%CZ]A1282&:!RD
M)P%Z2N>:.7K0R:HSY\>ARH\&U?5DH+0$1"Z;:^IN@B';1B#SU>9,24>UE8\V
MV (].=>D( H'\L4 /:43TAP]/AJ:E%A5^VZS-MRYRJ)>@UMEEUBYAMT55:DQ
MY;.6U" U:31KC8[H*0@I3$(D^>#M\<[LDSM8YA+$F"#&O!J=Y*9ZKXG"RY;?
MWL#R4.T%L]W4V1EEQYA>E48H?#AMN\U)@DWX9&0CR_3X<,6K!!""OR93"8 !
M@/&;3#$'AD%@6H;C%J]51QU7;Y-):S\IFRD*L#N=1'(=T=1]?^3C$MM58KMX
MN)PI8CA$P@ 8 !@W)($Y,.)M1++5A(-YLAO627OD[5J'LA,0XBC;SV%CV>.S
MN!;4=WX$=V&V>+B<!%(,A",?5MA8""V@:_S!(\+S4H,U_L!K?)],2.#U-K+H
MK[H=9N2B^V8/57"-2UIEAPA[7+2WR_Y&<45CRK>19MU;I/F&CYYR9O0M(P2
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
M/1WSM#N0</94]^ "SLG^9\]CN+TH$!-%@:(HT%5$(*(HT-<O*HH"72H*)*F
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
MB[/>.'*NZI3CVV#L#D(M[\*8FJGZW;E&2WQK3LOX+"T[J;R&,(:NKU%8'+M
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
ME,@3U-);M7JKVNGX&*,4\TR:*1K"0$-#CV HDX1&EN1*!O,+^0PH)^9<*M5
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
M%-&%?9DU%5P__.'YT(/W<<X-FK4"OD7+ZM;,RV9[6A]DUWX%2.NHG0(E\)C
M)7/=>C.[,.FV5E/G^[P9K==$C?)-0E&R84?2S';'7II2GQAU(%$,['+)84+V
M;.(10NJ&D4+FS\?,G\M-7.N%]=CGW':;Z+58M9;;;Q[U8 8Q@S5=""R;O?P^
MYTV80@=QV_8T5S;4C!87O8FM(">8:UY&B9_>P2-*Z-+NGM+]T![H14+) 8DG
M@_E0#BIGJRV(172<_92[7!CD=MR@$?(B97:)Q\F(USME$$FX* >0QDCAFH=5
M4&[2Y_.']DHOK9G_$,5?SN[2KB25P/LG$YK$CXEB:>'-FAO()#S_PF,T>\4F
M?PC)ST<2G9'YS"EQSM7[K*#)/2+?TQ;KF: 6][T.Q ^(:Q[+$L?:^L-'9SY-
M24>/(@/N!;^2<$ZN2KZ;*?D.U''TFC<=^_"2_WX.QMGEMNW5K:X4&I--S?#P
M5K@#<S ?6\,8PYY+NT@0,_=G8R%G^*I('4VG07?<;.\D7FH1L]Z0WKJU,DRY
MY>-"A%GBN(P1,H2301(RA"\M6=\\3\FUQ7Q U!NVI#EJL!E00]QQ(KHB)SC5
M+O#+%(? N4Z" _)]DSP-WX&R+81:WWE[YD/)W7:(W+(J<@VYS.:,UJQ3!6$C
M;GG#$!A[HBT \GT1?T@&7X0_G<()Q]+UD*BUBF.=V9O\>!GQ!T4QA5'4<1E@
MA%^:\$/:^0K)%+\F\36 ];V^+0U6@P91:HR&[8+H#YE-!P((3]4(&'<%[?S)
M)N^3P?OBR$PBU]G(Y45:^,SJ^<!\_<=;?@)_U6Y2'.%)&F'D9T-S/\YJCCF;
MD%&3&IK$! +9NPG%"NG:*[/T2U&[Z6FCH3ZLUXF\E2V6-7RL]LLY"!5,_N51
MX5M$U;UKU'=09:ZZ#4L) X'HY??23O277<+;0*JB_HTD>W:EF'R7][D)3]0Q
M)K05</FR8<.J1QG7\0UXQ\CO10O>M,K=J ;P<21YQJ+H>-(3%+!,\(O2$B>B
MR:+"SL?C[7A&['JXOJQ5EO,M$+Y4W%*&X%!B89I-)Z2-_S'P?CF?SZWB<,YV
MW)EI5$J=695T6DU\ PD$*IG%LN0U:]LC".\#PM1(Z2M!F*697;Z?4QEIM]YR
MNLSU.H-%!T(8B6K^_.YGPNS?IA9D?"T(+&T)_5_4 /U24<7QP(/$XS_[C72W
MF0B5S'\3T3](:R=.:S\MW)^ZN+;L'@@<+?U'7]BS465/UZL#VZ_FQ1VUU!?+
MB6:-W=R$BEL_93&6O&++QKN8QQ%Q*1/9'R0ND*E5EZ#+#Y)<81EBH@549[^!
MQ$7)Q1Q]Q9-R"+@[ BXU@OJ#P#&2T%ZU0[I)#'L#=3MI^E*G.(/  >',T.FJ
M17K0SHKLSS,N;-VL:FIFNLM\"6%;*</^^K(F*;C=]663*M+N1=]N<$&YR>^(
M* "5/""E?0#E82?YL-!QZPF1W#,AYP),V9S8YI+$!3-4LSUCM.Q6&0\$F*@I
M%45A G_-\T+('T-PIE)?7P9.:NI:P799[$IXHV#ZJU#=B78.P@DS/#@&HP@2
MT7G7=")=_C%=_B907_-)-[;#<7ZXS8I:X 1D[X&01]X&\@G5.8_QY'&R2&)L
M;?!75FRP/'DEMR]7]O_^'.Q4%.9&HXY&'8WZ?8QZ\CRD5_ULXAD,[L-&/6W0
MF764NI%67RA*W6C+N^AE[SLY914:GM9[\<:?4+#=_D1U@U;8)U:#77DTGE0J
MDC&;4$S<DYS#& 'Y/R@_"OD['X&L_K@I^8,QZ8I<ME&1Z>YX+6L="!DL,$K#
MZF;'B< (,@39G7HS[X*LP#4)KZN/"3,LY!\+U3G7?&Q',QGWUW>.Q1CJK%5Z
MXV;,>5DKZSI "HPQ2B^\R07;#02'E,O<W#,!)T)#*V2]\3 01V9MUGWP%M9#
MAS1R$RKN.X7QW#5G7P12ND!*N90]"]*N-AO[K:J_,HVNN=7G7;6XD#L0I.@L
M#<4G], Y @G)U4O+U;,@K;V2WG(=9B3*ZVPM/VEEYVLYFI& 6#W532H=1\QC
M\5IW9-M/2071&XT<=[?V3:>\+3I>VW/ ^*D^[%L7@=-W?K,0G@Z[C8 BJ9DH
M+_OK4LN=-J,CYU&+*9@T)#!":MPFQ-]M\)=.5?PN_NHMD1GFU8>)V.*Z+EX;
M.9N)U('\13U928R\:D]6Q-\]\I=.,?TN_K8/>ZDDM!G!E$N%^5Q>UW9!/N(/
MGC6G*(Q@4]%1*A;38%#BAP7/F5NGE'4&K<#1>3RDKU_E_3YST]*;#EBD=S5%
M,];PAQ]WB#X19&K%8F,M<(QG#EVC&FI<W9@Z8 $?]ZLB,$8X+BN#.$0<(IU]
M60X=>VXT%$[-B]28,@1V/]B65AO((13;+(T)Y!5KK"$0[Q;$U CN"X'8:W,=
M?#4?;TV-8G:\-%3J0R("$:INGL+8$YM#23:U7QY6/YQ/!_\>GY=)Z,(>'4]'
M!O8UCJ<_'RG[LQ.PY'Q9K\N6L!0U6MHY+:6MZ.QL0L6-LW@:XT[,[TDUTVXY
M=?*^Z4R=[+X,G:&ML4VQU2^(1G_$+XE^=]HD<Y!.H+ZS)$82J+@J@A-YWY\"
MYV+?&"F$6ZY(J[K7?ZA5F'Z^%TV=4)&SF""<W0:^<1L<_)5%PY9M!9U.3T"Z
M&3JGC$8=C?IMW')Z1CUYIM&KS=NGS>V,[CG+S!?OQ5[NUXP_!XH##S1OF0'Z
MSG,VX+*0FW3[Z1YH9_9CQM'+C(]G4]H_N-)M>0<OXU2?CP[3:)&-6HG8/9KT
MVLWFI^N'S80^=-K!P#H(-=M!:5;(!WH/;+]<9#Y6\GN2*OF2E->VTTJV-GDH
M<3E('?/7=^$T=<@!2A-VKZ8[>,<D]7=B?(3?I=/%TNPYGVZ7A#7'W;3P/GK9
M$C0F]]?3%HU>DD</.?EOS6)_D5$#,]>AQ/I-ZOJFZ$[80M]I2[C/ACC[4!WW
M]!Q\'+">;!9C4]M\^,?)T'C"E:\QY:*C,3<N'B\^): 1O_411POVMYR+>GT8
MZ@_F%'FM9A51LQ[-7H,H\[HOX'YC-J'C'@*_6*(C .\%P(2OUV$*KOO3+HKA
M^Z%L*QI<P"O.<@EBBC\'4*/2:$E<=21XS8C&$DW]5_/J*X<HU]+S48SK!8YB
MGIC]?7QB6\6'0E<LU0MEKT%(N-D"LS\=E9YE!(PEKSC[([J2/J_?D#GP<[*$
M,I?MF195/W4VMN;Y<\,%OPDT,-,?U_K/;(Q@[H3!X=MB;6 'GF,E5.FBA J4
M4/&>>:-AV(X'XF /2N*Y8ZF G!/3AKC9=,R@/=R9JR4S&+2;E95?Z4QH)NX*
MR6 L>\5.SVA;]_:@2[8SA\8860%V=.T@Y&9L!U5*3X7(15+@O8?\?;AP?":B
MH$V#<UE>>WS5ZN^:JX4H5VN>V>%83QX!.1 74(==HBE492.5@"&_+35CF4)'
MX!#+8/S+>)H;>F!Y[U_1^4>[6;<F8?^)K*34J8 7Y36[S]3\SDDV=G+?9)E1
M3<)G+66PU"9#=Y6;T%%9:1;+<M?L_8# NS7PTN4/H!&_-[?@Y]T$;:MYBA%+
M!Q\&P(SCPA"6")?@VGL!-UM<!+D!E]L8B*;]5OS2BP<:U!,RH#\K*C97E/9B
MOF\-M?%X5*GD@ R("M^2&$$GL^[M[1C$B:$M0=8 &MT[- O^?E&@TSV44LI,
M=YDOAVJ=7S/ZB0)""16PJ%PGD@57KMSY7&[KI_)CK_5!U0I<H6 &:S.OL99+
MM/-E0=E,Z*A@)\-3&,,>]V%."W0WM*N,\$QK&NB'\%R6@C!D]@-9PEM-6YUU
M*X69DH-X,G]]IZ^=#XKPO'T\T3G?:S/YRVUV9Z+W!KGYC!3#Q=;(-2LM?B'/
M()Q7//[[3P(HZKJF1*4UM.TA$Q>\&-I3,F\BEY+W8K:AG;9WQ(7XA6_IXN%U
M[X*[:-DP5,#_Q%5HK$$,L ._J_F!9RC@'N$7<K;Z\R=>_,F*K5@A'/B"X;N.
M+ULE,+.XX#O [^&S->Q04UNN%C_9L_%&GP<;4PT>NQ*URDG-UF(E6C,0;[*1
M5J<QBKEF;?V[F/GO&N?42>_;QGGD9->5Q4YV"9QP5ZMIHRGD.AV(,]#V?)9'
M+*>49=3ZZF/J_2:P/JIG.L\O]WOA84*4UJ+7)_F'1ZVR@31S4;X->\QS"MQZ
MPU8\#>;P?0%C%?W?5WB6#YKX6&SE:S\><@:\R!GO>0BBKZ?%JT#G^="BXA?A
MZD.!J0T&RU$K!\P*!\B>P]7+$!B'Q5-%7X5-T%@$CD=0Q9JU\BKE07VPF3!Q
MJ64*X\GC!O=IX?*&/$2T>$C4XN$?Q_:7"X5>>5UK='*]M5A:3_2Z93G>*CN#
M_,*% L9FTY/*B_A%'O^%5@FWPR_>G2K5LA+,I=Z 615J=7IK3#N07]C9B\1X
M_GB+/5'[!/D_EOL9.<@$<RTSU<!WVS"5Q]&C3^PTV4NDO7$O^PE77@7D_$E+
M?XX_9/83XD_(SPOF;-UWB958G-3[7-AEW$_2#R>BR"242*O EGEQ-<E)=9ZU
M'0\'*H",#O5B-'G%"A]W,>,C]#YMQ2TM'L8#H^L%HL:P"S9'/^S;BT^:^D^@
MQQ)3K52VARN)FBR&M&^TE8#.0?1@%@Z+$13*HD?L78"]SU@V[[=S6^C[;8(H
M;44^R[KL@)[=SK2WJK%XL2A, Y%2:LU*EMWWN]"\BFKL4SS&T.?,JT0:ZV^7
MTQKXTC6$=-I-]9_C#@WBCNJ$L.30O04>-.D?!1Y5'*T*K*3QYE(L$'.YO^YS
M+-#;5.2:7WG21ZX;0A1I@]\A*@SW=*=)%QP3WRB$4EBTVQ5K Q%E_D ;($01
MHI=%]#-<\YVN;Z;9Z2Q'K#JV9^9<?5,9S&X&46=9'+@M6R]+,NE5B?&C4B5;
M$:+0^V8QCCMWO.SVK>]>Z+J6!LOSR%9&-7S%<OS0BVM:08&N6\XF8]CQ\P<W
M]RT)OL"-EE>Y]AV?WX'[[$> 1AV-.AKU1(UZ(MVGRJ$I0\:5#37SQ=:B V#R
M$EQ0X(-)S37 5 >^4TU-C@G*W42YF[^0PT\PM $+3>U4<N5@.?.-Q:)3(H:B
M3BA.4>-G8F?"1*T7>"S+7;'2,EJ"WAUAJ4NS_#UAY1F^5#C3V$O#HKU:#U=+
M*Y!RD##H\A 8Q2.7!R&&,B$_@%BESFK3^=[82&%_7O*=YD0R.AN(&/?7=YK
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
M$O]7=.F\5YA)['PAO.!09EJ@4V9>OTR;SMW]*-MRK$.6_"0Y(??7WZYDAR1
M@0<-O0%F2&)I)>UJ/_KL2M;A/SJ=4YE3F;"4?)A\_).D*JD*)BU)-*,62N?<
MYF2BRI)*\I%IS84@[S1/IXR0@Z"W%W2#@_U.Y^@0NCJNVR@9D;VP-PK[W?Z
M=(?18!3M]<F7CV3G^^1XUTF??#Z>_/O+J1_UR_=W?YX=DU8G#/\Y. [#D\F)
MKX#N>V2BJ33<<B6I",/33RW2RJTMHS"<S^?!?! H/0TG7\/<%F(O%$H9%J0V
M;1T=8@E\,IH>'1;,4I+D5!MFW[2^3]YW1B!AN17LZ#!LOKULK-+%T6'*9\38
MA6!O6@754RX[5I71H%O:,;0,H7I#YJ(SYZG-HUZW^]NXI&G*Y;0C6&:C83 :
M719I/LV79<J;%FDFJ.4SAGVO])H(1G44*YN/-P>XKF79M,N4M)V,%EPLHM<3
M7C!#/K$Y^:H**E^W?0E\&Z9Y]GKLI W_+X.NP3S++FR'"CZ%SE%77\!E"LB(
M!OL@X2<D F&"_[V^_X$JQ&LJS)DS-E8BA<K3?WTX>W<V^?U5;[\[[O6#_F$8
MPU26/T'Q!'1E>D71VW0[9MKRC"<4)Y7$"V)S1HYSSC+RGDM8(YP*\CD#"::W
MJ/:]YO=+I4U%8?E:1;ZQ!"WQ<SWH]HG*G$G?J(ZI9*;S^4*P!7F;6*SI=[L_
MT1G_J0S,[>('9IVUR8>*9TQ.8<ZIG+9)XOR!;J V^KEJK<*[/PIZ/P8X]M=H
MDG)3"KJ(N!1<LDXL5'*^.@*N_K7NL0^_B/N]8#B\VN.#;/./V%$DE2ZH&*^"
MI"YJ'?6"PQ KCNJO,Y+3&2.:S3B; X';G!M"I:P \9J52@-$)'D/S3V:^MW.
M>P3-,94TY1 9OBE!-3F324!V$&._OQKU^]WQL2H@;BS<4V^\.W[QXF-ZL;_A
MQ7?4N.!+B@4YEVHN&$3IMG=F[<54@2)207B'!I1+</*"5-+JBH'F$+Q=[ ?/
M4E+ DT;*RR@RA":JX(Y7G-P5 <D29@S5"Q0IZ#ES7+/LTT!9"LK D *M:,@H
MX1H2#A"#%,2 )BG39)[S)">FPH_+]G.F6=T)&E!P Y$1PZE/430S)1 >CH[]
MEJ":2L',&31+/9LOI^$%AX^*P\%=<<A(M@RDEYYM PA!'*KU2CV7&?;O8C&7
MB:A2Z!/0L^+&-B"/:[$@)3@?<8MXAO1T"<P:$V9C:,!^ZC*G-DI4 @0 C0H@
MXX8S3I^$FIQD0LU- ]6:S C%$J\TJ-A>@9MI-+FBZG81-QAN"W*#IT'<W@;B
M)I?NP5C3^V-L:D#52032A/*IFW/<&:&:.7R OWDL&+J2, !E++C)41S%"J!(
MI$E\AHE*A#(5M$/RU$IXH)1:P>X)B@W9 6BD#(#F_7]ZD6 FPUR*];42S-1Y
M[X!V>L,=MNL?L9/>,/5%NZY/CCF@]%#%D0C2V J"/:A0J_L-F5T=,H,AT?8U
MA$,U)@3;S+H\EJX#;0/H1P3N]3UN [D[='<=NB?,@+;@/1?O;@=9&T-Q0BMS
M]R88$V,&,*E'\E%651HZ .*:<>.X$*28=/U@QGW)HJM,[+>:@+LZS-:(:=<4
MC34<Z!04,4KPU)T&F"HV'+)$S5%[[C,!%Q@D=E,9C,YNM1H7RAUSPAX>M(%=
MN6M44D![4D&."6P/-CD-+J,\M/ YPVJJ []BAH+ R=">I=ODX.>"YOB':+XS
MC5T!]=T)\,[8AO4PXRF2/C5*4N1\:@#NF'E"X93JM($5H)S3F MN%QC\KQL6
M5YA#H .77QQKHBN9JPLM%[5!9:5+ +=QR4J2*)TZ!5P..V42<A !&(<:5N+B
M01'(SSV.89'Q$CC]!<F/C^1D \FG,RHJQU_H9I9E>)HR P>9S81PF7'<@8G]
MX_4YHD,M- 0B-3X-C55E;Q[^+K&"+J49YMC9[7LC$C?9NUN(S$\#Z#/&SE^
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
M0PTH^1IU/3L8/%VO)QI+VMIBK6A;FT>"OH3+19@R M1:W5L+A?,P@HKYPEJ
M>ZXM!%?]."HD+S4=F6KT(U%;M'>S_C;+ID^87PM"YR4K6,0XT\L68&=B]C(W
M&*VHF[?%<O.M2>7[Z_P]L(?^3^#OVT +]FRW]S_%UMNS7SRND[M:)XY6)H'=
MS/.V]U7'W]O.O.&$0]ACZG*O9<PJR08W2+(#V_T!0+S,%>-0,5=U?["!YKOY
M_S (-KAX4_9M,VX5N=[UD>N[MA_\Q+A_U=#>0>7S,+ /EE](*S=!T+>'+YZ.
MFCHTDEK+#/+R%8(M@A'TQ*W^_G.(3N%\YKG_D:,_#4?O,_O4]7!#85/3/#Q_
M-["^Q=G61G_#LO?'@?"XUA[7VJV>/>^!BS-S G6K]?2@9G[Q0.176S=.]=JI
M?5B[[Z?)6SP_IJO77A&.+^9*EH*85W!2A6VR73M<W.QH'LQ],*1Z8]K<M^EY
M_5"S:5D_T]P^+<WQG%KU(SQ.-%4AOI2,-&08#FW_XZ90M[G5RX?Z%+8ZUIW\
M"U!+ P04    "  A@))6&X:0@T4%   B&@  &    &-S:7$M,C R,C$R,S%X
M97@Q,V0R+FAT;>U9:V_;-A3]*YR+M@E@O1W7EAT#C9,@ ?H(&@?;/M(B97&A
M2)6BXGB_?I>4Y-I>N[1KTZ9H@MB6R,O+^SCWD)3&OSG.B<BP2"A!9[/7KQ"1
M2953H5&B*-;0NF0Z0S-9%%B@UU0IQCDZ4HPL*$)#-^BYOCOL.\YD#*JFS1@I
M8M3S@H$7^F&$_(,X&L2]"%V\1GM7L^F^E3Y^.YW]>7%2SWIQ=?3J?(HZCN?]
M'DT][WAV7'> ^@#-%!8ETTP*S#WOY$T'=3*MB]CSELNENXQ<J1;>[)V7Z9SW
M/"YE25VB26<R-BWP33&9C'.J,4HRK$JJ#SM7LU-G !*::4XG8Z_]K67GDJPF
M8\)N4*E7G!YV<JP63#A:%G'D%WH$(SWHWI&Y=9:,Z"P.?/_IJ,"$,+%P.$UU
M?. .!A^:%%MDZS99NQ8KRK%F-]3HWM":<(I5/)<Z&^U.\+&113LNE4([*<X9
M7\7/9RRG)7I#E^B=S+%XWJU;X+>DBJ7/1U:Z9']34 WN:7JK'<S9 I0;6^L&
M)@@@(X[Z(%$') 9A9#Y!6%\8$^9;)BRI=78N.8'.DS_.SH_.9\^>!'U_%$1N
M./;F$,KB'@Q/P%:J-@R]R[8I59JE+,$FJ&B^0CJC:)HQFJ)3)J!&&.;H;0H2
M5'U'L[\HOA>5*BL,Y:LENJ2)\:2.]=#O(YE:ERZQFF-!2^?M+:<K]#+1IB?T
M_7M,QE]5";%=?0F.S@5*I!"U$S4-&>M?"E%!'M[10BIK^!0+3!BPTZ7D6*%S
MD;AHST@^>S((0W\TE3EPU\K>!:-]("=T*E5>AR7TG5.42F55KZ#2$ 7C"#JF
M"<WG5-524="%^(0APB5*&6]9T0:3)I6",H3 8$'0R2TPC !NA%ES5I;&=/@W
MD@2H$6544;!YT[[:D]:\;CWC>1>=52RE8@$(!(7=3P&Q36KC91<E%L5P46Q
M(1B@*_?2G;K;H BB []KG,)$%H:XBZ^"3Q?ZL1V;K]"UD$N(U(+&WQ%1!V[T
MW]QD]+66$%86'*]B)C@3U)ESF5QOSF"(>TN]T5'S;]1W7_Q;X5>Y5M\:1;$
M>&(^VBSOIJDSV0OVW;%GNB;-SPQRTE1#6G&^@JK)"VX N0:IHN\KIJA9UTN3
MK!T0[.']^A+J(#C8(^U=NHOP-;J;I ?#J#<RN'],\;=,<?BQ%#.1&@%+AL"+
M&H-#!%IMCMK\8Z8  (6BI4EUUW1CV*_!,# (2 ,Z"LA]V;6CTC69@$)B]Q*6
MQ$"JXC529$&5G;/<(1K7IMSL4VPD#SLFE&8_A>><MM&:2T6H<A+).2Y*&K<7
MFX$QBT!61\#L;XQK8/OV[LD$;WOO9)%BIG(@O;+2,:ZT'&ULCHPI"CZDM>7&
M\&*">9-YV,DUXCTWZ#_=W"8T,[5;AGN#]=;.Y!A25#.EIXFU&X)50J0/.U'G
M;A_ZKO\ G'A9P/$ %AN[6D9;WMSIP=!]\0 \V"KV&U:R.>-,K^*,$> '$##K
MM!^-UO79NNA9M*GMS/7NSMR![X;13^SWKYK:\#.*THT>@-M'JT_0RN=X $?4
M%T]'#8W#&53+/ Z*6U1*S@AZXMN_'^ZB5WK;N^5'>/XT\+Q/XNF[O0_H-8]N
M'AYTW^!\9]F_RZEHZ$;#!^[58S$^%N/'B_%'>S@SCWG_5\']:,L_^2#R5ZLN
MSY[[VN?OW\;BKS?/&E-_9VI]_L7)]4+)2A!S!I8J;@EZXZ'^=D=S$@[!$/O$
MHKEO*7WS94+3LODN8?<M18$7U)DKBJ\=G&JJ8GPC&6G ,!BX86^]D-1MOGVQ
M4;_]L*]3)O\ 4$L#!!0    ( "& DE9#51#9K@,  )P(   8    8W-I<2TR
M,#(R,3(S,7AE>#$U9#$N:'1MO59M;]I($/XK<T1M6@F_D\2Q*5)BH$5*" )'
MO?NX]J[M5>U=WWJ!<K_^QC;DDNC:#Z?FD+#9F=F99Q[-"^/?#&,F"B)21N%+
M?'\'5*;;B@D-J6)$HW3/=0&QK&LBX)XIQ<L2;A6G.0.X-IV1:9O7EX8Q&:.K
MZ'A'B@!&EN-;KNUZ8%\$GA^,7%C=PX?'./K864\?HOB/U:R/NGJ\O5M$,# L
MZZL76=8TGO8*=.] K(AHN.92D-*R9LL!# JMZ\"R]ON]N?=,J7(K7EN%KLJ1
M54K9,)-J.IB,6PD^&:&3<<4T@;0@JF'ZT^ QGAL^6FBN2S896Z=W;YM(>IB,
M*=]!HP\E^S2HB,JY,+2L \^N=8@W+52_LOEN[#G51>#8]KNP)I1RD1LERW1P
M8?K^/R+%\^)))OO4 L5*HOF.M;Z?>4U+1E202%V$KP/\V\WZ="^30AL9J7AY
M",YC7K$&EFP/:UD1<3[L)?ANF.+9>=A9-_POAJXQ/<V^:X.4/$?G+=:PSS]
M';1?Q^U_M!&3%Q'WK,LMD25%Y>SW+XO;10S.A>F,K01)J]\ 8HKURM1_Q1@]
M+#>S90P/<U@LI[/5#!]X7,\^+S;Q;#V;GJKS)HH>'I?Q8OD9YHOU_5ODPP7%
M7 +OLOX9Y5\9I%(T;9=J";I@P$4J52T5:>L!D@,HEC'%L*U1!6N6\T8?E1N-
M+=IU^%(V)GB>9SBC*WOD#OO?5[[C7P$1M#NZMG-U>8D-#7.I*M@8?J?ZH4?S
M>,OW7?_IUMSP0&8@MPIQ(4K= .WFQ$V-XP0<?PCMH!A"7\@B/Z65<8&CB9,2
M&3[&:%I/$1&$<AQ(&UD2!0N1FAVL9ILT'!6*(_4?6@_O_]Q*'4:RPO%UZ \?
MAYUMJV59QM*V<P1K.L>M\&1\YEV'#=*'I85SIV5<*UF"W#'U#%B?$&)&KW6-
MK=K"1\YUP1NX$6*+-NO.YHD.US;FKX)!)E5W/J '8%@%%*8L956"P3RGX\<U
M?V&U_:176LM3C!UO>,)+K@]!P2G6)AJ\/_-=VPO'5FOX*SO@QYBLQD(Z2LFU
M9KB+MFG1OHJ*Z&8+$4/^,XZ,K;9)R5.X25.Y%9JTQ7)WMWH3A AJ@VLS+P@?
M0E1@.?PO1+QLF"YDOX;Z9Z%.\1.2?LL5TD"-5)92!6=V]PF?K9.7BJ(?BA@K
M++E@QO%L']$\7V-'R?,M]GH_UB1G1H)_![X9),,."LA.<AKVV\OW37?T+DRD
MHDP=-YK=K=1^[W:+?/(W4$L#!!0    ( "& DE8E.C@:MPH  $4^   8
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
M%^X>K'B =5Y2,O?W%]1!Z4F 0< :O=^8K4ZJQ6@8,DQ_D[\B1C"K'80TC,*
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
M-E5,T/(ZD63P/ZCC1B$Y]QG[45[<D>#E' @+*L#E5&V&;RX/F4V^AJ L B7
MG\ &B]GL+CLLKK@B@.,D?G"D>RW?,&'8Z0[[QTS1TI9(*V0\</%+]>C[O)1G
MYXY[^_BU9TM1>UZRP.&E(8U405QR);WS+L WP#RZ-AY0)6BO?'8=89B!7'D+
M_+OPE)!A=G8<_C,-2P^;IB-_X+;2T)?LACDU\LXKGM,]ELU:"),VC;1/?=*6
M7EY:V=*=>$NWG[.Z[G1*-W?*2O_*\4:Y"6JHV8CG4^YNJ3].1SQ&IMSB?FE3
MXKF:$GNS([3P?&S+:$M<(1.>U'>4%/';TNA=EHVY_/KIX_O'-(GZ+9/\X7GV
ME-ZP\I,TJ8U!7:4TFIKV^$CGCF)H00FZW^$KMVF-[!ZZ4(*WW3&5(CB#8Y1P
M=S\@\4PUWT9\/-2!$:T*#PC>D]!P,.;_<NJ1=Q$E+X(I7;@OR?]\.Y2N,8=#
M<AG!-&X<\?X:_6?J16*X"RRYXE8H/ OA-=1(R^R:K>%1\;X6DEI(:B'YY(3D
M.^K[MP3L]B_?+LX.)1[!V'[C>]Z/"6>.'4O(^/AX+>E. K)1'.FND0^MS\1\
MXQP5TVOIJ*7CXTK'HZ&_\*4C'Q,C!KEZ^^'SY=NK3Q\/9IF97?(!G6UR!IY^
MQ&KD$@01'I[XX$4@>;@+HHBY^ 80QA+W^3ERU%-1:*5AC+V'1?KM[NK!ZV-G
MFLV!)JVLM+)Z;LKJS 7!N" OG A5UI1%[O5+\L<G3.D?1F7][M"0O*D1<]B8
MQ*GX3R[H)JQYO12(]5SRC@-.6^2-1WU[X7FQ5?T<N>NI**YW=#Z_)?^FCL-N
M92T#P:1U/FQD/!WZ:AVC=8S6,:F.\<-IY(..H7-R1</#ZA>SU1R0"Y]>@QIY
M0T'D@"JA(' B\G5*R9]1#?Z-7/(G7Q>Z?HZ\]50TC-DTV]A[_*E04.L0K4-T
MRN&X&!7&_).ZY/_>?3L[H(8KIF/79V/EQ2//RMY1/CYU<?B<2S(UU375-=5W
MISI@+9A3][>3ULG618N6 56G?WJF?JAVIOX+DZJ1>VY9BB0]25^:(DE'Y1-"
MW=O]C0=.ZS@*.";L5E[7-P-OUA(%#?@2*1__SC%^NOY.]I/Y%@^80=Y/B.N5
MEO?N"*3HUJ)RXZLQ]K#=?M_?_HJ\\/1C.9"#]K!/!^G=.W=#>*2W)*0UT;G5
M:;FLY;*FNJ:ZIOJSHOK3M<'@+N7&1I9#@P# PKZ<8#N!L2+>OD#<])T3P93Z
M#*T:&JY[9W'N_9JA!Q>"B%5)T9^Y)'(=/BM[<49:B!.JU.$HG<PJ/4N>#A4C
M667 LG<?I>--L&UOV9LS=AO.E;3?7T-'R60Q0?#H6,9E<Y]-F(]OUE*?4^VX
MFA+ERYR0%/P@$OT+>>DAOMV&!&87W8?7R:EG\;J)#?NWU^^-^\W'ZIVM@=I=
M&BLUBCUP"_+*K/-P;<H?=(FZ6[GN5G[GXRB;NI6W=+?RI]*M?'5O%3J!KTCV
M.EGS]F6XFN^872=+G:X/)1,V-/-Y3$5:09"VZKS,ZS3+O<X>W(=AX"_(WV"[
MSWU^PQUV77I&HM\==L4[#<MCX<G8?BZM((2WY;DVEU]?R.S 2T+#D%I3V&KH
ML#+X*)W@G*^+3R8=?X.__=(>GB9N;G@KK!'0X<$<?L81T&M>'F !NG J O]C
M)GUB\7+T0)K[F , U>_C3\1S'4PAL.4Q:D0$]DM=#39H%R+VI2_?39%T-I\[
M8$"!;R&?>R!WO=1P:K=[;1H;B$( EAZ<:8*+U=O&%.F8&:/52!F#%/A"1CIF
M,T_!"4[ *7>"$W!P5AQ]R>.%^>&_F O0!*98?>,XWB(8$5-E^O)^.,GTYW)1
M7^6<IF&2"T /"!4;&/-K-/X>L[4$D7M^3(_$7IUZCHU9KOCK\BIJZV[*(S+
M?QP'-P8P. \=&3B"S<9 2\&VBX$A-@-<X,#C6S'(&(\?X(CISDR&/\\B4OO#
MDVFTL(!'='B'@?>!F_VQ]/UP+)V0&06;%YA][GMS<%=NUV 3919>8C=H#,>_
M._ROB-OB]QK0(L40)D$7W$4;AD3S-:/50"PRE'OD!A[!D]BW^ QWTZ\U^;TX
M)\I73SQFBWJJ<3Q;@N,$>I]@)#-<QQ6$SO"( UX5^$E0A]5M8I (;@V$0YE;
M 8>QZ&1"N1]L!WV?C-<F__; 9KHVQ#&<W>F,VN3& P<9UR<57.&A*9Z,E[MJ
M!E*/X! SQG#*3 $M35N@HY(T_*FR6(N!:DCG!EBDYE383$)&YE<M5ARP.04H
M&>C4G#@%-"2JMV60S^E(L1!L@1#\!#B#VSYX,.K7^-XK5:DC-+U0\P+W,,X,
MQY%SKHENBI4B7Y<%G,VN.3 '6P*8*2)G3*BSB>_-2 BZ68@I/E.BE!I?OF$3
M7!0/Y4H#L8#-2ZRI"^V8BR?\I_AE8U X@ VW/QDJC#P&)M8,7$8QL<T"\&)C
M'J^,%;*"!&]2(T$$NT0B?W\@<M=R(B']%GOC2QFY$_%^@=@1>4%?BG7)_0)H
M <<01'C*-@7;>7^29H[US-(,1SX&0A,K K2ZUBWZ(AZ:'7:6Y5H+7<RH&)P$
MV!Q9%D1=<O[?IM%LDA>H$D!I,%"0-]1!_06ST97Y2#R''0<QQ5PO4[&1#-EL
MWG_04_)B+-&-4G&/FV>&'0T$R* 7/;'%+>I8D4,3[9Q:<C628ZQ8C0K^19!J
M9&6H5*<%F<5E 4ZNA62E]O=(R1A7XLY9C$_$T"0*(Y\!QBR)L6QE<WH[BZV1
M[:O*+-AT(58TBV049G\4<#VWGHT++$S]D,-\MR1_U4YD!V .5B'R5RAP/= 0
MTJ@:TX 'L&C[98Y]?/'O'D4+.(TN3"9D7<*P,$O\.5$A:] ,D+&8@7-"$Y O
M#,,:+D8(2?EH4'@6?T0E]<_(15L]UO8O "<@\<$"8N!<X0Z9Q!-(6QYA],8.
MOZ;+4ZTJ+F%4VPS,*,1OY .;!BRS,PM,$CL-5AQ?D-A']2. QF%F\\2.3H8"
MX*XE<.F-0NL*893.-W>H>"K@[@^<27P$QYWZP-,PE91N^$O.X)6/H@N3FWF2
M@QWFGJ:(4=$'4Z4=MXK0)4,OJ3= U(8^M4)U?*KP:VE$)0,SHXN  ; #^.!Y
M1E%!B:+>5<%'3+DE[@/# 8M6\-<]&N52V.8F1[Z1#!LPV+-@JK"UAAS*Y]1=
M$\;Y+4GB'2CMU[*^7$,0/\]^RND!W=\ENF^$,Q1C/>,>:2A)VS_/M3C#BQ\O
M<[832)A26=;K8!)U1W+M3S8NT?F&^6NDUG+44<CJ)7]XL_];7K*0LFMI_4L"
M;MXWS\4"]H>/HXHIH&GV"#&%E&2EOEN*^*U%VBGR"UPG'P-#B+I)67L^CI#4
MC,62(?%.5C#E4ZF7OLNQ-_DU119765;Y.T/RP;(UIL5^([H[[,\M036]D6 C
M*6ER%1Q4-,C7DM'EO3DR,9GW!^#[AXW\WEL[9S)!977'JA%JX+2(*!R"&SO.
MJ9<YIQR-H5IBA:5 IRO">J29Z/.S+8&P]HX5B5V69<@"/3&< )X*_<HK9Q,"
M(INY<10LM8_%5TG$+*@@/XGL&KZ  :!E;A;OF0C6+8KNW*@8/E$!^J6Z(O+9
MC$=E-;IWLD9KNRS)>IFPOT4E/\8X!#*JK%8M\!>S0Q:-R,=.D#\C5W#LNAN6
MB!L;]78)W"G[%>,BRW-F2<4H3 " )^(']K;XDK48Y PKB/(62;9)@C1((TV(
MV2[[, Y+YI$A P5<AD$FD;]=P F;;I.$P_1)EIQ2,4_?[C=3M!!5$ZD/KJ0^
M=PW/[V]K*H?Y:5FJ2 BT!0]8LL4W\\3>K*9-O*5D8"AIX##C4Y#,8G_D,M0P
M'0;>,=,A'09 %W-%%%.D^=2VJF(H.\D_%@(NZ].?*K,J.=%B,QUV<SQV[FI7
MIHZ#M7,/V"VD/T!+QTG2)?+LVS]8F[M,#+%B$CE;$C#EPDLR-H]5%UA<2Z6K
M!/4) 'T"0)\ T"< Q F MCX!H$\ 5. $P&9I?L<S](^L<Z1Q4I,E?]* 76M\
MK53-Q:4CB:$E37X1+1'E;+B?(NQ,#KPE8F7RJ3)/V*2F96+=?FGB*84\"57
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
M,+3/'-<)'<\-[O&-T(KEC&<X4R]=O=9Z0@4'GALZ[A3-:.H.;1\-T(:1]3%
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
M>$J5)^)+.\)8"@.@1.2J]4WS4B8E\]>FI>[]I2N[='^7+O/^$U!+ P04
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
MO4@,BHM$/7:IZ=#L]G\K9Y\[199(:RDECE:9?X]*5+O/J<_*)KK<4.N&6E=
MK;G\K/,Z#\+\+F3N28[*:5ISJJFY1;\H>+^3T2!KAQV%\'1-FR'H#CCP&<T-
M26](^M:ZFQH3@OL_\?5'+?%NZ&A#1W>T 6?JAGUIFY-RKB;.EUF@>[;$ +A;
MQ7'H\ 2G$I/$8HU'4S9)AQ=@F+'B_G'70^=+$UR5" 5Y-O)UPQ?WYHNF[IVH
M;:9<;!F](<U2M"35PZ'"CD/S=H8/G&"!Q,S07%+C8[_4B\G>.!B7!S4JP8^U
M(?T-Z=]V$2QSV\K(X2U$JR-U1[A4,3EWQJLM1J%ZTN#9-M]R^X,J5,IMAAO"
MWA#VK=U [W;-Y)2 <#W-MP)^V-!V2[C?A,(Y;(SU=%<&4XPI5L#IDH+BJL@
M*T%-?G.,=,,7&[Y8 5_,)<3O>I*00QRSK.1L*6]";0A\;6GC'T'@036NKZW#
M@%UEX:^*/5 \]$8&=JK<WZUH)P)%FL1('_[9"1I&G:-21\@&&]+<D.87A:87
M-=<A"1HU/7:HZ]FD4+8<Z7'7!US@IFXJ3V[8S9U[[^9Z5I[<?STA=2XJ=)M)
M8+@RA[!>XC[&] I;\#1V,Y7<47N;::>ZI&/N!"5JP[F5E,979M_ 0/_27A3W
M.G0QTU^K^/H'+S:=7C:EZNO*7;<X)+YSR],DIWQV6I9>:*7<2VRF<U\6<!_5
M\0UUXFL+VZKGPA0]7R!'LA 9% T*.D0=)+2Y;R"^S,U8W>D4B<^><S=8?YBU
M<V#--"UQ'^;,SKV.Z/!'_&G)\=$3DX]5163+;7+7F$9F1"\IO/9XHDRH-IU/
MD])^M_OL^L3I?$PGRP;W;S \@R]Q<U_A+28IWSPXP\:9?!A1@"$ *EB7(S0D
MJ-FI.[V*W0]\TT9JM9FKSNFJIE6<>YX,:YEX&T)6U(L VWVX%[#[1PTFT+15
M6'1>E$*!A2RH(+8: :[P)^S ,3<B<F#@C'9 3&2!]>)X7(O/[K6UZ<V1 =^D
MCZVPH<;26A]>##MW-I!.)%>.NBN(L-N<^CRFL:BEBRKPD:MV/]L6HQS2#/;*
MU:]VGXG%&S[2&GT#<G#5MN4\Y!Q.TFI"5BB1->L55WE<69,)O(_)-X_N-)W6
MV,E>\2';.LA[&*(J5]P?["/P<"H)W^&.+B#62Z"(1>#^65M=IMJ=O*53D6/?
M46,*JC)RL;@L4QR.@W&1?@GT8'$#;M-'X_OBYA"]?>P94. A##JB0$UQ:%N;
MWCR9_H2=,2H3A<>@,VHC?.4.<F#K'%70<64_L.M:DU-K?_S$._1-)/LJ.P.<
M%5= !^0>.*WVC03\74Z4WH<)%R[T%JSH1%/9E67 #U2PT43;9$F%(^D5M3%M
M6#-MFUPZ^?,K,F7A_3$&!44+V-67W 3F+0:'*Y9.9R RKYR;>)%HA8/CJ&=%
M"F@$?@R[T'NTW,%I\7.1/[(4#[Z]_3TFB<3-PU-4!QML^$T">=!H/I!>6 ?6
M<'Q3;4N'/T)#SDD[4A>AV)A_;NBQYH1E<V,DRDKWT]R$[B'N$X'GT%W;?-?'
M9"&--5W@,]>XI=&@) >7D8SO.C$";"HR,',0F-2-A'OXTP >;523:=RY,5Q2
MQI!)^ RJ%E]R9SBP 89/Z2%$?Q@+T.#E:4J<VTM9Z+\;,O=CNLL,L$%8#\-R
MU')+V3'(=<6]N!Z2*R\]2M$3H+L 6.EHO.\ AVNJO#BIXM#+)_!;JP7;RL*V
M1JZ;&S\4=;D0-2&,5M(E&H1!FJ@%'%6@5RJX6^A;*+1S"J .(F2G*QX<2\UU
M(U?HI-2EL+6/8#71J*8S'II.9"]ABX6%]D2,]SN >241R:S%W7$G,C/]F'2R
MQQD4(7'B!,[^3EL394CTV=S#0:Q*#]&])D$'Z/:V$[?Y;C5H%DXCL2 %PJVV
MT#@]%%N[C^>D K>"D7]2NBTX1M7./ \>M8)3>5/8?)WE-612"5X]$EM["V%H
M&_4%T.#%',#K?,:K:6A\:QC'V 8F@/*Z+5T$J&,*M)\2E'TJ<$&8 Z+&LVH'
MC5P7J@X8_JJ&5A@-@?&:D"KM,]G<K?;KA/P["Z7,D]C:OP&) =;NN*,([5UW
M=3W:<=S:.SXKL+#5;5@;V%B94+I9)D5>N7+T&]C8=3*?>@WL-"$UCZ2.2(H>
M!/W%#2313P</T7"GS129_9,J/%$-54K"H='=EZW!-5-A*W+4#0-K) 5F.44U
M#$3[(@,#",3?@L2RC.Q 4)+<L0H[ TI;^91_8,(4W#S*'02B,Z5%6.6+K_E2
M7^QSYF(8C:O1V![-51I69>J*FJBB*S=0H>#MJ#"4O [H!;U/B>2Q]:ER/GS'
M#IO'0.)=*5V@6V>XO\W<=L9^/_NSH!#&@ZWM*J1%JH-LE@X0+BA@V1]TH9M
M!]R.R&+QH2&VN4<;!.FF&4$ LS^;ZL@MH#($#0$R"8SC>J!:U:/^4::L>AC]
MH..\2,VQ.!MV-LO;(IB_KS-GQS1;'OH&[VN@K$1<R"%>YT7WJ%"DITBF>*,/
M7@&:%F3=^,,[Y4+[9?%^WH# &2.).A66LR.[F"N[/,P<)X#21(,I<5[P2];U
MF0V)+G)6R:(W6TJ9F^X+%K)H(MQ#%"U\%T .C%.[XK= B,RNF"SL*L XV/>Z
M;-H!6U/ABW/ A(<$0,I/_6'H$">RI#9D%#QQ8@\[B$8<L:0WR"G@KG8^6>@/
MIH<CH9-DW<GT5./WNH*UB2T]MZ#&*O17B:6/8W%<>'.I5&$+-\08LHBIK<2:
M)J!WO/8=PX9.6%H^SX^='!ED8_W(W)HN-,X)F3@F]:"@PN^)IAEAW@*/H!-G
MY;K.-Y<G;%)JFY3:/0Q"C,'.M_]1/E@/[(51V[8PWFEDUQ%SJ(LT[.Q(6FB^
M/2,9Y[+BUHO43B:1-3"R.W[*NI-#]*C.85WB*Z7-5IWJ_]GU5W0=*-%+^/H]
M%;\@<MHZT=TVI+?J%$+B76&5BIKOK>)TH1GC79!UX?)MI>(K+W5[/+AJI38G
M*.@</-AC$M@' ',A=I@FP3Y+,&,FITWG4XK1LZKP164=_RP@QDZGD$T!V*;U
MT"*FV-Q:]?U=*+<I]=QP^LHX79>=IM[( ]Z!#\Z&M"S1OHD"P25^?.T\OSG;
M<:-]I2E;&BZH%VJZDS65^$/*%3'WRV9@_!H<LF;4Q]RG>\':*%(&"ED754?"
M^!"@#.Z!B"C1PX* *V.&0]3 E&(BSY(+*Y!1T3+$CI.N(3,%?C/7]:SIV>@N
MA[ZV=2-&N"D=9JI.&_) *AD/O>(-P7E=S<I<E'?1 '2;!;J)56-D4%1@.6@/
M4@F[PJM3.C'=>4.NL>.:^]E=/4W8EYFVV=,=Z1@NJ&GC!]CGSE<#^<H@JBUJ
M+SMY^#;5][ZKTL<29BH';S**YVWBML@ON,^"6^)1@YVVAR8&@*DM*.?*V*B-
M,(4,RFZ)?=MZ%C/VK>O PU-PQ%AQI-#'I^AL/E=_1=V<AFUR&.XL1IU4-4%!
M=US0+5CA5&TG"C+\ZT&I 3/?Q_5X\8$X;Y)*KG-\;6?S\'->ZUK<3/?HY7T[
MT#N:FP85L,UZN::%HW\-.G!O&S2!WQ4X=FV1).>PB;YQSN &;=>%V-5*N8Q0
M4SSCNTWYQOU>^?'%2;J '<A=E:"V28TK]9OBA+5/^GJA35:D2_0V5\;XM:0F
MJ3F!PR6$L)S:%_*2)=E"&S4+1?W'2?N$*\( '9'3)IF[_\5_BER4E=G2NJ>B
M)M?8XN6:&VJ:)-#NSH_7I'==J7)XS+1SX@2<$;J["9^=FS<6;TU9<;U&)]W)
MI9.JH1-7(Q"*/H['^!!T2S9T<8*3.C/WBCBRR6M*1+7W,\3B8T'^SP4"4C;I
MDIFKUSVAN+L2_.L1E]UY$K *8PN847D#Y"+V=GIONKL'@(BG'70NXQYW7H=#
M5BTJOX=;W$FL/1>O7:>4A-,2KD1]3027O_2[=)=_1NY&$O?O,_?OSY$7TD1>
MWP'>=W>:2U6H\H\NNED3I/?;8FJ6?T$U>\?9:'D\F5M+<\D/AR,JU!0NN47E
M$DVU]F :%F4C(\_<Q4Z:8LVW="\6KU5PA=2P([VKYMH97'0U?8A[US<)ITW"
M:;T23JOEMV-@N$'U$)QT-^'YSE2!/%M[L?5*_ %&))VW0!MFC>[3_NY0>2+X
M?K$-27X9'E_'NT2+].?>K%X]S@$$+"E]K4B"8DG?Q3KYVDNP_5#:]$M5YY71
MZ4V:<WM@TBG\,ZKR[.7_ U!+ P04    "  A@))6I;@;;M0%  #:1   %P
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
MV2\*I\H)/KSA!!4ML=U>WF5@9'6-4,^<VI$? W+X'U!+ 0(4 Q0    ( "&
MDE9L2P74Y2T  )$@ @ 1              "  0    !C<VEQ+3(P,C(Q,C,Q
M+GAS9%!+ 0(4 Q0    ( "& DE;GVXF=?28  #-Y @ 5              "
M 10N  !C<VEQ+3(P,C(Q,C,Q7V-A;"YX;6Q02P$"% ,4    "  A@))6+?1
M*=&"  #,>@@ %0              @ '$5   8W-I<2TR,#(R,3(S,5]D968N
M>&UL4$L! A0#%     @ (8"25@"%$B"C&@$ =JT1 !4              ( !
MR-<  &-S:7$M,C R,C$R,S%?;&%B+GAM;%!+ 0(4 Q0    ( "& DE;J?00K
MF,(  -((#@ 5              "  9[R 0!C<VEQ+3(P,C(Q,C,Q7W!R92YX
M;6Q02P$"% ,4    "  A@))6D?,?^#E=" !17%0 %0              @ %I
MM0( 8W-I<2TR,#(R,3(S,7@R,&8N:'1M4$L! A0#%     @ (8"25DR_??JP
M"   OR\  !@              ( !U1(+ &-S:7$M,C R,C$R,S%X97@Q,F0Q
M+FAT;5!+ 0(4 Q0    ( "& DE8V<F>5M0@  *LO   8              "
M ;L;"P!C<VEQ+3(P,C(Q,C,Q>&5X,3)D,BYH=&U02P$"% ,4    "  A@))6
MQZE[]K,%  "J'@  &               @ &F) L 8W-I<2TR,#(R,3(S,7AE
M>#$S9#$N:'1M4$L! A0#%     @ (8"25AN&D(-%!0  (AH  !@
M     ( !CRH+ &-S:7$M,C R,C$R,S%X97@Q,V0R+FAT;5!+ 0(4 Q0    (
M "& DE9#51#9K@,  )P(   8              "  0HP"P!C<VEQ+3(P,C(Q
M,C,Q>&5X,35D,2YH=&U02P$"% ,4    "  A@))6)3HX&K<*  !%/@  &
M            @ 'N,PL 8W-I<2TR,#(R,3(S,7AE>#$U9#(N:'1M4$L! A0#
M%     @ (8"25E5+]S24(   \\H! !<              ( !VSX+ &-S:7$M
M,C R,C$R,S%X97@Q9#$N:'1M4$L! A0#%     @ (8"25I"1G!J8#   TRL
M !<              ( !I%\+ &-S:7$M,C R,C$R,S%X97@R9#$N:'1M4$L!
M A0#%     @ (8"25G1!J=SU&@  4*@  !<              ( !<6P+ &-S
M:7$M,C R,C$R,S%X97@R9#(N:'1M4$L! A0#%     @ (8"25J6X&V[4!0
MVD0  !<              ( !FX<+ &-S:7$M,C R,C$R,S%X97@X9#$N:'1M
64$L%!@     0 !  1@0  *2-"P    $!

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